From e7897f9b18fd8a9a0d32b45e9c5faf6440f615aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E7=A5=A5=E4=BF=8A?= Date: Mon, 15 Jan 2024 17:48:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B8=AF=E6=BE=B3APP=E2=80=94=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=20https://jira.shanqu.cc/browse/GHZS-3815?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 41 +- .../internal/res/values-zh-rTW/strings.xml | 7 + .../com/gh/common/provider/BuildConfigImpl.kt | 2 + .../java/com/gh/common/util/LogUtils.java | 1 + .../personal/HaloPersonalFragment.kt | 37 +- .../main/java/com/halo/assistant/HaloApp.java | 15 +- app/src/main/res/values-zh-rTW/strings.xml | 538 ++++++++++++++++++ app/src/main/res/values/strings.xml | 13 + dependencies.gradle | 3 + .../src/main/res/values-zh-rTW/strings.xml | 46 ++ .../src/main/res/values-zh-rTW/strings.xml | 3 + .../src/main/res/values-zh-rTW/strings.xml | 9 + .../src/main/res/values/strings.xml | 14 +- .../src/main/res/values-zh-rTW/strings.xml | 3 + feature/vpn/src/main/res/values/strings.xml | 2 +- gradle.properties | 4 + .../src/main/res/values-zh-rTW/strings.xml | 41 ++ module_common/build.gradle | 1 + .../common/base/activity/BaseActivity.java | 14 + .../gamecenter/common/loghub/LoghubHelper.kt | 14 +- .../gh/gamecenter/common/utils/EnvHelper.kt | 21 +- .../src/main/res/values-zh-rTW/strings.xml | 92 +++ .../core/provider/IBuildConfigProvider.kt | 4 + .../src/main/res/values-zh-rTW/strings.xml | 9 + module_core/src/main/res/values/strings.xml | 5 + .../src/main/res/values-zh-rTW/strings.xml | 42 ++ .../gamecenter/login/view/LoginFragment.java | 6 + .../src/main/res/values-zh-rTW/strings.xml | 20 + .../src/main/res/values-zh-rTW/strings.xml | 14 + module_setting/src/main/AndroidManifest.xml | 5 + .../setting/view/LanguageSettingActivity.kt | 33 ++ .../setting/view/LanguageSettingFragment.kt | 46 ++ .../setting/view/SettingsFragment.kt | 65 ++- .../res/layout/fragment_language_setting.xml | 74 +++ .../src/main/res/layout/fragment_setting.xml | 8 + .../src/main/res/values-zh-rTW/strings.xml | 84 +++ .../src/main/res/values/strings.xml | 18 + .../src/main/res/values-zh-rTW/strings.xml | 68 +++ scripts/build_with_simple_backup.sh | 57 +- scripts/jenkins_build.sh | 22 +- 40 files changed, 1424 insertions(+), 77 deletions(-) create mode 100644 app/src/internal/res/values-zh-rTW/strings.xml create mode 100644 app/src/main/res/values-zh-rTW/strings.xml create mode 100644 feature/new_feedback/src/main/res/values-zh-rTW/strings.xml create mode 100644 feature/pkg/src/main/res/values-zh-rTW/strings.xml create mode 100644 feature/realname-window/src/main/res/values-zh-rTW/strings.xml create mode 100644 feature/vpn/src/main/res/values-zh-rTW/strings.xml create mode 100644 libraries/Matisse/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_common/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_core/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_core_feature/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_login/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_message/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingActivity.kt create mode 100644 module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingFragment.kt create mode 100644 module_setting/src/main/res/layout/fragment_language_setting.xml create mode 100644 module_setting/src/main/res/values-zh-rTW/strings.xml create mode 100644 module_setting_compose/src/main/res/values-zh-rTW/strings.xml diff --git a/app/build.gradle b/app/build.gradle index 6009c22c81..e41dfda5f6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -95,8 +95,10 @@ android { buildConfigField "int", "ACTIVATE_REPORTING_RATIO", "${ACTIVATE_REPORTING_RATIO}" // All third-party appid/appkey + buildConfigField "boolean", "IS_GAT_APP", "false" buildConfigField "String", "API_HOST", "\"${API_HOST}\"" buildConfigField "String", "NEW_API_HOST", "\"${NEW_API_HOST}\"" + buildConfigField "String", "LOG_HUB_PROJECT", "\"${LOG_HUB_PROJECT}\"" buildConfigField "String", "VAPI_HOST", "\"${VAPI_HOST}\"" buildConfigField "String", "WECHAT_APPID", "\"${WECHAT_APPID}\"" buildConfigField "String", "WECHAT_SECRET", "\"${WECHAT_SECRET}\"" @@ -157,7 +159,7 @@ android { } } - flavorDimensions("env") + flavorDimensions("env", "region") sourceSets { publish { @@ -175,6 +177,12 @@ android { gdt { java.srcDirs = ['src/main/java', 'src/gdt/java'] } + gat { + java.srcDirs = ['src/main/java', 'src/gat/java'] + } + cn { + java.srcDirs = ['src/main/java', 'src/cn/java'] + } } productFlavors { @@ -242,6 +250,37 @@ android { buildConfigField "String", "DEV_CSJ_APPID", "\"${CSJ_APPID}\"" buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\"" } + + sm { + dimension "env" + + buildConfigField "String", "DEV_API_HOST", "\"${API_HOST}\"" + buildConfigField "String", "NEW_DEV_API_HOST", "\"${NEW_API_HOST}\"" + buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\"" + buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\"" + buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\"" + buildConfigField "String", "DEV_CSJ_APPID", "\"${CSJ_APPID}\"" + buildConfigField "String", "CSJ_APPID", "\"${CSJ_APPID}\"" + } + + // 港澳台 + gat { + dimension "region" + + applicationId rootProject.ext.applicationIdGat + + // 支持繁体 + resConfigs "zh", "zh-rTW" + + buildConfigField "boolean", "IS_GAT_APP", "true" + buildConfigField "String", "LOG_HUB_PROJECT", "\"${LOG_HUB_PROJECT_GAT}\"" + buildConfigField "String", "API_HOST", "\"${API_HOST_GAT}\"" + buildConfigField "String", "NEW_API_HOST", "\"${NEW_API_HOST_GAT}\"" + } + + cn { + dimension "region" + } } } diff --git a/app/src/internal/res/values-zh-rTW/strings.xml b/app/src/internal/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..2b3db973b4 --- /dev/null +++ b/app/src/internal/res/values-zh-rTW/strings.xml @@ -0,0 +1,7 @@ + + + 從SD卡安裝 + 安裝 + 卸載 + 啟動 + \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/provider/BuildConfigImpl.kt b/app/src/main/java/com/gh/common/provider/BuildConfigImpl.kt index 4a35eab467..1f35b6a8b9 100644 --- a/app/src/main/java/com/gh/common/provider/BuildConfigImpl.kt +++ b/app/src/main/java/com/gh/common/provider/BuildConfigImpl.kt @@ -19,6 +19,7 @@ class BuildConfigImpl : IBuildConfigProvider { override fun getExposureVersion(): String = BuildConfig.EXPOSURE_VERSION override fun isDebug(): Boolean = BuildConfig.DEBUG + override fun isGATApp(): Boolean = BuildConfig.IS_GAT_APP override fun getApiHost(): String = BuildConfig.API_HOST @@ -31,4 +32,5 @@ class BuildConfigImpl : IBuildConfigProvider { override fun getVApiHost(): String = BuildConfig.VAPI_HOST override fun getVDevApiHost(): String = BuildConfig.DEV_VAPI_HOST + override fun getLogProducerProject(): String = BuildConfig.LOG_HUB_PROJECT } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/LogUtils.java b/app/src/main/java/com/gh/common/util/LogUtils.java index 94da90aec9..420b6a080b 100644 --- a/app/src/main/java/com/gh/common/util/LogUtils.java +++ b/app/src/main/java/com/gh/common/util/LogUtils.java @@ -259,6 +259,7 @@ public class LogUtils { private static void uploadToReservation(JSONObject object) { Context context = HaloApp.getInstance().getApplication(); try { + object.put(KEY_EVENT, "appointment"); object.put("version", PackageUtils.getGhVersionName()); object.put("channel", HaloApp.getInstance().getChannel()); object.put("dia", MetaUtil.getBase64EncodedAndroidId()); diff --git a/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt index ac971fc08f..0360aaa64b 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/HaloPersonalFragment.kt @@ -65,6 +65,7 @@ import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import splitties.views.dsl.core.endMargin import java.lang.ref.WeakReference +import java.util.* import java.util.concurrent.TimeUnit import kotlin.math.abs @@ -141,10 +142,10 @@ class HaloPersonalFragment : BaseLazyFragment() { if (DarkModeUtils.isFollowSystemDarkModeFromSp()) { DialogHelper.showDialog( context = requireContext(), - title = "提示", - content = "切换模式后,将暂时关闭深色模式跟随系统切换功能,您可以前往“我的光环-设置”再次开启。", - confirmText = "确定", - cancelText = "取消", + title = getString(R.string.hint), + content = getString(R.string.switch_theme_mode_dialog_content), + confirmText = getString(R.string.confirm), + cancelText = getString(R.string.cancel), confirmClickCallback = { NewFlatLogUtils.logHaloSelfNightModeOsDialog("确定") DarkModeUtils.updateAppDarkModeStatusToSp(!mIsDarkModeOn) @@ -356,9 +357,9 @@ class HaloPersonalFragment : BaseLazyFragment() { ) { badgeEntities: List -> mStubBinding.personalBadgeIcon.setImageURI("") if (badgeEntities.isEmpty()) { - mStubBinding.personalBadgeCountTv.text = "我的徽章" + mStubBinding.personalBadgeCountTv.text = getString(R.string.my_badge) } else { - mStubBinding.personalBadgeCountTv.text = "${badgeEntities.size} 徽章" + mStubBinding.personalBadgeCountTv.text = getString(R.string.badge_count, badgeEntities.size) for ((_, _, icon, name, _, wear, _, actions) in badgeEntities) { if (wear) { ImageUtils.display( @@ -404,9 +405,9 @@ class HaloPersonalFragment : BaseLazyFragment() { } mHaloPersonalViewModel.applyOrReceiveBadge(badge.id, { if ("self" == badge.receive?.type) { - ToastUtils.showToast("领取成功") + ToastUtils.showToast(getString(R.string.ling_sucessfully_toast)) } else { - ToastUtils.showToast("申请成功") + ToastUtils.showToast(getString(R.string.apply_successfully_toast)) } // 跳转到徽章详情 DirectUtils.directToBadgeDetail( @@ -416,9 +417,9 @@ class HaloPersonalFragment : BaseLazyFragment() { ) }, { if ("self" == badge.receive?.type) { - ToastUtils.showToast("领取失败") + ToastUtils.showToast(getString(R.string.ling_failed_toast)) } else { - ToastUtils.showToast("申请失败") + ToastUtils.showToast(getString(R.string.apply_failed_toast)) } }) } @@ -504,7 +505,7 @@ class HaloPersonalFragment : BaseLazyFragment() { } else { DialogUtils.showSignDialog( context, - "今天已签到,明天再来吧~", + getString(R.string.sign_dialog_content_3), getString(R.string.sign_dialog_content, signEntity.serialSign), getString(R.string.sign_dialog_content2, signEntity.experience), getSignSkipText(signEntity.title) @@ -522,7 +523,7 @@ class HaloPersonalFragment : BaseLazyFragment() { } private fun getSignSkipText(text: String): String = - if (TextUtils.isEmpty(text)) "去首页看看" else text + if (TextUtils.isEmpty(text)) getString(R.string.go_to_home) else text @SuppressLint("SetTextI18n") private fun changeLoginState(isLogin: Boolean) { @@ -590,8 +591,8 @@ class HaloPersonalFragment : BaseLazyFragment() { } mStubBinding.userIdTv.textSize = 11F - mStubBinding.personalUserName.text = "立即登录" - mStubBinding.userIdTv.text = "解锁更多精彩内容" + mStubBinding.personalUserName.text = getString(R.string.login_immediately) + mStubBinding.userIdTv.text = getString(R.string.login_immediately_hint) if (mStubBinding.loginMessageHint.visibility == View.VISIBLE) { mStubBinding.loginMessageHint.visibility = View.GONE @@ -679,20 +680,24 @@ class HaloPersonalFragment : BaseLazyFragment() { } } mStubBinding.feedbackItem.run { - titleTv.text = "帮助与反馈" + titleTv.text = getString(R.string.help_and_feedback) iconIv.setImageResource(R.drawable.ic_personal_feedback) root.setOnClickListener { NewFlatLogUtils.logHaloSelfClick("其他功能", "帮助与反馈") DirectUtils.directToHelpAndFeedback(requireContext()) } + // 港澳台APP不显示帮助与反馈 + root.goneIf(EnvHelper.isGATApp) } mStubBinding.shareGhItem.run { - titleTv.text = "分享光环" + titleTv.text = getString(R.string.share_halo) iconIv.setImageResource(R.drawable.ic_personal_share) root.setOnClickListener { NewFlatLogUtils.logHaloSelfClick("其他功能", "分享光环") startActivity(ShareGhActivity.getIntent(requireContext())) } + // 港澳台APP不显示分享光环 + root.goneIf(EnvHelper.isGATApp) } mStubBinding.userProtocolItem.run { titleTv.text = getString(R.string.setting_user_protocol) diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index 425afad0c4..b5e0630df6 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -50,6 +50,7 @@ import com.gh.gamecenter.common.image.EmptyDecoder; import com.gh.gamecenter.common.tracker.Tracker; import com.gh.gamecenter.common.utils.DarkModeUtils; import com.gh.gamecenter.common.utils.DeviceUtils; +import com.gh.gamecenter.common.utils.EnvHelper; import com.gh.gamecenter.common.utils.ExtensionsKt; import com.gh.gamecenter.common.utils.ImageUtils; import com.gh.gamecenter.common.utils.PackageFlavorHelper; @@ -299,11 +300,15 @@ public class HaloApp extends MultiDexApplication { // 获取/更新 GID 和 读 SP 的操作不需要 delay DataUtils.getGid(); - OAIDHelper.INSTANCE.getOAID(this, s -> { - setOAID(s); - MetaUtil.INSTANCE.refreshMeta(); - return null; - }); + // https://jira.shanqu.cc/browse/GHZS-3765 + // 港澳APP去掉oaid的获取 + if (!EnvHelper.isGATApp()) { + OAIDHelper.INSTANCE.getOAID(this, s -> { + setOAID(s); + MetaUtil.INSTANCE.refreshMeta(); + return null; + }); + } // 获取 settings 配置 ExtensionsKt.doOnMainProcessOnly(this, com.gh.common.constant.Config::getGhzsSettings); diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..97bbc152ad --- /dev/null +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,538 @@ + + + + 光環助手 + + + + assertk.Assert + + 100% + 修改昵稱 + 請輸入昵稱 + 取消 + 保存 + 我是字符串 + 我關註的遊戲 + 以下是已關註的遊戲 + 全部開始 + 搜索中... + 熱門搜索 + 熱門標簽 + 歷史搜索 + 我關註的遊戲 + 請輸入搜索關鍵字 + 搜索 + 44.5% + 官方版 1.2MB/s(剩3分30秒) + 加載失敗,點擊重試 + 新手攻略 + 全部 + 關註 + 搜索遊戲 + 復製 + 請輸入關鍵字 + 搜索 + 加載完畢 + 活動 + 沒有找到符合條件的遊戲~ + 換個條件篩選一下試試看吧 + 趕緊發表一個評論吧~ + 投票 + 正在掃描手機中的安裝包 + 停止掃描 + 熱門遊戲推薦 + 遊戲下載 + 遊戲更新 + 已安裝 + 專區 + 雲存檔 + 詳情 + 評價 + 論壇 + 請輸入搜索關鍵字 + 搜索 + 歷史禮包 + 最新 + 關註 + 存號箱 + 遊戲 + 首頁 + 我的光環 + 說點什麽吧 + 發表評論... + 從手機相冊中選擇 + 用戶協議 + 隱私政策 + 個人信息收集清單 + 接入第三方SDK目錄 + 權限申請與使用情況說明 + 兒童隱私保護聲明 + 0.0M + 長按二維碼查看詳情 + 分享自『光環助手』App + 添加選項 + 我要評論 + 正在為您更新,請耐心等待 + %s下載地址: + %s下載地址: + 前往第三方網站下載遊戲 + 提示標題 + 提示內容 + 知道了 + + 網絡錯誤,點擊重試! + 目前還沒有評論 + 沒有更多評論啦 + 安裝包清理 + 選擇安裝包 + 查看對話 + 裁剪圖片 + 開服表 + 評論詳情 + 選擇頭像 + 設置 + 分享卡片 + 分享卡片 + 分享光環 + %s - 求版本 + 遊戲上傳 + 歷史版本 + 我的遊戲評論 + + 資訊 + 攻略 + 下載管理 + + 編輯資料 + 一鍵刪除(%1$d個,釋放%2$s) + 保存 + + + + + + + + + + 起一個難忘的名字吧 + 選擇地區 + 分享 + 換圖 + 頭像 + 昵稱 + 地區 + 性別 + + + 輸入你的常用QQ或者郵箱 + 聯系方式僅用於提交反饋時自動填寫相關信息,方便客服及時跟進和答復。 + 請輸真實姓名 + 請輸入18位真實身份證號碼 + 根據國家網信辦《移動互聯網應用程序信息服務管理規定》要求,內容與社區類移動APP產品必須完善實名認證機製,維護健康、有序的信息環境以及保障網絡安全。 + 工具 + 帖子 + 資訊 + 視頻 + 遊戲單 + 原創 + "查看評論(%d) + 禮包內容 + 領取規則 + 使用說明 + 評論加載失敗, 請檢查網絡設置 + 取消關註 + 取消關註 + 已取消關註 + 取消關註失敗 + + 已淘號:%1$s]]> + 已領取:%1$s]]> + 禮包碼:%1$s復製成功
請盡快進入遊戲兌換]]>
+ 禮包碼:%1$s復製成功
淘號禮包不保證可用,請盡快進入遊戲嘗試兌換]]>
+ 禮包碼刪除之後不可恢復,請確定您已經兌換過該禮包]]> + 請先安裝《%1$s》 %2$s]]> + 安裝《%1$s》]]> + 安裝《%1$s》%2$s]]> + + 未安裝 的應用,確定刪除嗎?]]> + 找到%1$d個安裝包,占用%2$s空間]]> + + 禮包詳情 + 5618b86e8ab49e17088b4575 + + 版本:V%1$s | %2$s + + 了解更多 + 小助手邀你共建良好的社區氛圍,請通過「光環助手禮儀測試」後發言。 + + 請輸入關鍵字 + 需要什麽工具,點擊這裏反饋 + 此遊戲有問題?點擊反饋 + 熱門評論 + 最新評論 + 全部暫停 + 全部開始 + + 未開搶 + 領取 + 淘號 + 已領光 + + 已下架 + 再領 + 再淘 + 查看 + activity_grant + + 已安裝 + 未安裝 + 找不到想要的遊戲? + 置頂 + 熱門 + + %1$d票 + 搜索 + + 取消失敗,請稍後再試 + 光環助手接入第三方SDK目錄 + https://resource.ghzs.com/page/third_party_sdk/index.html + 光環助手評論規則 + https://resource.ghzs.com/page/rule_page/comment_rules.html + 取消收藏 + 取消收藏失敗 + 收藏成功 + 收藏失敗 + 提交中... + 投票成功 + 請輸入名字 + 保存圖片 + 選擇性別 + 修改昵稱 + 聯系方式 + 昵稱不能為空 + + + 安裝包不能大於%1$dGB,請重新選擇 + + 我的收藏 + 別話癆哦~休息一會再來評論吧~ + 賬號異常,暫時無法發表內容 + 評論內容可能包括敏感信息,請修改後再發表 + 提交失敗,請檢查網絡設置 + + 回復%1$s: + 正在提交 + 包含違規內容,請修改後重試哦 + 未選擇 + 未選擇 + 未填寫 + 社區 + + 上拉查看歷史禮包 + 創作不易,留言點贊一下 ~ + 到底了哦~點擊回到頂部 + 邀請 + + %1$s 回答 + %1$s 贊同 + 已投票 + 投票 + 禮包中心 + 已邀請 + + 分享 + 更多 + + 收藏 + 關註 + + 光環助手 - 回答詳情 + + 邀請成功 + + 我的論壇 + 已關註 + 回答 + 發布 + 請撰寫回答... + 邀請回答 + 撰寫回答 + 修改回答 + + 已經點贊了喲~ + 不能重復點贊哦 + %1$s邀請你回答:%2$s + %1$s回答了:%2$s(%3$d個贊同) + https://and-static.ghzs.com/app-logo.png + 光環助手,快樂前行的遊戲問答社區 + 遊戲動態 + 資訊中心 + 這兒還沒有內容噢~ + 關註幾個可能感興趣的遊戲吧 + 圖片上傳中... + https://www.ghzs.com/question/%1$s?invite=%2$s + https://m.ghzs666.com/question/%1$s + https://www.ghzs.com/question/%1$s + https://m.ghzs666.com/answer/%1$s + https://www.ghzs.com/question/%1$s?answer=%2$s + 登錄失敗 + 最多只能選擇5個標簽 + 至多上傳70張 + 至多上傳20個 + 提問 + + 至少輸入6個字 + 簽到成功,獲得經驗:1]]> + 已連續簽到 %1$d 天]]> + %1$d]]> + 著作權歸作者所有©光環助手 + 操作說明:\n1.第1行是當前開服表上最新的開服信息,僅供參考\n2.點擊第1行的內容,會自動在下方表格填入對應的內容\n3.自動填入內容時,時間保留當天,名字會自動按數字加1\n4.填入前綴名和服務器名稱,提交後會自動合成名字,無需填寫 「| 」\n5.時間、前綴名、服務器名稱必須同時填寫,否則提交後不會新增開服 + 找不到圖片管理器 + 個性簽名 + 介紹下自己吧 + 自己 + + 遊戲標簽*]]> + 遊戲圖標*]]> + 安裝包*]]> + 遊戲簡介*]]> + 遊戲圖片*]]> + 還沒有人評論噢~ + 說說你的看法吧 + https://m.ghzs666.com/bbs/thread-%1$s + https://m.ghzs666.com/bbs/video-%1$s + https://m.ghzs666.com/%1$s + https://m.ghzs666.com/article/%1$s + 該內容已被刪除 + %1$s 在 %2$s]]> 發表了評論 + https://resource.ghzs.com/page/game_rule/game_rule.html + https://resource.ghzs.com/page/privacy_policies/Personal_information_collection_list.html + https://resource.ghzs.com/page/privacy_policies/sdk_directory.html + https://resource.ghzs.com/page/privacy_policies/Permission_Usage.html + https://resource.junrui66.com/page/privacy_policies/Child_privacy_statement_GA.html + + 問答版塊規則 + https://resource.ghzs.com/page/section_rule/section_rule.html + + 我已閱讀並同意《視頻上傳服務準則》 + + 如何讓你的視頻獲得更多曝光? + + 安裝之前,請先卸載手機中已有的較高版本 + + 遊戲*]]> + 標題*]]> + 分類*]]> + 視頻來源*]]> + + https://resource.ghzs.com/page/video_rule/video_rule.html + 視頻上傳服務準則 + + 草稿保存之後會關閉視頻上傳頁面!下次可在視頻投稿-草稿箱]]>中繼續上傳 + + 你還可以搜索邀請更多玩家 + + 徽章中心 + 領取徽章 + 申請領取 + 前往查看 + + 最近來訪 + 今日來訪 + 關註 + 粉絲 + 贊同 + + 祝賀!童鞋\n你已通過禮儀測試~ + 好的 + + + 點擊更換背景 + + 求遊戲 + 求功能 + + 已嘗試添加到桌面 + 如桌面未出現圖標,請開啟桌面快捷方式權限 + + 舉報原因 + 頭像、昵稱、背景圖、簽名含有違規信息 + 發布大量垃圾或廣告信息 + 辱罵、歧視、挑釁等不友善的內容 + 暴力、色情、政治等違法信息 + 其他原因 + 請填寫其他舉報原因 + 其他舉報原因 + 返回 + 提交 + + 收貨信息 + 實物獎品收貨地址 + 虛擬獎品領取方式 + 活動獎金領取方式 + + 審核不通過 + 內容審核中 + 關註的人 + + 刪除遊戲評論後,評論下所有的回復都將被刪除 + 確定要刪除當前評論嗎? + + 您已完成社區交流身份認證,該信息僅自己可見 + 您已完成實名認證,無需再驗證 + 您已綁定手機號,無需再驗證 + + 使用存檔前請保證遊戲退出,避免存檔無法使用 + 請輸入存檔關鍵詞 + 我的存檔管理 + 沒有找到相關存檔~ + 換個搜索詞試試看吧! + + 雲存檔 + 變速器 + 隱私保護 + + 存檔下載失敗,請稍後再試~\n依然無效可反饋至客服 + 存檔讀取失敗,請稍後再試~\n依然無效可反饋至客服 + 使用 + 下載 + 提示 + 該遊戲存檔僅支持暢玩助手啟動,請先下載暢玩助手並安裝遊戲 + 下載暢玩助手 + 該遊戲存檔僅支持暢玩助手啟動,請先安裝遊戲 + 安裝遊戲 + 使用雲存檔後,將會覆蓋您暢玩助手內的相關遊戲進度,若您想保留自己的遊戲數據,請先上傳您當前的遊戲存檔後再使用 + + 您的實名認證未通過,請重新認證 + 您已完成實名認證,該信息僅自己可見 + 當前認証狀態:成年人 + 當前認証狀態:未成年 + 實名信息認証中... + 認証期間不影響您正常的遊戲體驗 + + 設置偏好]]> ,讓推薦更懂你的心~ + + + + + 無力吐槽 + 比較差 + 還算湊合 + 還不錯 + 完美,太棒了 + + 將已安裝遊戲標記為玩過的遊戲 + 你有%1$d]]>款預約的遊戲上線啦 + 歡迎您使用光環助手!\n在您使用光環助手之前,請您認真閱讀《用戶協議》和《隱私政策》的全部內容,以了解用戶權利義務和個人信息處理規則。主要內容向您說明如下:\n1.為了正常地提供優質的產品服務,基於您的授權我們會獲取必要的個人信息,您有權拒絕或取消授權\n2.我們會采取合理的安全措施保護您的個人信息,防止數據被不當使用或未經授權的情況下被訪問、公開披露、使用、修改、損壞、丟失或泄漏。\n3.未經您同意,我們不會從第三方處獲取、共享或向其提供您的信息\n4.您可以查詢、更正、刪除您的個人信息,我們也提供賬戶註銷的渠道 + 此遊戲下載資源由第三方提供。若該資源侵犯了您的合法權益或違反了當地法規,請點擊頁面右上角-版權申訴,按指引發起申訴,我們會盡快聯系您並解決。 + 遊戲停服更新維護中,為避免情緒化內容對遊戲評分帶來的影響,因此開啟停服保護功能。在停服保護狀態期間,所新增及修改發布的評分將不計入總分,所評分評論內容在展示上也會有文字提示告知其他玩家。\n\n感謝您的配合及諒解,祝您遊戲愉快!\n\n光環助手會持續關註產品建議及反饋,如您在使用過程中有任何問題,歡迎向我們反饋。 + 開啟青少年模式後,系統將自動關閉所有遊戲的下載功能,需要輸入密碼才能恢復使用\n\n開啟青少年模式,需要先設置獨立密碼,如忘記密碼可聯系客服申述重置\n\n青少年模式是光環助手響應國家政策,為促進青少年健康成長的一種模式,我們優先針對核心場景進行優化,也將繼續致力於優化更多場景 + + + 添加桌面圖標 + 檢測到光環助手未開啟創建圖標快捷方式,請前往系統設置開啟 + 前往開啟 + 取消 + 桌面圖標創建成功~ + 桌面圖標創建失敗 + 桌面圖標已創建,無需重復! + + 下拉刷新頁面 + 松手刷新,繼續下拉有驚喜 + + tag_img_url_id + 長期有效 + 置頂 + 刪除 + 隱藏 + 修改活動標簽 + 加精選 + 取消精選 + 修改 + 投訴 + 取消置頂 + 申請加精 + 提示 + 是否確認取消置頂此帖子 + 我再想想 + 取消置頂 + 取消置頂成功 + 提交 + 請選擇置頂類型 + 置頂成功 + 此遊戲不支持瀏覽器安裝,已切換為助手安裝 + 提示 + 部分遊戲下載資源由第三方提供,此類遊戲無法自動更新,請手動點擊遊戲【更新】按鈕前往第三方網址更新遊戲 + 我知道了 + 請查看關閉教程,先開啟開發者模式 + %1$s論壇 + 發布於%1$s + 評論 %1$d + 點贊 %1$d · 評論 %2$d + QQ小遊戲 + 存檔數量已達上限 + 請選擇替換覆蓋的存檔 + 加入訂閱 + 訂閱開服表,訂閱後助你獲得一手新服信息 + 通知時間:8:00、12:00、18:00 + 操作 + 取消訂閱 + 不再接收開服消息 + 取消 + 遊戲髮佈新服信息時,您將在消息中心收到通知。爲了避免錯過通知,建議您開啟微信公衆號提醒 + 遊戲髮佈新服信息時,您將在消息中心和微信公衆號收到通知,不會錯過任何開服的消息 + 遊戲訂閱成功 + 我知道了 + 設置提醒時間 + 訂閱遊戲管理 + 開服表 + 開服提醒 + 開服訂閱 + 遊戲訂閱 + 設置時間 + 取消 + 確認 + 當前日期暫無開服信息 + 遊戲髮佈當天新服時提醒 + APP髮送提醒信息 + 微信髮送提醒信息 + 添加提醒 + 取消提醒 + 提醒詳情 + 區服名稱 + +%1$d + 今天 + 明天 + 待提醒 + 即將開服 + 已開服 + 有新服 + 已過期 + %1$s %2$s + 已訂閱 + 取消訂閱 + 確定取消訂閱嗎 + 確定 + 取消 + 您添加的提醒時間已過期! + 至少勾選一種提醒方式 + 區服已開服,不能設置提醒 + 網絡異常,請檢查手機網絡狀態 + 分享光環 + 去首頁看看 + 今天已簽到,明天再來吧~ + 領取失敗 + 申請失敗 + 領取成功 + 申請成功 + 我的徽章 + %1$d 徽章 + 切換模式後,將暫時關閉深色模式跟隨系統切換功能,您可以前往「我的光環-設置」再次開啟。 + 立即登錄 + 解鎖更多精彩內容 + 幫助與反饋 + 打開外部瀏覽器失敗,已復製鏈接到粘貼板,請自行打開鏈接 +
+ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index eededb0708..0b57b5f82b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -474,6 +474,19 @@ 评论 %1$d 点赞 %1$d · 评论 %2$d QQ小游戏 + 分享光环 + 去首页看看 + 今天已签到,明天再来吧~ + 领取失败 + 申请失败 + 领取成功 + 申请成功 + 我的徽章 + %1$d 徽章 + 切换模式后,将暂时关闭深色模式跟随系统切换功能,您可以前往“我的光环-设置”再次开启。 + 立即登录 + 解锁更多精彩内容 + 帮助与反馈 存档数量已达上限 请选择替换覆盖的存档 加入订阅 diff --git a/dependencies.gradle b/dependencies.gradle index 01f73aaebe..2870418638 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -10,6 +10,7 @@ ext { versionCode = 1010 versionName = "5.33.0" applicationId = "com.gh.gamecenter" + applicationIdGat = "com.gh.gamecenter.intl" // AndroidX core = "1.3.2" @@ -140,4 +141,6 @@ ext { qGameVersion = "1.57.14" qGameAdVersion = "4.520.1390" + + blankjUtilCodex = "1.30.4" } \ No newline at end of file diff --git a/feature/new_feedback/src/main/res/values-zh-rTW/strings.xml b/feature/new_feedback/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..7aef0d97f8 --- /dev/null +++ b/feature/new_feedback/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,46 @@ + + + + 幫助與反饋模塊 + 請詳細描述你遇到的問題\\n↓↓你還可以上傳截圖 + 指定遊戲 + 提交 + QQ、郵箱或手機 + 歡迎暢所欲言,光環助手會努力變得更好 + 普通反饋 + 功能收錄 + 遊戲加速、單機功能訂製收錄 + 發生閃退 + 遊戲/助手自動退出或重啟,點擊這裏反饋 + 暢玩問題 + 暢玩遊戲發生例如閃退等問題,點擊這裏反饋 + 遊戲問題 + 玩遊戲過程中遇到的問題 + 收錄更新 + 遊戲版本太低、沒有想要的遊戲,點擊這裏提交 + 帖子投稿 + 版權申訴 + 原創或轉發,我們都歡迎 + 如果您有版權方面的問題,請點擊這裏提交申訴 + 光環助手官方交流Q群: + 367541038 + 正在反饋... + + + 加速跳過 + 單機功能 + 替換素材 + + + 問題類型*]]> + 問題描述*]]> + 功能需求*]]> + 選擇遊戲*]]> + 版權方身份*]]> + 版權方證件*]]> + 證件正反面照片*]]> + 公司或組織證件照片*]]> + 侵權的應用*]]> + 侵權應用截圖*]]> + 聯系方式*]]> + \ No newline at end of file diff --git a/feature/pkg/src/main/res/values-zh-rTW/strings.xml b/feature/pkg/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..b55f29d59c --- /dev/null +++ b/feature/pkg/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,3 @@ + + PKG + diff --git a/feature/realname-window/src/main/res/values-zh-rTW/strings.xml b/feature/realname-window/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..7dc62a8cc5 --- /dev/null +++ b/feature/realname-window/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,9 @@ + + realname-window + 遊戲健康提示 + 退出遊戲 + 你當前為未成年賬號,已被納入防沈迷系統。根據國家相關規定,網絡遊戲僅可在周五、周六、周日和法定節假日每日20時至21時向未成年人提供60分鐘網絡遊戲服務。當前時間段無法遊玩,請合理安排時間 + 根據《國家新聞出版署關於防止未成年人沈迷網絡遊戲工作的通知》,需完成實名認證後才能開始網絡遊戲 + 光環快速認證成功,正在開始遊戲~ + 你當前為未成年賬號,已被納入防沈迷系統。根據國家相關規定,網絡遊戲僅可在周五、周六、周日和法定節假日每日20時至21時向未成年人提供60分鐘網絡遊戲服務。當前時間段可進行遊玩,請合理安排時間 + \ No newline at end of file diff --git a/feature/realname-window/src/main/res/values/strings.xml b/feature/realname-window/src/main/res/values/strings.xml index 0c5f80fc22..b939a5341f 100644 --- a/feature/realname-window/src/main/res/values/strings.xml +++ b/feature/realname-window/src/main/res/values/strings.xml @@ -1,9 +1,9 @@ - realname-window - 游戏健康提示 - 退出游戏 - 你当前为未成年账号,已被纳入防沉迷系统。根据国家相关规定,网络游戏仅可在周五、周六、周日和法定节假日每日20时至21时向未成年人提供60分钟网络游戏服务。当前时间段无法游玩,请合理安排时间 - 根据《国家新闻出版署关于防止未成年人沉迷网络游戏工作的通知》,需完成实名认证后才能开始网络游戏 - 光环快速认证成功,正在开始游戏~ - 你当前为未成年账号,已被纳入防沉迷系统。根据国家相关规定,网络游戏仅可在周五、周六、周日和法定节假日每日20时至21时向未成年人提供60分钟网络游戏服务。当前时间段可进行游玩,请合理安排时间 + realname-window + 游戏健康提示 + 退出游戏 + 你当前为未成年账号,已被纳入防沉迷系统。根据国家相关规定,网络游戏仅可在周五、周六、周日和法定节假日每日20时至21时向未成年人提供60分钟网络游戏服务。当前时间段无法游玩,请合理安排时间 + 根据《国家新闻出版署关于防止未成年人沉迷网络游戏工作的通知》,需完成实名认证后才能开始网络游戏 + 光环快速认证成功,正在开始游戏~ + 你当前为未成年账号,已被纳入防沉迷系统。根据国家相关规定,网络游戏仅可在周五、周六、周日和法定节假日每日20时至21时向未成年人提供60分钟网络游戏服务。当前时间段可进行游玩,请合理安排时间 \ No newline at end of file diff --git a/feature/vpn/src/main/res/values-zh-rTW/strings.xml b/feature/vpn/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..a389d6dd4d --- /dev/null +++ b/feature/vpn/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,3 @@ + + VPN + diff --git a/feature/vpn/src/main/res/values/strings.xml b/feature/vpn/src/main/res/values/strings.xml index a389d6dd4d..c7679bc0c5 100644 --- a/feature/vpn/src/main/res/values/strings.xml +++ b/feature/vpn/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - VPN + VPN diff --git a/gradle.properties b/gradle.properties index 6499b7b765..58114c96da 100644 --- a/gradle.properties +++ b/gradle.properties @@ -51,6 +51,8 @@ QUICK_LOGIN_APPID=300012035775 QUICK_LOGIN_APPKEY=002BAABA2C078342DA33BEAB0A4C6A25 DEV_QUICK_LOGIN_APPID=300012281661 DEV_QUICK_LOGIN_APPKEY=1BFAB6E349F1D69CC06ABAD9D7A43FB8 +LOG_HUB_PROJECT=ghzs +LOG_HUB_PROJECT_GAT=ghzs-global DEV_CSJ_APPID=5410486 CSJ_APPID=5429125 @@ -58,8 +60,10 @@ CSJ_APPID=5429125 # hosts DEV_API_HOST=https\://dev-and-api.ghzs.com/v5d5d0/ API_HOST=https\://and-api.ghzs.com/v5d5d0/ +API_HOST_GAT=https\://and-api.junrui66.com/v5d5d0/ NEW_DEV_API_HOST=https\://dev-app-api.ghzs.com/ NEW_API_HOST=https\://app-api.ghzs.com/ +NEW_API_HOST_GAT=https\://app-api.junrui66.com/ DEV_VAPI_HOST=https://dev-app-api.796697.com VAPI_HOST=https://app-api.796697.com diff --git a/libraries/Matisse/src/main/res/values-zh-rTW/strings.xml b/libraries/Matisse/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..7562824f25 --- /dev/null +++ b/libraries/Matisse/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,41 @@ + + + + 全部 + + 預覽 + 使用 + 使用(%1$d) + 返回 + 拍一張 + 還沒有圖片或視頻 + 我知道了 + + 您已經達到最大選擇數量 + 一次最多選擇%1$d張圖片 + 一次最多選擇%1$d個視頻 + 圖片質量太低 + 圖片質量太高 + 不支援的文件類型 + 不能同時選擇圖片和視頻 + 沒有支持視頻預覽的應用 + "該照片大於 %1$d M,無法上傳將取消勾選原圖" + "有 %1$d 張照片大於 %2$d M\n無法上傳,將取消勾選原圖" + 原圖 + 確定 + 確定(%1$d) + diff --git a/module_common/build.gradle b/module_common/build.gradle index cfac735508..4fd724d3ec 100644 --- a/module_common/build.gradle +++ b/module_common/build.gradle @@ -92,6 +92,7 @@ dependencies { api "io.github.sinaweibosdk:core:${weiboSDK}" api "com.lg:skeleton:${skeleton}" api "com.google.android:flexbox:${flexbox}" + api "com.blankj:utilcodex:${blankjUtilCodex}" debugApi "com.squareup.okhttp3:okhttp-tls:${okHttpForDebug}" debugApi "com.squareup.okio:okio:2.2.2" diff --git a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java index b33e9eeffc..3dd62c6a2c 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java +++ b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java @@ -40,6 +40,7 @@ import com.alibaba.android.arouter.core.LogisticsCenter; import com.alibaba.android.arouter.exception.NoRouteFoundException; import com.alibaba.android.arouter.facade.Postcard; import com.alibaba.android.arouter.launcher.ARouter; +import com.blankj.utilcode.util.LanguageUtils; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.gamecenter.common.BuildConfig; import com.gh.gamecenter.common.R; @@ -82,6 +83,7 @@ import org.json.JSONObject; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import io.sentry.Breadcrumb; import io.sentry.Sentry; @@ -800,4 +802,16 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy transaction.hide(fragment); } } + + @Override + protected void attachBaseContext(Context newBase) { + if (EnvHelper.isGATApp()) { + if (!LanguageUtils.isAppliedLanguage()) {// 默认使用繁体中文 + LanguageUtils.applyLanguage(Locale.TRADITIONAL_CHINESE, false); + } + super.attachBaseContext(LanguageUtils.attachBaseContext(newBase)); + } else { + super.attachBaseContext(newBase); + } + } } diff --git a/module_common/src/main/java/com/gh/gamecenter/common/loghub/LoghubHelper.kt b/module_common/src/main/java/com/gh/gamecenter/common/loghub/LoghubHelper.kt index b1cdf34391..909a65ebbb 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/loghub/LoghubHelper.kt +++ b/module_common/src/main/java/com/gh/gamecenter/common/loghub/LoghubHelper.kt @@ -5,6 +5,7 @@ import com.aliyun.sls.android.producer.LogProducerClient import com.aliyun.sls.android.producer.LogProducerConfig import com.aliyun.sls.android.producer.LogProducerResult import com.gh.gamecenter.common.HaloApp +import com.gh.gamecenter.common.utils.EnvHelper import com.gh.gamecenter.common.utils.PackageFlavorHelper import com.gh.gamecenter.core.AppExecutor import com.lightgame.utils.Utils @@ -17,7 +18,6 @@ object LoghubHelper { private const val ACCESS_KEY_ID = "LTAIV3i0sNc4TPK1" private const val ACCESS_KEY_SECRET = "8dKtTPeE5WYA6ZCeuIBcIVp7eB0ir4" private const val ENDPOINT = "cn-qingdao.log.aliyuncs.com" - private const val PROJECT = "ghzs" private val mClientMaps by lazy { hashMapOf() } @@ -34,17 +34,21 @@ object LoghubHelper { } private fun getClient(logStore: String): LogProducerClient? { - if (!mClientMaps.containsKey(logStore)) { - mClientMaps[logStore] = createClient(logStore) + // https://jira.shanqu.cc/browse/GHZS-3815?focusedCommentId=50027&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-50027 + // + val transformedLogStore = if (EnvHelper.isGATApp) "event" else logStore + if (!mClientMaps.containsKey(transformedLogStore)) { + mClientMaps[transformedLogStore] = createClient(transformedLogStore) } - return mClientMaps[logStore] + return mClientMaps[transformedLogStore] } private fun createClient(logStore: String): LogProducerClient { + val config = LogProducerConfig( HaloApp.getInstance().applicationContext, ENDPOINT, - PROJECT, + EnvHelper.logProducerProject, logStore, ACCESS_KEY_ID, ACCESS_KEY_SECRET diff --git a/module_common/src/main/java/com/gh/gamecenter/common/utils/EnvHelper.kt b/module_common/src/main/java/com/gh/gamecenter/common/utils/EnvHelper.kt index 6295828958..dc9b7ae732 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/utils/EnvHelper.kt +++ b/module_common/src/main/java/com/gh/gamecenter/common/utils/EnvHelper.kt @@ -14,6 +14,26 @@ object EnvHelper { SPUtils.getBoolean(Constants.SP_IS_DEV_ENV, false) } + @JvmStatic + val isGATApp: Boolean by lazy { + val buildConfig = ARouter + .getInstance() + .build(RouteConsts.provider.buildConfig) + .navigation() as? IBuildConfigProvider + buildConfig?.isGATApp() ?: false + } + + private const val DEFAULT_LOG_PRODUCER_PROJECT = "ghzs" + + @JvmStatic + val logProducerProject: String by lazy { + val buildConfig = ARouter + .getInstance() + .build(RouteConsts.provider.buildConfig) + .navigation() as? IBuildConfigProvider + buildConfig?.getLogProducerProject() ?: DEFAULT_LOG_PRODUCER_PROJECT + } + @JvmStatic fun getHost(): String { val buildConfig = @@ -58,5 +78,4 @@ object EnvHelper { } } } - } \ No newline at end of file diff --git a/module_common/src/main/res/values-zh-rTW/strings.xml b/module_common/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..c1a3dda75b --- /dev/null +++ b/module_common/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,92 @@ + + module_common + 取消 + 確定 + 不再提醒 + 我知道了 + 不需要內存緩存 + highResImage + 取消關註遊戲後,您將無法及時收到遊戲的攻略、資訊等最新動態提醒。 + 檢查更新中... + + + 分享跳轉中... + 分享成功 + 分享已取消 + 分享失敗 + 分享失敗,請安裝微信 + 分享到 + 微信好友 + 朋友圈 + QQ好友 + QQ空間 + 微博 + 解析包出錯(可能被誤刪了),請重新下載 + + https://www.ghzs.com?source=appshare100 + https://www.ghzs.com?source=appshare300 + https://and-static.ghzs.com/app-logo.png + + background_id + text_color_id + text_color_hint_id + src_id + drawable_left_id + drawable_top_id + drawable_right_id + drawable_bottom_id + + tag_game_name_id + + view對應的業務名稱 + view綁定的對象 + + 用戶協議與免責聲明 + http://api.ghzs666.com/v2d6/disclaimer + 隱私政策 + https://resource.junrui66.com/page/privacy_policies/privacy_policies_GA.html + + 備案查詢入口 + https://beian.miit.gov.cn/ + 粵ICP備17080876號-5A + APP備案號:粵ICP備17080876號-5A + + 加載中... + 上拉加載 + 加載失敗,點擊重試 + 沒有更多了 + 網絡開小差啦~ + 點擊任意地方重試 + 這兒還沒有內容噢~ + 這裏還沒有遊戲~ + 看來你還沒找到喜歡的遊戲~ + 你可能是第一個發現這個地方的人 + 重試 + 檢測網絡設置或是點擊按鈕重試 + 頁面不見了~ + 內容可能已被刪除 + 內容可能已被刪除 + 該遊戲暫時僅提供試玩版本。試玩版資源來自第三方網站,可能存在bug或兼容性問題。敬請留意後續相關消息。 + 該遊戲暫時僅提供試玩版本。試玩版可能存在bug或兼容性問題。敬請留意後續相關消息。 + 圖片不能大於%1$dMB,請重新選擇 + 請選出你要指定的遊戲 + 版權保護申訴指引 + https://resource.ghzs.com/page/copyright_guide/copyright_guide.html + 遊戲名字*]]> + + is_dark_mode_on_id + 提示 + 當前版本不支持該功能,\n建議您升級到最新版本體驗哦 + 體驗升級 + 取消 + 溫馨提示 + 安裝該遊戲需要關閉MIUI優化,否則將無法解壓安裝\n註意:MIUI優化關閉後可能會導致手機系統不穩定,以及無法使用MIUI提供的服務。你可以在遊戲安裝完成後重新開啟 + 立即關閉 + 以後再說 + ]]> + + 請輸入文字... + 搜索 + 1. 遊戲下載功能(XAPK與APKS文件下載)\n2. 圖片上傳功能(頭像、主頁背景、帖子、遊戲單)\n3. 視頻上傳功能(視頻流、帖子)\n4. 圖片保存功能\n5. 遊戲投稿功能 + + \ No newline at end of file diff --git a/module_core/src/main/java/com/gh/gamecenter/core/provider/IBuildConfigProvider.kt b/module_core/src/main/java/com/gh/gamecenter/core/provider/IBuildConfigProvider.kt index 03a7aeab64..e6f939da66 100644 --- a/module_core/src/main/java/com/gh/gamecenter/core/provider/IBuildConfigProvider.kt +++ b/module_core/src/main/java/com/gh/gamecenter/core/provider/IBuildConfigProvider.kt @@ -11,6 +11,8 @@ interface IBuildConfigProvider : IProvider { fun isDebug(): Boolean + fun isGATApp(): Boolean + fun getApiHost(): String fun getDevApiHost(): String @@ -22,4 +24,6 @@ interface IBuildConfigProvider : IProvider { fun getVApiHost(): String fun getVDevApiHost(): String + + fun getLogProducerProject(): String } \ No newline at end of file diff --git a/module_core/src/main/res/values-zh-rTW/strings.xml b/module_core/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..720b4809f7 --- /dev/null +++ b/module_core/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,9 @@ + + module_core + 確定 + 提示 + 已開啟 + 確定關閉 + 暫不關閉 + 請檢查是否安裝微信客戶端 + \ No newline at end of file diff --git a/module_core/src/main/res/values/strings.xml b/module_core/src/main/res/values/strings.xml index 2c9cfe450e..dacde0c463 100644 --- a/module_core/src/main/res/values/strings.xml +++ b/module_core/src/main/res/values/strings.xml @@ -1,4 +1,9 @@ module_core + 确定 + 提示 + 已开启 + 确定关闭 + 暂不关闭 请检查是否安装微信客户端 \ No newline at end of file diff --git a/module_core_feature/src/main/res/values-zh-rTW/strings.xml b/module_core_feature/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..e1567b2747 --- /dev/null +++ b/module_core_feature/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,42 @@ + + + 下載 + 下載中 + 插件化 + 安裝 + 安裝中 + 繼續 + 暫停 + 啟動 + 更新 + 更新中 + 等待中 + 打開 + 試玩 + 暢玩 + 展開 + 解壓中 + 查看 + 下架 + 秒玩 + 暫無 + 開始玩 + 瀏覽器解壓安裝 + 請先登錄 + 關註 + 關註成功 + 關註失敗 + 已結束 + 已領取 + 已淘號 + 加載失敗,請檢查網絡狀態 + + 審核中...請耐心等待 + 本地下載 + 本地更新 + 本地安裝 + 本地啟動 + 開始更新 + 開始暢玩 + 啟動暢玩 + \ No newline at end of file diff --git a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java index 8df8a967fe..d8019718d5 100644 --- a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java +++ b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java @@ -33,6 +33,7 @@ import com.gh.gamecenter.common.constant.EntranceConsts; import com.gh.gamecenter.common.constant.RouteConsts; import com.gh.gamecenter.common.eventbus.EBReuse; import com.gh.gamecenter.common.retrofit.ApiResponse; +import com.gh.gamecenter.common.utils.EnvHelper; import com.gh.gamecenter.common.utils.ExtensionsKt; import com.gh.gamecenter.common.utils.SensorsBridge; import com.gh.gamecenter.common.view.DrawableView; @@ -176,6 +177,11 @@ public class LoginFragment ExtensionsKt.showKeyBoard(mBinding.loginPhoneEt); } + // 港澳台APP不显示第三方登录 + if (EnvHelper.isGATApp()) { + mBinding.loginBottom.setVisibility(View.GONE); + } + mBinding.loginPassEt.addTextChangedListener(new LoginTextWatcher(mBinding.loginPassEt)); mBinding.loginPhoneEt.addTextChangedListener(new LoginTextWatcher(mBinding.loginPhoneEt)); diff --git a/module_login/src/main/res/values-zh-rTW/strings.xml b/module_login/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..f8df69b104 --- /dev/null +++ b/module_login/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,20 @@ + + + + module_login + 光環助手 + 登錄異常,請稍後重試 + 登錄異常(%1$d),請稍後重試 + 登錄成功 + 登錄中... + 請輸入手機號碼 + 請輸入驗證碼 + 獲取驗證碼 + 輸入邀請碼(選填) + +86 + 登錄 + + 進入下一步前,請先閱讀並同意光環助手的《用戶協議》、《隱私政策》%1$s]]> + 進入下一步前,請先閱讀並同意光環助手的《用戶協議》、《隱私政策》]]> + + \ No newline at end of file diff --git a/module_message/src/main/res/values-zh-rTW/strings.xml b/module_message/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..ba42c2a00e --- /dev/null +++ b/module_message/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,14 @@ + + 消息中心模塊 + 消息中心 + 復製ID + 光環客服 + 網絡錯誤 + + 關註 + 一鍵已讀 + 遊戲動態 + 熱門遊戲推薦 + 這兒還沒有內容噢~ + 關註幾個可能感興趣的遊戲吧 + \ No newline at end of file diff --git a/module_setting/src/main/AndroidManifest.xml b/module_setting/src/main/AndroidManifest.xml index 4fd81e865c..2d2e98ce6b 100644 --- a/module_setting/src/main/AndroidManifest.xml +++ b/module_setting/src/main/AndroidManifest.xml @@ -30,6 +30,11 @@ + + + \ No newline at end of file diff --git a/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingActivity.kt b/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingActivity.kt new file mode 100644 index 0000000000..4bad5c0696 --- /dev/null +++ b/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingActivity.kt @@ -0,0 +1,33 @@ +package com.gh.gamecenter.setting.view + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.gh.gamecenter.common.base.activity.ToolBarActivity +import com.gh.gamecenter.common.utils.updateStatusBarColor +import com.gh.gamecenter.setting.R + +class LanguageSettingActivity : ToolBarActivity() { + + companion object { + @JvmStatic + fun getIntent(context: Context): Intent { + return getTargetIntent( + context, + LanguageSettingActivity::class.java, + LanguageSettingFragment::class.java, + ) + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setNavigationTitle(R.string.language) + updateStatusBarColor(R.color.ui_surface, R.color.ui_surface) + } + + override fun onDarkModeChanged() { + super.onDarkModeChanged() + updateStatusBarColor(R.color.ui_surface, R.color.ui_surface) + } +} \ No newline at end of file diff --git a/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingFragment.kt b/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingFragment.kt new file mode 100644 index 0000000000..f91aa80660 --- /dev/null +++ b/module_setting/src/main/java/com/gh/gamecenter/setting/view/LanguageSettingFragment.kt @@ -0,0 +1,46 @@ +package com.gh.gamecenter.setting.view + +import android.os.Bundle +import android.view.View +import com.blankj.utilcode.util.LanguageUtils +import com.gh.gamecenter.common.base.fragment.ToolbarFragment +import com.gh.gamecenter.common.view.DrawableView +import com.gh.gamecenter.setting.databinding.FragmentLanguageSettingBinding +import java.util.* + +class LanguageSettingFragment : ToolbarFragment() { + + private lateinit var viewBinding: FragmentLanguageSettingBinding + + override fun getLayoutId(): Int = 0 + + override fun getInflatedLayout(): View = FragmentLanguageSettingBinding + .inflate(layoutInflater) + .apply { viewBinding = this }.root + + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + viewBinding.icSimplifiedChinese.isChecked = LanguageUtils.isAppliedLanguage(Locale.SIMPLIFIED_CHINESE) + viewBinding.icSimplifiedChinese.setImageDrawable(DrawableView.getCheckSelectorDrawable(requireContext())) + viewBinding.rlSimplifiedChinese.setOnClickListener { + if (!viewBinding.icSimplifiedChinese.isChecked) { + viewBinding.icTraditionalChinese.isChecked = false + viewBinding.icSimplifiedChinese.isChecked = true + LanguageUtils.applyLanguage(Locale.SIMPLIFIED_CHINESE) + } + } + + viewBinding.icTraditionalChinese.isChecked = LanguageUtils.isAppliedLanguage(Locale.TRADITIONAL_CHINESE) + viewBinding.icTraditionalChinese.setImageDrawable(DrawableView.getCheckSelectorDrawable(requireContext())) + viewBinding.rlTraditionalChinese.setOnClickListener { + if (!viewBinding.icTraditionalChinese.isChecked) { + viewBinding.icTraditionalChinese.isChecked = true + viewBinding.icSimplifiedChinese.isChecked = false + LanguageUtils.applyLanguage(Locale.TRADITIONAL_CHINESE) + } + } + } + +} \ No newline at end of file diff --git a/module_setting/src/main/java/com/gh/gamecenter/setting/view/SettingsFragment.kt b/module_setting/src/main/java/com/gh/gamecenter/setting/view/SettingsFragment.kt index f7b68484d5..bde1f06131 100644 --- a/module_setting/src/main/java/com/gh/gamecenter/setting/view/SettingsFragment.kt +++ b/module_setting/src/main/java/com/gh/gamecenter/setting/view/SettingsFragment.kt @@ -19,6 +19,7 @@ import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModelProvider import com.alibaba.android.arouter.launcher.ARouter +import com.blankj.utilcode.util.LanguageUtils import com.gh.gamecenter.common.BuildConfig import com.gh.gamecenter.common.base.activity.BaseActivity import com.gh.gamecenter.common.base.fragment.ToolbarFragment @@ -56,6 +57,7 @@ import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers import org.greenrobot.eventbus.EventBus import java.io.File +import java.util.* class SettingsFragment : ToolbarFragment() { @@ -114,7 +116,7 @@ class SettingsFragment : ToolbarFragment() { mBinding.settingCvFix.visibility = View.VISIBLE mBinding.settingCvFix.setOnClickListener { Config.fixHideFunction() - toast("修复成功") + toast(getString(R.string.fix_successfully_toast)) EventBus.getDefault().post(EBReuse("Refresh")) val mainActivity = ARouter.getInstance().build(RouteConsts.provider.mainActivity).navigation() as? IMainProvider @@ -161,7 +163,8 @@ class SettingsFragment : ToolbarFragment() { if (UserManager.getInstance().isLoggedIn) { val json = SPUtils.getString(Constants.SP_WECHAT_CONFIG) val notice = GsonUtils.fromJson(json, WechatConfigEntity::class.java)?.notice - mBinding.wechatRemindItem.textMoreTv.text = if (notice == true) "已开启" else "已关闭" + mBinding.wechatRemindItem.textMoreTv.text = + if (notice == true) getString(R.string.opened) else getString(R.string.closed) } else { mBinding.wechatRemindItem.textMoreTv.text = "" } @@ -231,6 +234,17 @@ class SettingsFragment : ToolbarFragment() { startActivity(VideoSettingActivity.getIntent(requireContext(), "设置")) } } + + mBinding.languageItem.run { + titleTv.text = getString(R.string.language) + textMoreTv.visibility = View.VISIBLE + // 港澳台APP显示语言设置 + root.visibility = if (EnvHelper.isGATApp) View.VISIBLE else View.GONE + root.setOnClickListener { + startActivity(LanguageSettingActivity.getIntent(requireContext())) + } + } + mBinding.gameDownloadItem.run { titleTv.text = getString(R.string.setting_game_download) textMoreTv.visibility = View.VISIBLE @@ -267,10 +281,11 @@ class SettingsFragment : ToolbarFragment() { .navigation() as? IUsageStatsHelperProvider if (usageStatsHelper?.checkForPermission() == true) { DialogHelper.showDialog( - requireContext(), "提示", - "关闭后将无法统计游戏时长,确定要关闭吗?", - "确定关闭", - "暂不关闭", + requireContext(), + getString(R.string.hint), + getString(R.string.close_game_time_statistics_dialog_content), + getString(R.string.confirm_and_close), + getString(R.string.not_close_yet), { usageStatsHelper.skipToUsageStats( requireContext(), @@ -363,12 +378,16 @@ class SettingsFragment : ToolbarFragment() { titleTv.text = getString(R.string.setting_clear_cache) contentTv.visibility = View.VISIBLE root.setOnClickListener { - DialogHelper.showCenterWarningDialog(requireContext(), "清除缓存", "确定要清除缓存吗?", + DialogHelper.showCenterWarningDialog( + requireContext(), + getString(R.string.clear_cache_dialog_title), + getString(R.string.clear_cache_dialog_content), object : EmptyCallback { override fun onCallback() { val dialogUtils = ARouter.getInstance().build(RouteConsts.provider.dialogUtils) .navigation() as? IDialogUtilsProvider - loadingDialog = dialogUtils?.showWaitDialog(requireContext(), "清除缓存中...") + loadingDialog = dialogUtils?.showWaitDialog(requireContext(), + getString(R.string.clearing_cache)) val historyHelper = ARouter.getInstance().build(RouteConsts.provider.historyHelper) .navigation() as? IHistoryHelperProvider historyHelper?.emptyDatabase() @@ -379,17 +398,17 @@ class SettingsFragment : ToolbarFragment() { }) } if (PackageFlavorHelper.IS_TEST_FLAVOR) { - titleTv.text = getString(R.string.setting_clear_cache) + "(长按可清除gid)" + titleTv.text = getString(R.string.setting_clear_cache) + getString(R.string.long_click_to_clear_gid) root.setOnLongClickListener { GidHelper.getInstance().clearSavedGid() - Utils.toast(context, "gid已清除") + Utils.toast(context, getString(R.string.gid_cleared_toast)) return@setOnLongClickListener true } } } mBinding.networkDiagnosisItem.run { - titleTv.text = "网络诊断" + titleTv.text = getString(R.string.network_diagnostics) root.setOnClickListener { startActivity(Intent(requireContext(), NetworkDiagnosisActivity::class.java)) } @@ -404,7 +423,7 @@ class SettingsFragment : ToolbarFragment() { R.string.logout_dialog_confirm.toResString(), R.string.cancel.toResString(), { - loadingDialog = dialogUtils?.showWaitDialog(requireContext(), "退出登录中...") + loadingDialog = dialogUtils?.showWaitDialog(requireContext(), getString(R.string.logging_out)) LoginUtils.logout { UserRepository.getInstance().logout() if (loadingDialog != null) loadingDialog!!.dismiss() @@ -463,7 +482,7 @@ class SettingsFragment : ToolbarFragment() { } channelContainer.addView( TextView(context).apply { - text = "推荐渠道:" + text = context.getString(R.string.recommend_channel) } ) val channelList = listOf("GH_REFRESH", "GH_TEST3") @@ -487,8 +506,8 @@ class SettingsFragment : ToolbarFragment() { layout.addView(channelContainer) val inputDialog: AlertDialog.Builder = AlertDialog.Builder(requireActivity()) - inputDialog.setTitle("请输入渠道:").setView(layout) - inputDialog.setPositiveButton("确定") { _, _ -> + inputDialog.setTitle(getString(R.string.please_input_channel)).setView(layout) + inputDialog.setPositiveButton(getString(R.string.confirm)) { _, _ -> val context = this.context ?: return@setPositiveButton val flavorChannel = SPUtils.getString(Constants.SP_TEST_FLAVOR_CHANNEL) if (!TextUtils.isEmpty(editText.text) && editText.text.toString() != flavorChannel) { @@ -528,7 +547,7 @@ class SettingsFragment : ToolbarFragment() { loadingDialog!!.dismiss() } mViewModel.getCacheSize() - Utils.toast(context, "缓存清除成功") + Utils.toast(context, getString(R.string.clear_cache_successfully_toast)) } override fun onError(e: Throwable) {} @@ -569,9 +588,9 @@ class SettingsFragment : ToolbarFragment() { .navigation() as? IBrowserInstallHelperProvider if (browserInstallHelper?.isUseBrowserToInstallEnabled() == true) { if (browserInstallHelper.shouldUseBrowserToInstall()) { - mBinding.installMethodItem.textMoreTv.text = "浏览器安装" + mBinding.installMethodItem.textMoreTv.text = getString(R.string.browser_install) } else { - mBinding.installMethodItem.textMoreTv.text = "助手安装" + mBinding.installMethodItem.textMoreTv.text = getString(R.string.assistant_install) } mBinding.installMethodContainer.visibility = View.VISIBLE mBinding.installMethodItem.root.setOnClickListener { @@ -582,6 +601,16 @@ class SettingsFragment : ToolbarFragment() { browserInstallHelper.logSwitchInstallSettingEvent() } } + + if (EnvHelper.isGATApp) { + mBinding.languageItem.run { + textMoreTv.text = if (LanguageUtils.isAppliedLanguage(Locale.TRADITIONAL_CHINESE)) { + getString(R.string.traditional_chinese) + } else { + getString(R.string.simplified_chinese) + } + } + } } override fun onStop() { diff --git a/module_setting/src/main/res/layout/fragment_language_setting.xml b/module_setting/src/main/res/layout/fragment_language_setting.xml new file mode 100644 index 0000000000..da7e270ca9 --- /dev/null +++ b/module_setting/src/main/res/layout/fragment_language_setting.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/module_setting/src/main/res/layout/fragment_setting.xml b/module_setting/src/main/res/layout/fragment_setting.xml index e7c0e40f94..f8aea3fccb 100644 --- a/module_setting/src/main/res/layout/fragment_setting.xml +++ b/module_setting/src/main/res/layout/fragment_setting.xml @@ -53,6 +53,14 @@ + + + + + 設置 + 新版本 + 賬號與安全 + 深色模式跟隨系統切換 + 視頻播放 + 遊戲下載 + 一鍵修復 + 下載完成自動安裝遊戲 + 安裝完成自動關註遊戲 + 切換安裝方式 + 微信提醒 + 非Wi-Fi環境下載遊戲提醒 + 統計遊戲時長 + 通知權限 + 開啟後你可以及時收到重要通知 + 個性化推薦 + 開啟功能後,您在本應用的使用信息(如下載信息),將用於個性化內容推薦,以提升您在本應用的體驗 + …/gh-files + …/pictures/ghzhushou + 遊戲下載目錄 + 圖片保存目錄 + 清除緩存 + 0.0M + 關於我們 + 關於我們(長按可更改渠道號) + 安裝包清理 + 遊戲投稿 + 設置 + 註冊方式 + 還有其他問題? + 聯系客服 + 賬戶安全中心 + 任何網絡下都自動播放 + 僅WIFI條件下自動播放 + 關閉自動播放 + 默認靜音播放視頻 + 開啟後以上位置的視頻均默認靜音播放 + 已是最新版本 + 關於 + Copyright %1$s GHZhuShou Team All Rights Reserved. + https://v.douyin.com/C9UHr6/ + 版本更新 + 提交反饋 + 跳過 + 綁定手機 + 綁定手機號 + 更換手機號 + 綁定手機後手機號將用於光環助手活動獎勵領取、安全驗證等用途 + 下一步 + 完成 + 手機號綁定沖突 + 遇到沖突如何換綁 + 1、請先退出當前號【我的光環--設置--退出賬號】 + 2、再重新登錄沖突號,在【我的光環--賬戶安全】\n或【我的光環--設置--賬戶安全】更換手機號 + 3、沖突號成功更換新手機號後,再退出沖突號,\n並重新登錄當前號進行綁定 + 當前號 + 沖突號 + 換個手機號試試 + 取消綁定 + 更換手機號 + 新手機號與當前手機號相同,暫不支持本\n次綁定 + 退出登錄 + 退出賬號即會回到遊客狀態,很多功能將無法使用(例如評論、客服消息),確定退出嗎? + 確定退出 + 瀏覽器安裝 + 助手安裝 + 緩存清除成功 + 請輸入渠道: + 推薦渠道: + (長按可清除gid) + gid已清除 + 退出登錄中... + 修復成功 + 已關閉 + 關閉後將無法統計遊戲時長,確定要關閉嗎? + 清除緩存 + 確定要清除緩存嗎? + 清除緩存中... + 網絡診斷 + 語言 + 簡體中文 + 繁體中文 + \ No newline at end of file diff --git a/module_setting/src/main/res/values/strings.xml b/module_setting/src/main/res/values/strings.xml index e8e4204eeb..bd9e5213a8 100644 --- a/module_setting/src/main/res/values/strings.xml +++ b/module_setting/src/main/res/values/strings.xml @@ -63,4 +63,22 @@ 退出登录 退出账号即会回到游客状态,很多功能将无法使用(例如评论、客服消息),确定退出吗? 确定退出 + 浏览器安装 + 助手安装 + 缓存清除成功 + 请输入渠道: + 推荐渠道: + (长按可清除gid) + gid已清除 + 退出登录中... + 修复成功 + 已关闭 + 关闭后将无法统计游戏时长,确定要关闭吗? + 清除缓存 + 确定要清除缓存吗? + 清除缓存中... + 网络诊断 + 语言 + 简体中文 + 繁体中文 \ No newline at end of file diff --git a/module_setting_compose/src/main/res/values-zh-rTW/strings.xml b/module_setting_compose/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 0000000000..98cbe97ccb --- /dev/null +++ b/module_setting_compose/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,68 @@ + + Compose設置 + 新版本 + 賬號與安全 + 深色模式跟隨系統切換 + 視頻播放 + 遊戲下載 + 一鍵修復 + 下載完成自動安裝遊戲 + 安裝完成自動關註遊戲 + 切換安裝方式 + 微信提醒 + 非Wi-Fi環境下載遊戲提醒 + 統計遊戲時長 + 通知權限 + 開啟後你可以及時收到重要通知 + 個性化推薦 + 開啟功能後,您在本應用的使用信息(如下載信息),將用於個性化內容推薦,以提升您在本應用的體驗 + …/gh-files + …/pictures/ghzhushou + 遊戲下載目錄 + 圖片保存目錄 + 清除緩存 + 網絡診斷 + 0.0M + 關於我們 + 關於我們(長按可更改渠道號) + 安裝包清理 + 遊戲投稿 + 設置 + 註冊方式 + 還有其他問題? + 聯系客服 + 賬戶安全中心 + 任何網絡下都自動播放 + 僅WIFI條件下自動播放 + 關閉自動播放 + 默認靜音播放視頻 + 開啟後以上位置的視頻均默認靜音播放 + 已是最新版本 + 關於 + Copyright %1$s GHZhuShou Team All Rights Reserved. + https://v.douyin.com/C9UHr6/ + 版本更新 + 提交反饋 + 跳過 + 綁定手機 + 綁定手機號 + 更換手機號 + 綁定手機後手機號將用於光環助手活動獎勵領取、安全驗證等用途 + 下一步 + 完成 + 手機號綁定沖突 + 遇到沖突如何換綁 + 1、請先退出當前號【我的光環--設置--退出賬號】 + 2、再重新登錄沖突號,在【我的光環--賬戶安全】\n或【我的光環--設置--賬戶安全】更換手機號 + 3、沖突號成功更換新手機號後,再退出沖突號,\n並重新登錄當前號進行綁定 + 當前號 + 沖突號 + 換個手機號試試 + 取消綁定 + 更換手機號 + 新手機號與當前手機號相同,暫不支持本\n次綁定 + 我知道了 + 退出登錄 + 退出賬號即會回到遊客狀態,很多功能將無法使用(例如評論、客服消息),確定退出嗎? + 確定退出 + \ No newline at end of file diff --git a/scripts/build_with_simple_backup.sh b/scripts/build_with_simple_backup.sh index 3bb767c04d..e7a22d34d9 100755 --- a/scripts/build_with_simple_backup.sh +++ b/scripts/build_with_simple_backup.sh @@ -24,35 +24,54 @@ fi ./gradlew --stop ./gradlew clean -while getopts "tkg" arg +BUILD_VARIANT_ENV=publish +BUILD_VARIANT_REGION=cn +BUILD_APK_CHANNEL_NAME=标准正式包 +BUILD_WITH_INIT_GRADLE=true + +# 添加 -t 指定编译环境,可选值:t: 头条 k: 快手 g: 广点通 +# 添加 -r 指定区域,可选值: cn: 中国大陆 gat: 港澳台 +while getopts "t:r:" arg do case ${arg} in t) - ./gradlew aTR -I init.gradle - mkdir -p release-app/${versionName}_${versionCode} - cp -R app/build/outputs/apk/tea/release/app-tea-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_头条推广正式包_${git_sha}_${build_time}.apk - exit + case $OPTARG in + t) + BUILD_VARIANT_ENV=tea + BUILD_APK_CHANNEL_NAME=头条推广正式包 + ;; + k) + BUILD_VARIANT_ENV=kuaishou + BUILD_APK_CHANNEL_NAME=快手推广正式包 + ;; + g) + sed -i '/android:name="android.permission.READ_PHONE_STATE"/{n;s/tools:node="remove" \/>/\/>/;}' app/src/main/AndroidManifest.xml + BUILD_WITH_INIT_GRADLE=false + BUILD_VARIANT_ENV=gdt + BUILD_APK_CHANNEL_NAME=广点通推广正式包 + ;; + esac ;; - k) - ./gradlew aKR -I init.gradle - mkdir -p release-app/${versionName}_${versionCode} - cp -R app/build/outputs/apk/kuaishou/release/app-kuaishou-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_快手推广正式包_${git_sha}_${build_time}.apk - exit - ;; - g) - sed -i '/android:name="android.permission.READ_PHONE_STATE"/{n;s/tools:node="remove" \/>/\/>/;}' app/src/main/AndroidManifest.xml - ./gradlew aGR - mkdir -p release-app/${versionName}_${versionCode} - cp -R app/build/outputs/apk/gdt/release/app-gdt-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_广点通推广正式包_${git_sha}_${build_time}.apk - exit + r) + case $OPTARG in + gat) BUILD_VARIANT_REGION=gat + ;; + *) BUILD_VARIANT_REGION=cn + ;; + esac ;; esac done # 不存在指令时打普通包 -./gradlew aPR -I init.gradle +if [ $BUILD_WITH_INIT_GRADLE == false ]; then + ./gradlew assemble${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}Release +else + ./gradlew assemble${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}Release -I init.gradle +fi + mkdir -p release-app/${versionName}_${versionCode} -cp -R app/build/outputs/apk/publish/release/app-publish-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_标准正式包_${git_sha}_${build_time}.apk +cp -R app/build/outputs/apk/${BUILD_VARIANT_ENV}${BUILD_VARIANT_REGION^}/release/app-${BUILD_VARIANT_ENV}-${BUILD_VARIANT_REGION}-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_${BUILD_APK_CHANNEL_NAME}_${git_sha}_${build_time}.apk # 重置 app build.gradle git checkout app/build.gradle diff --git a/scripts/jenkins_build.sh b/scripts/jenkins_build.sh index c50f088421..0561999fbb 100755 --- a/scripts/jenkins_build.sh +++ b/scripts/jenkins_build.sh @@ -22,14 +22,28 @@ sed -i 's/buildConfigField "long", "BUILD_TIME", "0"/buildConfigField "long", "B # 生成git log文本 git log --pretty=format:'%s' --max-count=20 --no-merges > app/src/main/assets/gitlog.txt +BUILD_VARIANT_REGION=cn + # 添加 -c 代表启用 compose setting 模块 -while getopts "c" arg +# 添加 -r 指定区域,可选值: cn: 中国大陆 gat: 港澳台 +while getopts "cr:" arg do - sed -i '260 a implementation(project(\x27:module_setting_compose\x27)) { exclude group: \x27androidx.swiperefreshlayout\x27 }' app/build.gradle + case ${arg} in + c) + sed -i '260 a implementation(project(\x27:module_setting_compose\x27)) { exclude group: \x27androidx.swiperefreshlayout\x27 }' app/build.gradle + ;; + r) + case $OPTARG in + gat) BUILD_VARIANT_REGION=gat + ;; + *) BUILD_VARIANT_REGION=cn + ;; + esac + esac done -./gradlew rIR -I ${post_init_script} -mv app/build/outputs/apk/internal/release/app-internal-release.apk app/build/tmp/${version}-${versionCode}-test-${build_time}.apk +./gradlew resguardInternal${BUILD_VARIANT_REGION^}Release -I ${post_init_script} +mv app/build/outputs/apk/internal${BUILD_VARIANT_REGION^}/release/app-internal-${BUILD_VARIANT_REGION}-release.apk app/build/tmp/${version}-${versionCode}-test-${build_time}.apk git checkout app/build.gradle git checkout module_common/build.gradle