diff --git a/src/locales/index.ts b/src/locales/index.ts index b65bc6c5..f863c8b3 100644 --- a/src/locales/index.ts +++ b/src/locales/index.ts @@ -10,6 +10,7 @@ export { default as ru } from "./ru/translation.json"; export { default as tr } from "./tr/translation.json"; export { default as be } from "./be/translation.json"; export { default as uk } from "./uk/translation.json"; +export { default as zh } from "./zh/translation.json"; export { default as id } from "./id/translation.json"; export { default as ko } from "./ko/translation.json"; export { default as da } from "./da/translation.json"; diff --git a/src/locales/zh/translation.json b/src/locales/zh/translation.json new file mode 100644 index 00000000..90fac513 --- /dev/null +++ b/src/locales/zh/translation.json @@ -0,0 +1,178 @@ +{ + "home": { + "featured": "特色推荐", + "recently_added": "最近添加", + "trending": "最近热门", + "surprise_me": "向我推荐", + "no_results": "没有找到结果" + }, + "sidebar": { + "catalogue": "游戏目录", + "downloads": "下载中心", + "settings": "设置", + "my_library": "我的游戏库", + "downloading_metadata": "{{title}} (正在下载元数据…)", + "checking_files": "{{title}} ({{percentage}} - 正在检查文件…)", + "paused": "{{title}} (已暂停)", + "downloading": "{{title}} ({{percentage}} - 正在下载…)", + "filter": "筛选游戏库", + "follow_us": "关注我们", + "home": "主页", + "discord": "加入我们的Discord", + "telegram": "加入我们的Telegram", + "x": "在X上关注我们", + "github": "在GitHub上贡献" + }, + "header": { + "search": "搜索", + "home": "主页", + "catalogue": "游戏目录", + "downloads": "下载中心", + "search_results": "搜索结果", + "settings": "设置" + }, + "bottom_panel": { + "no_downloads_in_progress": "没有正在进行的下载", + "downloading_metadata": "正在下载{{title}}的元数据…", + "checking_files": "正在检查{{title}}的文件… ({{percentage}}完成)", + "downloading": "正在下载{{title}}… ({{percentage}}完成) - 剩余时间{{eta}} - 速度{{speed}}" + }, + "catalogue": { + "next_page": "下一页", + "previous_page": "上一页" + }, + "game_details": { + "open_download_options": "打开下载选项", + "download_options_zero": "无下载选项", + "download_options_one": "{{count}}个下载选项", + "download_options_other": "{{count}}个下载选项", + "updated_at": "更新于{{updated_at}}", + "install": "安装", + "resume": "恢复", + "pause": "暂停", + "cancel": "取消", + "remove": "移除", + "remove_from_list": "从列表中移除", + "space_left_on_disk": "磁盘剩余空间{{space}}", + "eta": "预计完成时间{{eta}}", + "downloading_metadata": "正在下载元数据…", + "checking_files": "正在检查文件…", + "filter": "筛选重打包", + "requirements": "配置要求", + "minimum": "最低要求", + "recommended": "推荐要求", + "no_minimum_requirements": "{{title}}没有提供最低要求信息", + "no_recommended_requirements": "{{title}}没有提供推荐要求信息", + "paused_progress": "{{progress}} (已暂停)", + "release_date": "发布于{{date}}", + "publisher": "发行商{{publisher}}", + "copy_link_to_clipboard": "复制链接", + "copied_link_to_clipboard": "链接已复制", + "hours": "小时", + "minutes": "分钟", + "amount_hours": "{{amount}}小时", + "amount_minutes": "{{amount}}分钟", + "accuracy": "准确度{{accuracy}}%", + "add_to_library": "添加到游戏库", + "remove_from_library": "从游戏库移除", + "no_downloads": "没有可用的下载", + "play_time": "游戏时长{{amount}}", + "last_time_played": "上次玩{{period}}", + "not_played_yet": "您还没有玩过{{title}}", + "next_suggestion": "下一个建议", + "play": "开始游戏", + "deleting": "正在删除安装程序…", + "close": "关闭", + "playing_now": "正在游戏中", + "change": "更改", + "repacks_modal_description": "选择您想要下载的重打包", + "downloads_path": "下载路径", + "select_folder_hint": "要更改默认文件夹,请访问", + "settings": "设置", + "download_now": "立即下载", + "installation_instructions": "安装说明", + "installation_instructions_description": "安装这个游戏需要额外的步骤", + "online_fix_instruction": "OnlineFix游戏需要密码才能解压。需要时,使用以下密码:", + "dodi_installation_instruction": "打开DODI安装程序时,按键盘上的键<0 />开始安装过程:", + "dont_show_it_again": "不再显示", + "copied_to_clipboard": "已复制到剪贴板", + "got_it": "我已知晓", + "previous_screenshot": "上一张截图", + "next_screenshot": "下一张截图", + "screenshot": "截图 {{number}}", + "open_screenshot": "打开截图 {{number}}" + }, + "activation": { + "title": "激活 Hydra", + "installation_id": "安装ID:", + "enter_activation_code": "输入您的激活码", + "message": "如果你不知道在哪里请求这个,那么您将无法继续。", + "activate": "激活", + "loading": "加载中…" + }, + "downloads": { + "resume": "继续", + "pause": "暂停", + "eta": "预计完成时间{{eta}}", + "paused": "已暂停", + "verifying": "正在验证…", + "completed_at": "完成于{{date}}", + "completed": "已完成", + "cancelled": "已取消", + "download_again": "再次下载", + "cancel": "取消", + "filter": "筛选已下载游戏", + "remove": "移除", + "downloading_metadata": "正在下载元数据…", + "checking_files": "正在检查文件…", + "starting_download": "开始下载…", + "deleting": "正在删除安装程序…", + "delete": "移除安装程序", + "remove_from_list": "移除", + "delete_modal_title": "您确定吗?", + "delete_modal_description": "这将从您的电脑上移除所有的安装文件", + "install": "安装", + "real_debrid": "Real Debrid", + "torrent": "种子" + }, + "settings": { + "downloads_path": "下载路径", + "change": "更改", + "notifications": "通知", + "enable_download_notifications": "下载完成时", + "enable_repack_list_notifications": "添加新重打包时", + "telemetry": "遥测", + "telemetry_description": "启用匿名使用统计", + "real_debrid_api_token_description": "Real Debrid API密钥", + "behavior": "行为", + "general": "常规", + "quit_app_instead_hiding": "关闭应用程序而不是最小化到托盘", + "launch_with_system": "随系统启动时运行应用程序", + "enable_real_debrid": "启用 Real Debrid", + "real_debrid": "Real Debrid", + "real_debrid_api_token_hint": "您可以将API密钥填入<0>这里.", + "save_changes": "保存更改" + }, + "notifications": { + "download_complete": "下载完成", + "game_ready_to_install": "{{title}}已准备好安装", + "repack_list_updated": "重打包列表已更新", + "repack_count_one": "已添加{{count}}个重打包", + "repack_count_other": "已添加{{count}}个重打包" + }, + "system_tray": { + "open": "打开Hydra", + "quit": "退出" + }, + "game_card": { + "no_downloads": "没有可用的下载" + }, + "binary_not_found_modal": { + "title": "程序未安装", + "description": "在您的系统上未找到Wine或Lutris的可执行文件", + "instructions": "检查在您的Linux发行版上正确安装它们的方法,以便游戏可以正常运行" + }, + "modal": { + "close": "关闭按钮" + } +} diff --git a/src/renderer/src/helpers.ts b/src/renderer/src/helpers.ts index b51c9927..8fa9b943 100644 --- a/src/renderer/src/helpers.ts +++ b/src/renderer/src/helpers.ts @@ -27,6 +27,7 @@ export const getSteamLanguage = (language: string) => { if (language.startsWith("it")) return "italian"; if (language.startsWith("hu")) return "hungarian"; if (language.startsWith("pl")) return "polish"; + if (language.startsWith("zh")) return "chinese"; if (language.startsWith("da")) return "danish"; return "english"; diff --git a/src/renderer/src/hooks/use-date.ts b/src/renderer/src/hooks/use-date.ts index bce73186..f5e8204e 100644 --- a/src/renderer/src/hooks/use-date.ts +++ b/src/renderer/src/hooks/use-date.ts @@ -11,6 +11,7 @@ import { ru, it, be, + zhCN, da, } from "date-fns/locale"; import { useTranslation } from "react-i18next"; @@ -30,6 +31,7 @@ export function useDate() { if (language.startsWith("ru")) return ru; if (language.startsWith("it")) return it; if (language.startsWith("be")) return be; + if (language.startsWith("zh")) return zhCN; if (language.startsWith("da")) return da; return enUS;