From 9c446ebbd669c92bbd4b058ba15626c53f97c8bc Mon Sep 17 00:00:00 2001 From: SiderealArt Date: Mon, 13 Dec 2021 00:05:10 +0800 Subject: [PATCH] feat(gui): add Traditional Chinese translation (PR #1306) --- .../src/main/java/jadx/gui/utils/NLS.java | 1 + .../resources/i18n/Messages_zh_TW.properties | 295 ++++++++++++++++++ 2 files changed, 296 insertions(+) create mode 100644 jadx-gui/src/main/resources/i18n/Messages_zh_TW.properties diff --git a/jadx-gui/src/main/java/jadx/gui/utils/NLS.java b/jadx-gui/src/main/java/jadx/gui/utils/NLS.java index 94b89d07a..9d91fd105 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/NLS.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/NLS.java @@ -33,6 +33,7 @@ public class NLS { LANG_LOCALES.add(new LangLocale("en", "US")); // As default language LANG_LOCALES.add(new LangLocale("zh", "CN")); + LANG_LOCALES.add(new LangLocale("zh", "TW")); LANG_LOCALES.add(new LangLocale("es", "ES")); LANG_LOCALES.add(new LangLocale("de", "DE")); LANG_LOCALES.add(new LangLocale("ko", "KR")); diff --git a/jadx-gui/src/main/resources/i18n/Messages_zh_TW.properties b/jadx-gui/src/main/resources/i18n/Messages_zh_TW.properties new file mode 100644 index 000000000..3419c46cd --- /dev/null +++ b/jadx-gui/src/main/resources/i18n/Messages_zh_TW.properties @@ -0,0 +1,295 @@ +language.name=中文 (繁體) + +menu.file=檔案 +menu.view=檢視 +menu.recent_projects=近期專案 +menu.no_recent_projects=無近期專案 +menu.preferences=選項 +menu.sync=與編輯器同步 +menu.flatten=展開顯示套件 +menu.heapUsageBar=顯示記憶體使用率條 +menu.alwaysSelectOpened=總是選擇已開啟的檔案/類別 +menu.navigation=瀏覽 +menu.text_search=文字搜尋 +menu.class_search=類別搜尋 +menu.comment_search=註解搜尋 +menu.tools=工具 +menu.deobfuscation=去模糊化 +menu.log=日誌檢視器 +menu.help=幫助 +menu.about=關於 +menu.update_label=新版本 %s 可供下載! + +file.open_action=開啟檔案... +file.add_files_action=新增檔案 +file.open_title=開啟檔案 +file.new_project=新建專案 +file.save_project=儲存專案 +file.save_project_as=另存專案... +file.save_all=全部儲存 +file.export_gradle=另存為 gradle 專案 +file.save_all_msg=選擇儲存反編譯原始碼的路徑 +file.exit=離開 + +tree.sources_title=原始碼 +tree.resources_title=資源 +tree.loading=載入中... + +progress.load=載入中 +progress.decompile=正在反編譯 +#progress.index=Indexing + +error_dialog.title=錯誤 + +search.previous=上一個 +search.next=下一個 +search.mark_all=全部標記 +search.regex=Regex +search.match_case=大小寫須相符 +search.whole_word=全字拼寫須相符 +search.find=尋找 + +tabs.copy_class_name=複製名稱 +tabs.close=關閉 +tabs.closeOthers=關閉其他 +tabs.closeAll=關閉全部 +tabs.code=程式碼 +tabs.smali=Smali + +nav.back=返回 +nav.forward=向前 + +message.taskTimeout=工作超過時間限制 (%d 毫秒)。 +message.userCancelTask=工作被使用者取消了。 +message.memoryLow=Jadx 的記憶體不足。請增加最大堆疊大小並重新啟動。 +message.taskError=工作發生錯誤 (查看日誌以了解詳情)。 +message.errorTitle=錯誤 +message.load_errors=載入失敗。\n錯誤數:%d\n點擊 OK 以開啟日誌檢視器 +message.no_classes=未載入任何類別,沒有東西可以反編譯! + +message.saveIncomplete=儲存未完成。
%s
%d 個類別或資源尚未儲存! +message.indexIncomplete=某些類別的索引被略過。
%s
%d 個類別未被索引,故不會出現在搜尋結果中。 +message.indexingClassesSkipped=Jadx 的記憶體不足。故 %d 個類別未被索引。
如果您想要索引所有類別,請增加最大堆疊大小並重新啟動。 + +heapUsage.text=JADX 記憶體使用率:%.2f GB / %.2f GB + +common_dialog.ok=Ok +common_dialog.cancel=取消 +common_dialog.add=新增 +common_dialog.update=更新 +common_dialog.remove=移除 + +search_dialog.open=開啟 +search_dialog.cancel=取消 +search_dialog.open_by_name=搜尋文字: +search_dialog.search_in=搜尋定義: +search_dialog.class=類別 +search_dialog.method=方法 +search_dialog.field=欄位 +search_dialog.code=程式碼 +search_dialog.options=搜尋選項: +search_dialog.ignorecase=不區分大小寫 +search_dialog.next_page=顯示下一頁 +search_dialog.prev_page=顯示上一頁 +search_dialog.info_label=顯示搜尋結果 %1$d 至 %2$d (共 %3$d) +search_dialog.col_node=無 +search_dialog.col_code=程式碼 +search_dialog.regex=Regex +search_dialog.active_tab=僅使用中分頁 +search_dialog.comments=註解 +search_dialog.resource=資源 +search_dialog.keep_open=保持開啟 +search_dialog.tip_searching=正在搜尋 ... + +usage_dialog.title=使用情況搜尋 +usage_dialog.label=使用情況: + +comment_dialog.title.add=新增程式碼註解 +comment_dialog.title.update=更新程式碼註解 +comment_dialog.label=註解: +comment_dialog.usage=按下 Shift + Enter 來換行 + +log_viewer.title=日誌檢視器 +log_viewer.log_level=紀錄層級: + +about_dialog.title=關於 JADX + +preferences.title=選項 +preferences.deobfuscation=去模糊化 +preferences.appearance=外觀 +preferences.decompile=反編譯 +preferences.project=專案 +preferences.other=其他 +preferences.language=語言 +preferences.lineNumbersMode=編輯器行號模式 +preferences.check_for_updates=啟動時檢查更新 +preferences.fallback=後援模式 (簡易傾印) +preferences.useDx=使用 dx/d8 來轉換 Java 位元組碼 +preferences.showInconsistentCode=顯示不一致的程式碼 +preferences.escapeUnicode=Unicode 逸出 +preferences.replaceConsts=替換常數 +preferences.respectBytecodeAccessModifiers=遵守位元組碼存取修飾詞 +preferences.useImports=使用 import 陳述式 +preferences.inlineAnonymous=內嵌匿名類別 +preferences.inlineMethods=內嵌方式 +preferences.fsCaseSensitive=檔案系統區分大小寫 +preferences.skipResourcesDecode=不要為資源解碼 +preferences.commentsLevel=程式碼註解層級 +preferences.autoSave=自動儲存 +preferences.threads=執行緒數 +preferences.excludedPackages=被排除的套件 +preferences.excludedPackages.tooltip=排除於索引或反編譯外的套件列表 (以空格分隔) (節省 RAM) +preferences.excludedPackages.button=編輯 +preferences.excludedPackages.editDialog=排除於索引或反編譯外的套件列表 (以空格分隔) (節省 RAM)
例如 android.support +preferences.cfg=產生方法 CFG 圖表 ('dot' 格式) +preferences.raw_cfg=產生 RAW CFG 圖表 +preferences.font=編輯器字型 +preferences.smali_font=Smali 編輯器字型 +preferences.laf_theme=主題 +preferences.theme=編輯器主題 +preferences.start_jobs=自動開始背景反編譯 +preferences.select_font=變更 +preferences.select_smali_font=變更 +preferences.deobfuscation_on=啟用去模糊化 +preferences.deobfuscation_force=強制覆寫去模糊化對應檔 +preferences.deobfuscation_min_len=最小名稱長度 +preferences.deobfuscation_max_len=最大名稱長度 +preferences.deobfuscation_source_alias=將原始檔案名稱作為類別別名 +preferences.deobfuscation_kotlin_metadata=剖析 Kotlin 中繼資料來取得類別及套件名稱 +preferences.save=儲存 +preferences.cancel=取消 +preferences.reset=重設 +preferences.reset_message=要將設定重設為預設值嗎? +preferences.reset_title=重設設定 +preferences.copy=複製至剪貼簿 +preferences.copy_message=已將所有設定值複製至剪貼簿 +preferences.rename=重新命名識別碼 +preferences.rename_case=以修復區分大小寫問題 +preferences.rename_valid=以使其有效 +preferences.rename_printable=以使其可列印 +preferences.search_res_title=搜尋資源 +preferences.res_file_ext=副檔名 (e.g. .xml|.html), * 表示全部 +preferences.res_skip_file=略過大於此值的檔案 (MB) + +msg.open_file=請開啟檔案 +msg.saving_sources=正在儲存原始碼 +msg.language_changed_title=已更改語言 +msg.language_changed=新語言將於下次應用程式啟動時套用。 +msg.index_not_initialized=索引尚未初始化,搜尋將被停用! +msg.project_error_title=錯誤 +msg.project_error=無法載入專案 +msg.cmd_select_class_error=無法選擇類別\n%s\n類別不存在。 +msg.rename_node_disabled=無法重新命名此節點 +msg.rename_node_failed=無法重新命名 %s +msg.cant_add_comment=無法在此新增註解 + +popup.bytecode_col=顯示 Dalvik 位元組碼 +popup.line_wrap=自動換行 +popup.undo=復原 +popup.redo=取消復原 +popup.cut=剪下 +popup.copy=複製 +popup.paste=貼上 +popup.delete=刪除 +popup.select_all=全選 +popup.find_usage=尋找使用情況 +popup.go_to_declaration=前往宣告 +popup.exclude=排除 +popup.exclude_packages=排除套件 +popup.add_comment=註解 +popup.search_comment=搜尋註解 +popup.rename=重新命名 +popup.search=搜尋 "%s" +popup.search_global=全域搜尋 "%s" + +exclude_dialog.title=套件選擇 +exclude_dialog.ok=OK +exclude_dialog.select_all=全選 +exclude_dialog.deselect=取消選取 +exclude_dialog.invert=反轉選取 + +confirm.save_as_title=確認另存為 +confirm.save_as_message=%s 已存在。\n您要覆寫它嗎? +confirm.not_saved_title=儲存專案 +confirm.not_saved_message=在繼續進行前要先儲存目前專案嗎? + +certificate.cert_type=類型 +certificate.serialSigVer=版本 +certificate.serialNumber=序號 +certificate.cert_subject=主體 +certificate.serialValidFrom=有效期自 +certificate.serialValidUntil=有效期限 +certificate.serialPubKeyType=公鑰類型 +certificate.serialPubKeyExponent=指數 +certificate.serialPubKeyModulus=模數 +certificate.serialPubKeyModulusSize=模數大小 (位元) +certificate.serialSigType=簽名類型 +certificate.serialSigOID=簽名 OID +certificate.serialMD5=MD5 指紋 +certificate.serialSHA1=SHA-1 指紋 +certificate.serialSHA256=SHA-256 指紋 +certificate.serialPubKeyY=Y + +apkSignature.signer=簽署者 +apkSignature.verificationSuccess=簽名驗證成功 +apkSignature.verificationFailed=簽名驗證失敗 +apkSignature.signatureSuccess=找到可用的 APK 簽名 v%d +apkSignature.signatureFailed=找到無效的 APK 簽名 v%d +apkSignature.errors=錯誤 +apkSignature.warnings=警告 +apkSignature.exception=APK 驗證失敗 +apkSignature.unprotectedEntry=未被 APK 簽名 v1 保護的檔案。對這些項目進行未經授權的更動僅能由 APK 簽名 v2 及以上版本偵測。 + +issues_panel.label=問題: +issues_panel.errors=%d 錯誤 +issues_panel.warnings=%d 警告 +issues_panel.tooltip=在日誌檢視器中開啟 + +debugger.process_selector=選擇要偵錯的處理程序 +debugger.step_into=逐步執行 (F7) +debugger.step_over=不進入函式 (F8) +debugger.step_out=跳離函式 (Shift + F8) +debugger.run=執行 (F9) +debugger.stop=停止偵錯工具並終止應用程式 +debugger.pause=暫停 +debugger.rerun=重新執行 +debugger.cfm_dialog_title=偵錯時離開 +debugger.cfm_dialog_msg=您確定要終止除錯工具嗎? + +debugger.popup_set_value=設置數值 +debugger.popup_change_to_zero=修改為 0 +debugger.popup_change_to_one=修改為 1 +debugger.popup_copy_value=複製數值 + +set_value_dialog.label_value=數值 +set_value_dialog.btn_set=設置數值 +set_value_dialog.title=設置數值 +set_value_dialog.neg_msg=設置數值失敗。 +set_value_dialog.sel_type=選擇要設置數值的類型。 + +adb_dialog.addr=ADB 位址 +adb_dialog.port=ADB 連接埠 +adb_dialog.path=ADB 路徑 +adb_dialog.launch_app=啟動應用程式 +adb_dialog.start_server=啟動 ADB 伺服器 +adb_dialog.refresh=重新整理 +adb_dialog.tip_devices=%d 裝置 +adb_dialog.device_node=裝置 +adb_dialog.missing_path=必須提供 ADB 路徑才能啟動 ADB 伺服器。 +adb_dialog.waiting=正在等待連接至 ADB 伺服器... +adb_dialog.connecting=正在連接至 ADB 伺服器,位址:%s:%s... +adb_dialog.connect_okay=已連接至 ADB 伺服器,位址:%s:%s +adb_dialog.connect_fail=無法連接至 ADB 伺服器。 +adb_dialog.disconnected=已與 ADB 伺服器斷開連線。 +adb_dialog.start_okay=ADB 伺服器已於此連接埠啟動:%s。 +adb_dialog.start_fail=無法於此連接埠啟動 ADB 伺服器:%s! +adb_dialog.forward_fail=因某些原因而無法轉發。 +adb_dialog.being_debugged_msg=此執行程序貌似已在偵錯,要繼續嗎? +adb_dialog.unknown_android_ver=無法取得 Android 發行版本,是否要使用預設版本 Android 8? +adb_dialog.being_debugged_title=正在由他人偵錯。 +adb_dialog.init_dbg_fail=無法初始化偵錯工具。 +adb_dialog.msg_read_mani_fail=無法解碼 AndroidManifest.xml +adb_dialog.no_devices=無法找到任何可以啟動應用程式的裝置。 +adb_dialog.restart_while_debugging_title=偵錯時重新啟動 +adb_dialog.restart_while_debugging_msg=您正在為應用程式偵錯,您確定要重新啟動工作階段嗎? +adb_dialog.starting_debugger=正在啟動偵錯工具...