diff --git a/.github/sync_translate.sh b/.github/sync_translate.sh index 1b0ea0b0..f6e4999d 100644 --- a/.github/sync_translate.sh +++ b/.github/sync_translate.sh @@ -1,7 +1,7 @@ key="FRu3eopQWgsvWmnycBXxv2eWpbUwGOu2" wget -O ../assets/translations/strings.i18n.json "https://localise.biz/api/export/locale/en-US.json?index=id&format=i18next4&key=$key" wget -O ../assets/translations/strings_fa.i18n.json "https://localise.biz/api/export/locale/fa.json?index=id&format=i18next4&key=$key" -# # wget -O assets/translations/strings_zh.i18n.json "https://localise.biz/api/export/locale/zh.json?index=id&format=i18next4&key=$key" +wget -O assets/translations/strings_zh.i18n.json "https://localise.biz/api/export/locale/zh.json?index=id&format=i18next4&key=$key" # # wget -O assets/translations/strings_pt.i18n.json "https://localise.biz/api/export/locale/pt.json?index=id&format=i18next4&key=$key" wget -O ../assets/translations/strings_ru.i18n.json "https://localise.biz/api/export/locale/ru.json?index=id&format=i18next4&key=$key" @@ -10,7 +10,7 @@ pip install polib deep-translator python-i18n # python3 auto_translator.py fa en python3 auto_translator.py en fa -# python3 auto_translator.py en zh +python3 auto_translator.py en zh # python3 auto_translator.py en pt python3 auto_translator.py en ru @@ -31,6 +31,6 @@ curl "https://localise.biz/api/import/json?format=i18next4&delete-absent=true&ig update_localise en update_localise fa -# # # update_localise zh +update_localise zh # # # update_localise pt update_localise ru \ No newline at end of file diff --git a/assets/translations/strings_zh.i18n.json b/assets/translations/strings_zh.i18n.json new file mode 100644 index 00000000..9573f659 --- /dev/null +++ b/assets/translations/strings_zh.i18n.json @@ -0,0 +1,254 @@ +{ + "general": { + "appTitle": "下一个", + "reset": "重置", + "toggle": { + "enabled": "启用", + "disabled": "残疾人" + }, + "state": { + "disable": "禁用" + }, + "sort": "种类", + "sortBy": "排序方式" + }, + "intro": { + "termsAndPolicyCaution(rich)": "继续即表示您同意 ${tap(@:about.termsAndConditions)}", + "start": "开始" + }, + "home": { + "pageTitle": "家", + "emptyProfilesMsg": "首先添加订阅配置文件", + "noActiveProfileMsg": "选择个人资料", + "connection": { + "tapToConnect": "点击连接", + "connecting": "正在连接", + "disconnecting": "断开连接", + "connected": "连接的" + }, + "stats": { + "traffic": "实时路况", + "trafficTotal": "总流量", + "uplink": "上行链路", + "downlink": "下行" + } + }, + "profile": { + "overviewPageTitle": "型材", + "detailsPageTitle": "轮廓", + "activeProfileNameSemanticLabel": "活动配置文件名称:“${name}”。", + "activeProfileBtnSemanticLabel": "查看所有个人资料。", + "nonActiveProfileBtnSemanticLabel": "选择“${name}”作为活动配置文件。", + "subscription": { + "traffic": "交通", + "updatedTimeAgo": "更新${时间前}", + "remainingDuration": "剩余 ${duration} 天", + "remainingTrafficSemanticLabel": "已消耗 ${consumed} 流量,共 ${total} 流量。", + "expired": "已到期", + "noTraffic": "不再有交通" + }, + "sortBy": { + "lastUpdate": "最近更新", + "name": "按字母顺序" + }, + "add": { + "buttonText": "新的配置文件", + "shortBtnTxt": "新的配置文件", + "fromClipboard": "从剪贴板添加", + "scanQr": "扫描二维码", + "manually": "手动输入", + "addingProfileMsg": "添加个人资料", + "failureMsg": "添加个人资料失败" + }, + "update": { + "buttonTxt": "更新", + "tooltip": "更新个人信息", + "failureMsg": "更新个人资料失败", + "successMsg": "个人资料更新成功" + }, + "edit": { + "buttonTxt": "编辑", + "selectActiveTxt": "选择活动配置文件" + }, + "delete": { + "buttonTxt": "删除", + "confirmationMsg": "永久删除个人资料吗?", + "successMsg": "个人资料删除成功" + }, + "save": { + "buttonText": "节省", + "successMsg": "个人资料保存成功", + "failureMsg": "保存个人资料失败" + }, + "detailsForm": { + "nameLabel": "姓名", + "nameHint": "个人资料名称", + "urlLabel": "网址", + "urlHint": "完整配置网址", + "emptyNameMsg": "姓名为必填项", + "invalidUrlMsg": "无效的网址", + "lastUpdate": "最后更新", + "updateInterval": "自动更新", + "updateIntervalDialogTitle": "自动更新间隔(以小时为单位)" + } + }, + "proxies": { + "pageTitle": "代理", + "emptyProxiesMsg": "没有可用的代理", + "delayTestTooltip": "测试延迟", + "sortTooltip": "对代理进行排序", + "sortOptions": { + "unsorted": "默认", + "name": "按字母顺序", + "delay": "延迟" + } + }, + "logs": { + "pageTitle": "日志", + "clearLogsButtonText": "清除日志", + "filterHint": "筛选", + "allLevelsFilter": "全部", + "shareCoreLogs": "分享核心日志", + "shareAppLogs": "共享应用程序日志" + }, + "settings": { + "pageTitle": "设置", + "requiresRestartMsg": "要使其生效,请重新启动应用程序", + "general": { + "sectionTitle": "一般的", + "locale": "语言", + "region": "地区", + "regionMsg": "帮助设置默认选项以绕过国内地址", + "regions": { + "ir": "伊朗 (ir)", + "cn": "中国 (cn)", + "other": "其他" + }, + "themeMode": "主题模式", + "themeModes": { + "system": "遵循系统主题", + "dark": "深色模式", + "light": "灯光模式" + }, + "enableAnalytics": "启用分析", + "enableAnalyticsMsg": "授予收集分析并发送崩溃报告以改进应用程序的权限", + "trueBlack": "纯黑", + "autoStart": "开机启动", + "silentStart": "无声启动", + "openWorkingDir": "打开工作目录", + "ignoreBatteryOptimizations": "禁用电池优化", + "ignoreBatteryOptimizationsMsg": "消除限制以获得最佳 VPN 性能" + }, + "advanced": { + "sectionTitle": "先进的", + "debugMode": "调试模式", + "debugModeMsg": "重新启动应用程序以应用此更改" + }, + "network": { + "perAppProxyPageTitle": "每个应用程序代理", + "perAppProxyModes": { + "off": "全部", + "offMsg": "代理所有应用程序", + "include": "代理人", + "includeMsg": "仅代理选定的应用程序", + "exclude": "旁路", + "excludeMsg": "不代理选定的应用程序" + }, + "showSystemApps": "显示系统应用程序", + "hideSystemApps": "隐藏系统应用程序", + "clearSelection": "清空选项" + }, + "config": { + "section": { + "route": "路线选项", + "dns": "DNS 选项", + "inbound": "入境选项", + "misc": "其他选项" + }, + "pageTitle": "配置选项", + "executeConfigAsIs": "按原样执行配置", + "executeConfigAsIsMsg": "只需进行最少的更改即可执行 SingBox 配置。", + "logLevel": "日志级别", + "resolveDestination": "解决目的地", + "ipv6Mode": "IPv6路由", + "ipv6Modes": { + "disable": "禁用", + "enable": "使能够", + "prefer": "首选", + "only": "独家的" + }, + "remoteDnsAddress": "远程域名解析", + "remoteDnsDomainStrategy": "远程 DNS 域策略", + "directDnsAddress": "直接域名解析", + "directDnsDomainStrategy": "直接 DNS 域策略", + "mixedPort": "混合港口", + "localDnsPort": "本地 DNS 端口", + "tunImplementation": "TUN实施", + "mtu": "最大传输单元", + "connectionTestUrl": "连接测试网址", + "urlTestInterval": "URL 测试间隔", + "enableClashApi": "启用冲突API", + "clashApiPort": "冲突 API 端口", + "enableTun": "启用TUN", + "setSystemProxy": "设置系统代理" + } + }, + "about": { + "pageTitle": "关于", + "version": "版本", + "sourceCode": "源代码", + "telegramChannel": "电报频道", + "checkForUpdate": "检查更新", + "privacyPolicy": "隐私政策", + "termsAndConditions": "条款和条件" + }, + "appUpdate": { + "notAvailableMsg": "已经使用最新版本", + "dialogTitle": "可用更新", + "updateMsg": "@:general.appTitle 的新版本现已推出。您想现在更新吗?", + "currentVersionLbl": "当前版本", + "newVersionLbl": "新版本", + "updateNowBtnTxt": "现在更新", + "laterBtnTxt": "之后", + "ignoreBtnTxt": "忽略" + }, + "tray": { + "dashboard": "仪表板", + "quit": "辞职", + "systemProxy": "系统代理" + }, + "failure": { + "unexpected": "意外的错误", + "clash": { + "unexpected": "意外的错误", + "core": "冲突错误${原因}" + }, + "singbox": { + "unexpected": "意外的服务错误", + "serviceNotRunning": "服务未运行", + "invalidConfigOptions": "无效的配置选项", + "invalidConfig": "无效配置", + "create": "服务创建错误", + "start": "服务启动错误" + }, + "connectivity": { + "unexpected": "意外失败", + "missingVpnPermission": "缺少 VPN 权限", + "missingNotificationPermission": "缺少通知权限", + "core": "核心错误" + }, + "profiles": { + "unexpected": "意外的错误", + "notFound": "未找到个人资料", + "invalidConfig": "无效的配置", + "invalidUrl": "无效的网址" + }, + "connection": { + "unexpected": "意外的连接错误", + "timeout": "连接超时", + "badResponse": "反应不佳", + "connectionError": "连接错误", + "badCertificate": "不良证书" + } + } +} \ No newline at end of file