From b1000e32f02f33e7ba99b066a507ba92bf1f0078 Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Thu, 4 Jun 2026 11:18:20 +0200 Subject: [PATCH 1/3] add traditional Chinese translation option --- .../textpad/activities/SettingsActivity.java | 13 +- .../textpad/service/SettingsService.java | 22 +++- app/src/main/res/values-zh-rCN/strings.xml | 116 ++++++++++++++++++ app/src/main/res/values-zh-rTW/strings.xml | 116 ++++++++++++++++++ app/src/main/res/values/arrays.xml | 8 +- 5 files changed, 257 insertions(+), 18 deletions(-) create mode 100644 app/src/main/res/values-zh-rCN/strings.xml create mode 100644 app/src/main/res/values-zh-rTW/strings.xml diff --git a/app/src/main/java/com/maxistar/textpad/activities/SettingsActivity.java b/app/src/main/java/com/maxistar/textpad/activities/SettingsActivity.java index e4e0fcc..ef7dea7 100644 --- a/app/src/main/java/com/maxistar/textpad/activities/SettingsActivity.java +++ b/app/src/main/java/com/maxistar/textpad/activities/SettingsActivity.java @@ -2,7 +2,6 @@ import java.nio.charset.Charset; import java.util.ArrayList; -import java.util.Locale; import java.util.Map; import android.app.AlertDialog; @@ -11,7 +10,6 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; -import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import android.preference.ListPreference; @@ -154,7 +152,7 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin SettingsService.SETTING_FONT_SIZE.equals(key) || SettingsService.SETTING_USE_SIMPLE_SCROLLING.equals(key) ) { - String lang = sharedPreferences.getString(SettingsService.SETTING_LANGUAGE, TPStrings.EN); + String lang = sharedPreferences.getString(SettingsService.SETTING_LANGUAGE, TPStrings.EMPTY); setLocale(lang); SettingsService.setLanguageChangedFlag(); } @@ -170,12 +168,7 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin public void setLocale(String lang) { - Locale locale2 = new Locale(lang); - Locale.setDefault(locale2); - Configuration config2 = new Configuration(); - config2.locale = locale2; - - getBaseContext().getResources().updateConfiguration(config2, null); + SettingsService.applyLocale(getBaseContext(), lang); showPreferences(); } @@ -184,4 +177,4 @@ protected void showPreferences(){ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/maxistar/textpad/service/SettingsService.java b/app/src/main/java/com/maxistar/textpad/service/SettingsService.java index a88d67d..42f112f 100644 --- a/app/src/main/java/com/maxistar/textpad/service/SettingsService.java +++ b/app/src/main/java/com/maxistar/textpad/service/SettingsService.java @@ -3,6 +3,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; +import android.content.res.Resources; import android.preference.PreferenceManager; import com.maxistar.textpad.TPStrings; @@ -250,17 +251,28 @@ static public boolean isLanguageWasChanged() { } public void applyLocale(Context context) { - String lang = getLanguage(); - if ("".equals(lang)) { - return; //use system default - } - Locale locale2 = new Locale(lang); + applyLocale(context, getLanguage()); + } + + public static void applyLocale(Context context, String language) { + Locale locale2 = getLocale(language); Locale.setDefault(locale2); Configuration config2 = new Configuration(); config2.locale = locale2; context.getResources().updateConfiguration(config2, null); } + private static Locale getLocale(String language) { + if (language == null || TPStrings.EMPTY.equals(language)) { + return Resources.getSystem().getConfiguration().locale; + } + String[] parts = language.split("[-_]"); + if (parts.length >= 2) { + return new Locale(parts[0], parts[1]); + } + return new Locale(language); + } + public boolean isAlternativeFileAccess() { return alternative_file_access; } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 0000000..6ee8616 --- /dev/null +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,116 @@ + + + + 简单文本编辑器 + 简单文本编辑器 - 设置 + 打开 + 新建 + 保存 + 另存为 + 位置: %s + 选择 + 文件名: + 取消 + 新建 + 没有数据 + 文件没有保存 + 保存当前文件? + + + 确认 + 文件已保存 + 文件不可写 + 打开文件 %s + 未发现文件 + 无法读取文件 + 取消操作 + 设置 + 关于 + 继续 + 这是一个Android的简单文本编辑器,想获取更多信息请访问 https://simpleditor.org 。 + 选择语言 + 语言 + 更换界面语言 + 检索 + 请输入文本 + 没有发现 "%s" + 打开上次编辑的文件 %s + 搜索 + 选择颜色 + 打开文件 + 保存文件 + 点击设置字符集 + 字符集 + 行尾 + 行尾定界符 + 文字大小 + 选择文字大小 + 文字颜色 + 选择文字颜色 + 背景色 + 选择背景色 + 版本 + 仅供参考 + 关于编辑器 + 产品信息 + 字体 + 选择字体 + 最近打开 + 打开上一次编辑的文件 + 主要设置 + 外观 + 您已经修改了文件内容 + 您确定退出程序吗? + 文件已存在 + 继续操作会覆盖已存在的文件, 确定执行? + 退出 + 在此输入些东西 + 遗留文件选择器 + 使用遗留的文件选择器 + 编辑 + 撤销 + 重做 + 打开最近的文件 + + 文件系统访问 + 替代文件路径 + 如果未授予文件系统权限,则允许为文件分配备用地址。 + 重置替代文件路径 + 单击此处重置存储的替代文件路径 + 无法使用文件系统名称打开文件,您要使用媒体管理器选择此文件吗? + 您确定要删除存储的替代文件路径吗? + + 默认颜色 + 选择文本突出显示颜色 + 文本高亮颜色 + 选择搜索结果突出显示颜色 + 搜索结果突出显示颜色 + 显示上次编辑的文件 + 在选项菜单中显示最后编辑的文件 + 自动保存 + 关闭窗口时自动保存当前正在编辑的文件 + 当文本过长时自动换行 + 自动换行 + 打开其他... + 分享 + 打印 + + 颜色主题 + 选择系统主题 + 自动 + 浅色 + 深色 + 自定义 + + 使用唤醒锁 + 防止设备进入睡眠模式 + + 此文件以只读模式打开。您可以另存为其他名称,或使用应用菜单中的“打开”命令重新打开。 + 点击此处了解更多信息。 + 警告:文件为只读! + 重新打开 + 以只读模式继续 + 修复滚动问题 + 如果文本在滚动时意外跳转到末尾,请启用此选项 + + 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 0000000..4d70532 --- /dev/null +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,116 @@ + + + + 簡單文字編輯器 + 簡單文字編輯器 - 設定 + 開啟 + 新增 + 儲存 + 另存為 + 位置: %s + 選取 + 檔案名稱: + 取消 + 建立 + 沒有資料 + 檔案尚未儲存 + 儲存目前檔案? + + + 確定 + 檔案已儲存 + 無法寫入檔案 + 開啟檔案 %s + 找不到檔案 + 無法讀取檔案 + 操作已取消 + 設定 + 關於 + 繼續 + 這是一個 Android 的簡單文字編輯器,想取得更多資訊請造訪 https://simpleditor.org 。 + 選擇語言 + 語言 + 變更介面語言 + 搜尋 + 請輸入文字 + 找不到 "%s" + 開啟上次編輯的檔案 %s + 搜尋 + 選擇顏色 + 開啟檔案 + 儲存檔案 + 點選設定字元集 + 字元集 + 行尾 + 行尾分隔符 + 文字大小 + 選擇文字大小 + 文字顏色 + 選擇文字顏色 + 背景色 + 選擇背景色 + 版本 + 僅供參考 + 關於編輯器 + 產品資訊 + 字型 + 選擇字型 + 最近開啟 + 開啟上一次編輯的檔案 + 主要設定 + 外觀 + 您已經修改了檔案內容 + 您確定要退出程式嗎? + 檔案已存在 + 繼續操作會覆蓋已存在的檔案,確定執行? + 離開 + 在此輸入一些內容 + 舊版檔案選擇器 + 使用舊版檔案選擇器 + 編輯 + 復原 + 重做 + 開啟最近的檔案 + + 檔案系統存取 + 替代檔案路徑 + 如果未授予檔案系統權限,則允許為檔案指定備用位置。 + 重設替代檔案路徑 + 按一下這裡重設儲存的替代檔案路徑 + 無法使用檔案系統名稱開啟檔案,您要使用媒體管理器選擇此檔案嗎? + 您確定要刪除儲存的替代檔案路徑嗎? + + 預設顏色 + 選擇文字醒目提示顏色 + 文字醒目提示顏色 + 選擇搜尋結果醒目提示顏色 + 搜尋結果醒目提示顏色 + 顯示上次編輯的檔案 + 在選項選單中顯示最後編輯的檔案 + 自動儲存 + 關閉視窗時自動儲存目前正在編輯的檔案 + 文字過長時自動換行 + 自動換行 + 開啟其他... + 分享 + 列印 + + 色彩主題 + 選擇系統主題 + 自動 + 淺色 + 深色 + 自訂 + + 使用喚醒鎖定 + 防止裝置進入睡眠模式 + + 此檔案以唯讀模式開啟。您可以另存為其他名稱,或使用應用程式選單中的「開啟」命令重新開啟。 + 按一下這裡了解更多資訊。 + 警告:檔案為唯讀! + 重新開啟 + 以唯讀模式繼續 + 修正捲動問題 + 如果文字在捲動時意外跳到末尾,請啟用此選項 + + diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 5a08531..3f41afa 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -13,7 +13,8 @@ Français Italiano Türk - 中文 + 简体中文 + 繁體中文 日本語 @@ -30,7 +31,8 @@ fr it tr - zh + zh-CN + zh-TW ja @@ -62,4 +64,4 @@ dark custom - \ No newline at end of file + From c935dad12605fa6fe0c05986d8243eaa9e0dd521 Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Thu, 4 Jun 2026 11:42:18 +0200 Subject: [PATCH 2/3] verify translations --- app/src/main/res/values-zh-rCN/strings.xml | 24 ++--- app/src/main/res/values-zh-rTW/strings.xml | 117 ++++++++++----------- app/src/main/res/values-zh/strings.xml | 24 ++--- 3 files changed, 71 insertions(+), 94 deletions(-) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 6ee8616..cf5bf55 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -4,6 +4,7 @@ 简单文本编辑器 简单文本编辑器 - 设置 打开 + 打开最近的文件 新建 保存 另存为 @@ -33,7 +34,7 @@ 更换界面语言 检索 请输入文本 - 没有发现 "%s" + 没有发现 \"%s\" 打开上次编辑的文件 %s 搜索 选择颜色 @@ -51,7 +52,7 @@ 选择背景色 版本 仅供参考 - 关于编辑器 + 关于作者 产品信息 字体 选择字体 @@ -70,8 +71,6 @@ 编辑 撤销 重做 - 打开最近的文件 - 文件系统访问 替代文件路径 如果未授予文件系统权限,则允许为文件分配备用地址。 @@ -79,7 +78,6 @@ 单击此处重置存储的替代文件路径 无法使用文件系统名称打开文件,您要使用媒体管理器选择此文件吗? 您确定要删除存储的替代文件路径吗? - 默认颜色 选择文本突出显示颜色 文本高亮颜色 @@ -89,22 +87,17 @@ 在选项菜单中显示最后编辑的文件 自动保存 关闭窗口时自动保存当前正在编辑的文件 - 当文本过长时自动换行 - 自动换行 - 打开其他... - 分享 + 打开其他… + 分享… 打印 - 颜色主题 选择系统主题 自动 - 浅色 + 明亮 深色 自定义 - - 使用唤醒锁 - 防止设备进入睡眠模式 - + 使用唤醒锁定 + 阻止设备进入睡眠模式 此文件以只读模式打开。您可以另存为其他名称,或使用应用菜单中的“打开”命令重新打开。 点击此处了解更多信息。 警告:文件为只读! @@ -112,5 +105,4 @@ 以只读模式继续 修复滚动问题 如果文本在滚动时意外跳转到末尾,请启用此选项 - diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4d70532..62fda5f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1,23 +1,23 @@ - - 簡單文字編輯器 - 簡單文字編輯器 - 設定 + 簡易文字編輯器 + 簡易文字編輯器 - 設定 開啟 - 新增 + 開啟最近的檔案 + 開啟新檔 儲存 - 另存為 - 位置: %s - 選取 - 檔案名稱: + 另存新檔 + 位置:%s + 選擇 + 檔案名稱: 取消 - 建立 + 儲存 沒有資料 - 檔案尚未儲存 - 儲存目前檔案? + 檔案尚未儲存: + 是否儲存目前的檔案? - 確定 + 確認 檔案已儲存 無法寫入檔案 開啟檔案 %s @@ -27,84 +27,77 @@ 設定 關於 繼續 - 這是一個 Android 的簡單文字編輯器,想取得更多資訊請造訪 https://simpleditor.org 。 + 此為 Android 的簡易文字編輯器。若要取得更多資訊請前往 https://simpleditor.org 選擇語言 語言 - 變更介面語言 + 點擊以變更介面的語言 搜尋 - 請輸入文字 - 找不到 "%s" - 開啟上次編輯的檔案 %s + 文字 + 找不到「%s」 + 開啟最後編輯的檔案 %s 搜尋 - 選擇顏色 + 選擇色彩 開啟檔案 儲存檔案 - 點選設定字元集 - 字元集 + 點擊以變更字元編碼 + 字元編碼 行尾 - 行尾分隔符 - 文字大小 - 選擇文字大小 - 文字顏色 - 選擇文字顏色 - 背景色 - 選擇背景色 + 換行格式 + 字型大小 + 選擇字型大小 + 字型色彩 + 選擇字型色彩 + 背景色彩 + 選擇背景色彩 版本 僅供參考 關於編輯器 - 產品資訊 + 保固資訊 字型 - 選擇字型 - 最近開啟 - 開啟上一次編輯的檔案 + 選擇字型類型 + 開啟最後 + 開啟最後編輯的檔案 主要設定 外觀 - 您已經修改了檔案內容 - 您確定要退出程式嗎? - 檔案已存在 - 繼續操作會覆蓋已存在的檔案,確定執行? - 離開 - 在此輸入一些內容 - 舊版檔案選擇器 - 使用舊版檔案選擇器 + 您已進行了一些變更。 + 您是否確認您想要離開此應用程式? + 檔案已經存在 + 已經存在的檔案將會被覆蓋,您是否確認要繼續? + 退出 + 在此輸入某些東西 + 傳統檔案選取器 + 使用傳統檔案選取器 編輯 復原 - 重做 - 開啟最近的檔案 - + 取消復原 檔案系統存取 替代檔案路徑 - 如果未授予檔案系統權限,則允許為檔案指定備用位置。 - 重設替代檔案路徑 - 按一下這裡重設儲存的替代檔案路徑 - 無法使用檔案系統名稱開啟檔案,您要使用媒體管理器選擇此檔案嗎? - 您確定要刪除儲存的替代檔案路徑嗎? - - 預設顏色 - 選擇文字醒目提示顏色 - 文字醒目提示顏色 - 選擇搜尋結果醒目提示顏色 - 搜尋結果醒目提示顏色 - 顯示上次編輯的檔案 + 如果沒有檔案系統授權,則允許檔案分配備用位址。 + 重置替代檔案路徑 + 點擊此處以重置儲存的替代檔案路徑 + 無法使用檔案系統名稱開啟檔案,您是否想要使用媒體管理器選擇此檔案? + 您是否確認您想要刪除儲存的替代檔案路徑? + 預設色彩 + 選擇文字突顯顏色 + 文字突顯顏色 + 選擇搜尋結果突顯顏色 + 搜尋結果突顯顏色 + 顯示最後編輯的檔案 在選項選單中顯示最後編輯的檔案 自動儲存 - 關閉視窗時自動儲存目前正在編輯的檔案 + 當視窗關閉時自動地儲存目前編輯的檔案 文字過長時自動換行 - 自動換行 - 開啟其他... - 分享 + 開啟其它… + 分享… 列印 - 色彩主題 選擇系統主題 自動 淺色 深色 自訂 - 使用喚醒鎖定 防止裝置進入睡眠模式 - 此檔案以唯讀模式開啟。您可以另存為其他名稱,或使用應用程式選單中的「開啟」命令重新開啟。 按一下這裡了解更多資訊。 警告:檔案為唯讀! @@ -112,5 +105,5 @@ 以唯讀模式繼續 修正捲動問題 如果文字在捲動時意外跳到末尾,請啟用此選項 - + 自動換行 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 6ee8616..cf5bf55 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -4,6 +4,7 @@ 简单文本编辑器 简单文本编辑器 - 设置 打开 + 打开最近的文件 新建 保存 另存为 @@ -33,7 +34,7 @@ 更换界面语言 检索 请输入文本 - 没有发现 "%s" + 没有发现 \"%s\" 打开上次编辑的文件 %s 搜索 选择颜色 @@ -51,7 +52,7 @@ 选择背景色 版本 仅供参考 - 关于编辑器 + 关于作者 产品信息 字体 选择字体 @@ -70,8 +71,6 @@ 编辑 撤销 重做 - 打开最近的文件 - 文件系统访问 替代文件路径 如果未授予文件系统权限,则允许为文件分配备用地址。 @@ -79,7 +78,6 @@ 单击此处重置存储的替代文件路径 无法使用文件系统名称打开文件,您要使用媒体管理器选择此文件吗? 您确定要删除存储的替代文件路径吗? - 默认颜色 选择文本突出显示颜色 文本高亮颜色 @@ -89,22 +87,17 @@ 在选项菜单中显示最后编辑的文件 自动保存 关闭窗口时自动保存当前正在编辑的文件 - 当文本过长时自动换行 - 自动换行 - 打开其他... - 分享 + 打开其他… + 分享… 打印 - 颜色主题 选择系统主题 自动 - 浅色 + 明亮 深色 自定义 - - 使用唤醒锁 - 防止设备进入睡眠模式 - + 使用唤醒锁定 + 阻止设备进入睡眠模式 此文件以只读模式打开。您可以另存为其他名称,或使用应用菜单中的“打开”命令重新打开。 点击此处了解更多信息。 警告:文件为只读! @@ -112,5 +105,4 @@ 以只读模式继续 修复滚动问题 如果文本在滚动时意外跳转到末尾,请启用此选项 - From 51d9347f2dfa89844e915740a2eca5c1e88bbd2d Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Thu, 4 Jun 2026 11:47:59 +0200 Subject: [PATCH 3/3] restore missing labels --- app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values-zh/strings.xml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index cf5bf55..2339f3a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -87,6 +87,8 @@ 在选项菜单中显示最后编辑的文件 自动保存 关闭窗口时自动保存当前正在编辑的文件 + 自动换行 + 当文本过长时自动换行 打开其他… 分享… 打印 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index cf5bf55..2339f3a 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -87,6 +87,8 @@ 在选项菜单中显示最后编辑的文件 自动保存 关闭窗口时自动保存当前正在编辑的文件 + 自动换行 + 当文本过长时自动换行 打开其他… 分享… 打印