diff --git a/README.ja.md b/README.ja.md index e96511dd..bf89d7de 100644 --- a/README.ja.md +++ b/README.ja.md @@ -6,7 +6,7 @@ [![Licence](https://img.shields.io/github/license/misyaguziya/VRCT)](https://github.com/misyaguziya/VRCT/blob/master/LICENSE) [![Booth](https://img.shields.io/badge/Store-Booth.pm-red)](https://misyaguziya.booth.pm/items/5155325) -| [English](./README.md) | **日本語** | [한국어](./README.ko.md) | +| [English](./README.md) | **日本語** | [한국어](./README.ko.md) | [繁體中文](./README.zh-Hant.md) |

VRCTは翻訳や文字起こしでVRChatの会話をサポートするソフトウェアです。 diff --git a/README.md b/README.md index ddd0d8e7..e31efb95 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Licence](https://img.shields.io/github/license/misyaguziya/VRCT)](https://github.com/misyaguziya/VRCT/blob/master/LICENSE) [![Booth](https://img.shields.io/badge/Store-Booth.pm-red)](https://misyaguziya.booth.pm/items/5155325) -| **English** | [日本語](./README.ja.md) | [한국어](./README.ko.md) | +| **English** | [日本語](./README.ja.md) | [한국어](./README.ko.md) | [繁體中文](./README.zh-Hant.md) |

VRCT is software that supports VRChat conversations with translation and transcription. diff --git a/README.zh-Hant.md b/README.zh-Hant.md new file mode 100644 index 00000000..8ce05001 --- /dev/null +++ b/README.zh-Hant.md @@ -0,0 +1,64 @@ +
+ +![](docs/vrct_logo.png) +[![GitHub release](https://img.shields.io/github/v/release/misyaguziya/VRCT.svg)](https://github.com/misyaguziya/VRCT/releases) +[![Downloads](https://img.shields.io/github/downloads/misyaguziya/VRCT/total)](https://github.com/misyaguziya/VRCT/releases) +[![Licence](https://img.shields.io/github/license/misyaguziya/VRCT)](https://github.com/misyaguziya/VRCT/blob/master/LICENSE) +[![Booth](https://img.shields.io/badge/Store-Booth.pm-red)](https://misyaguziya.booth.pm/items/5155325) + +| [English](./README.md) | [日本語](./README.jp.md) | [한국어](./README.kr.md) | **繁體中文** | + +

+VRCT 是一個支援 VRChat 對話翻譯和紀錄的軟體。 +

+ +![](docs/main_window.png) + +
+ +# 下載 & 安裝 +你可以從這些地方下載 VRCT: +- [Github.com](https://github.com/misyaguziya/VRCT/releases/) +- [BOOTH.pm](https://misyaguziya.booth.pm/items/5155325) + +你只需要下載並啟動 exe 文件。 + +# 什麼是 VRCT? +VRCT 是一種透過提供聊天或語音翻譯來幫助語言不通的人對話的軟體。 +這些功能專為在 VRChat 中使用而設計,但你也可以拿來看電影。 + +VRCT 可以: +- 💬 **傳送訊息至遊戲內 Chatbox** +- 🌐 **自動翻譯** +- 🎙 **麥克風轉文字** +- 🔈 **喇叭轉文字** + +# 文件 +解釋了初始設定、基本功能以及其他功能。 +- [文件(日語)](https://mzsoftware.notion.site/VRCT-Documents-be79b7a165f64442ad8f326d86c22246?pvs=4) + +# YouTube 教學(日語、英文字幕) +
+ +[![](https://img.youtube.com/vi/rUTad037n8Q/0.jpg)](https://www.youtube.com/watch?v=rUTad037n8Q) + +
+ +# 原始碼啟動 +1. 安裝此版本的 Python。 + `python version 3.11.5` +2. 安裝 package 並啟動 main.py。 + ```bash + ./install.bat + python main.py + ``` + +## 作者 +- [みしゃ(misyaguzi)](https://github.com/misyaguziya) (主要開發) +- [しいな(Shiina_12siy)](https://twitter.com/Shiina_12siy) (UI/UX, UI 多語系支援) +- [レラ](https://github.com/soumt-r) (韓語翻譯) +- [どね](https://twitter.com/done_vrc) (Logo 設計) + +--- + +VRCT 未得到 VRChat 的認可,也不反映 VRChat 或正式參與製作或管理 VRChat 財產的任何人的觀點或意見。VRChat 和所有相關財產均為 VRChat Inc. 的商標或註冊商標。 \ No newline at end of file diff --git a/config.py b/config.py index bdeca14e..35ab252c 100644 --- a/config.py +++ b/config.py @@ -935,7 +935,8 @@ class Config: self._SELECTABLE_UI_LANGUAGES_DICT = { "en": "English", "ja": "日本語", - "ko": "한국어" + "ko": "한국어", + "zh-Hant": "繁體中文" # If you want to add a new language and key, please append it here. } self._SELECTABLE_CTRANSLATE2_WEIGHT_TYPE_DICT = { diff --git a/locales/zh-Hant.yml b/locales/zh-Hant.yml new file mode 100644 index 00000000..df58c089 --- /dev/null +++ b/locales/zh-Hant.yml @@ -0,0 +1,283 @@ +main_window: + translation: 翻譯 + transcription_send: 麥克風轉文字 + transcription_receive: 喇叭轉文字 + foreground: 最上層顯示 + + language_settings: 語言設定 + your_language: 你的語言 + translate_each_other_label: 互相翻譯 + swap_button_label: 交換語言 + target_language: 目標語言 + translator: 翻譯器 + translator_ctranslate2: 離線翻譯(預設) + + textbox_tab_all: 全部 + textbox_tab_sent: 已發送 + textbox_tab_received: 已接收 + textbox_tab_system: 系統 + + textbox_system_message: + enabled_easter_egg: 你找到了彩蛋!看看你的 VR Overlay 有沒有什麼變化? + enabled_translation: 翻譯功能已啟用。 + disabled_translation: 翻譯功能已停用。 + enabled_voice2chatbox: 麥克風轉文字已啟用。 + disabled_voice2chatbox: 麥克風轉文字已停用。 + enabled_speaker2log: 喇叭轉文字已啟用。 + disabled_speaker2log: 喇叭轉文字已停用。 + enabled_foreground: 最上層顯示已啟用。 + disabled_foreground: 最上層顯示已停用。 + + auth_key_success: 授權金鑰更新完成。 + auth_key_error: 授權金鑰錯誤或已達使用上限。 + + no_mic_device_detected_error: 未偵測到麥克風。 + no_speaker_device_detected_error: 未偵測到喇叭。 + translation_engine_limit_error: 翻譯引擎已自動變更。由於請求太頻繁,已被這個翻譯引擎暫時受限。如果你想使用相同的翻譯引擎,請稍等片刻,重新啟動 VRCT 並重試。 + + detected_by_word_filter: 由於詞語過濾器的偵測,「%{detected_message}」未被發送。 + + selected_your_language: "「你的語言」已設為 %{your_language}。" + selected_target_language: "「目標語言」已設為 %{target_language}。" + switched_language_preset_tab: 已切換到第 %{tab_no} 個語言設定。 + latest_language_setting: "目前「你的語言」設為 %{your_language},「目標語言」設為 %{target_language}。" + + opened_web_page_booth: 已在瀏覽器中打開 Booth 頁面。 + opened_web_page_vrct_documents: "已在瀏覽器中打開VRCT文件頁面。\n如有任何問題、請求或查詢,請通過文件頁面底部的連結、「聯絡表單」或 X (Twitter) 聯絡我們!" + + update_available: 有新版本可供使用! + state_text_enabled: 啟用 + state_text_disabled: 停用 + + cover_message: VRCT 功能在設定視窗關閉前暫時停用。 + + confirmation_message: + update_software: "下載新版本並自動更新 VRCT。\n會花一些時間,現在更新嗎?" + deny_update_software: 稍後再說 + accept_update_software: 更新 + updating: 正在更新... + + detected_over_ui_size: "介面大小:%{current_ui_size}\nVRCT 的視窗大小可能超過你的螢幕大小。" + deny_adjust_ui_size: "保持目前大小" + accept_adjust_ui_size: "縮小介面並重新啟動" + +selectable_language_window: + title_your_language: 選擇你的語言 + title_target_language: 選擇目標語言 + go_back_button: 返回 + +overlay_settings: + restore_default_settings: 恢復預設設定 + opacity: 透明度 + ui_scaling: 介面縮放 + x_position: X軸(左右) + y_position: Y軸(上下) + z_position: Z軸(前後) + x_rotation: X軸旋轉 + y_rotation: Y軸旋轉 + z_rotation: Z軸旋轉 + display_duration: 顯示持續時間 + fadeout_duration: 淡出持續時間 + +config_window: + config_title: 設定 + compact_mode: 精簡模式 + version: 版本 %{version} + restart_message: 重新啟動以應用變更。 + common_error_message: + invalid_value: 無效值。 + + side_menu_labels: + appearance: 外觀 + translation: 翻譯 + transcription: 轉錄 + transcription_mic: 麥克風 + transcription_speaker: 喇叭 + transcription_internal_model: 轉錄模型 + vr: VR + others: 其他 + others_send_message_formats: 訊息格式(發送) + others_received_message_formats: 訊息格式(XSOverlay & 喇叭轉文字) + others_speaker2chatbox: 喇叭轉文字 + advanced_settings: 進階設定 + + transparency: + label: 透明度 + desc: 變更主視窗的透明度。 + + appearance_theme: + label: 主題 + desc: 變更配色主題。 + + ui_size: + label: 介面大小 + + textbox_ui_size: + label: 訊息框字體大小 + desc: 你可以根據介面大小調整記錄中使用的字體大小。 + + message_box_ratio: + label: 訊息框大小 + desc: "你可以依介面比例縮放輸入訊息框。\n*可能不準確。" + + font_family: + label: 字型 + + ui_language: + label: 介面語言 + + to_restore_main_window_geometry: + label: 記住主視窗位置 + desc: 啟動時恢復上次視窗的位置和大小。 + + use_translation_feature: + label: 使用翻譯功能 + desc: 當此功能關閉時,無法使用翻譯功能。但 VRCT 會啟動得更快。適合不需要翻譯功能、只使用VRCT作為聊天框和轉錄工具的使用者。 + + ctranslate2_weight_type: + label: 選擇離線翻譯模型 + desc: 你可以選擇用於離線翻譯引擎的翻譯模型。 + small: "基本模型(%{capacity})" + large: "高準確率模型(%{capacity})" + + deepl_auth_key: + label: DeepL 授權金鑰 + desc: 使用 DeepL API 時請在主螢幕選擇 %{translator}。※可能不支援某些語言。 + open_auth_key_webpage: 打開 DeepL 帳號頁面 + auth_key_success: 授權金鑰更新完成。 + auth_key_error: 授權金鑰錯誤或已達使用上限。 + + mic_host: + label: 麥克風 Host/Driver + + mic_device: + label: 麥克風裝置 + + mic_dynamic_energy_threshold: + label_for_automatic: "麥克風能量閾值(當前設置:自動)" + desc_for_automatic: "自動判定麥克風輸入靈敏度。" + label_for_manual: "麥克風能量閾值(當前設置:手動)" + desc_for_manual: "使用滑桿調整麥克風輸入靈敏度,你可以按下麥克風圖示來測試。" + error_message: 可以設置 0 到 %{max} 之間的值。 + + mic_record_timeout: + label: 麥克風音訊 - 判定結束時間 + desc: 麥克風未收到音訊後,結束一段話的判定時間(秒)。 + error_message: 不能大於「%{mic_phrase_timeout_label}」,應為 0 或更高。 + + mic_phrase_timeout: + label: 麥克風音訊 - 紀錄間隔時間 + desc: 每隔多久要紀錄一次音訊。 + error_message: 不能小於「%{mic_record_timeout_label}」,應為 0 或更高。 + + mic_max_phrase: + label: 麥克風音訊 - 最大單詞數量 + desc: 只有在單詞超過此數量時,才會記錄結果並發送到 VRChat。 + error_message: 可以設置為 0 或更高的數值。 + + mic_word_filter: + label: 麥克風單詞過濾器 + desc: "如果偵測到清單內的單詞,則不會發送訊息。要一次新增多個詞語,請用「,」(半形逗號)分隔。\n*重複詞語會被忽略。" + add_button_label: 新增 + count_desc: "當前註冊詞語數量:%{count}" + + speaker_device: + label: 喇叭裝置 + + speaker_dynamic_energy_threshold: + label_for_automatic: "喇叭能量閾值(當前設置:自動)" + desc_for_automatic: "自動確定喇叭輸入靈敏度。" + label_for_manual: "喇叭能量閾值(當前設置:手動)" + desc_for_manual: "使用滑桿調整喇叭輸入靈敏度,你可以按下喇叭圖示來測試。" + error_message: 可以設置 0 到 %{max} 之間的值。 + no_device_error_message: 未偵測到喇叭裝置。 + + speaker_record_timeout: + label: 喇叭音訊 - 判定結束時間 + desc: 偵測到靜音並在指定秒數後認為喇叭輸入已結束。(秒) + error_message: 不能大於「%{speaker_phrase_timeout_label}」,應為 0 或更高。 + + speaker_phrase_timeout: + label: 喇叭音訊 - 紀錄間隔時間 + desc: 以指定秒數間隔進行轉錄處理。 + error_message: 不能小於「%{speaker_record_timeout_label}」,應為 0 或更高。 + + speaker_max_phrase: + label: 喇叭音訊 - 最大單詞數量 + desc: 只有在單詞超過此數量時,才會記錄結果並發送到 VRChat。 + error_message: 可以設置 0 或更高的數值。 + + use_whisper_feature: + label: 使用 Whisper 模型進行轉錄 + desc: 在某些語言中,語音識別的準確性可能會提高。使用語音識別時,CPU使用率會增加,請根據你的PC規格考慮是否使用此功能。 + + whisper_weight_type: + label: 選擇 Whisper 模型 + desc: "一般來說,容量較大的模型往往具有更高的準確性,但這也導致轉錄時間較長和CPU使用率增加。請參考文檔了解各模型的說明。\n※特別是超過中等大小的模型,根據CPU性能可能難以運行。" + model_template: "%{model_name}模型(%{capacity})" + recommended_model_template: "%{model_name}模型(%{capacity})(推薦)" + + enable_overlay_small_log: + label: 啟用 Overlay + open_overlay_settings: 打開 Overlay 自定義設定 + + auto_clear_the_message_box: + label: 自動清除 Chatbox + + send_only_translated_messages: + label: 僅發送翻譯訊息 + + send_message_button_type: + label: 發送訊息按鈕 + hide: 隱藏(使用 Enter 鍵發送) + show: 顯示 + show_and_disable_enter_key: 顯示並停用 Enter 鍵發送 + + notice_xsoverlay: + label: XSOverlay 通知 + desc: 從 XSOverlay 的通知功能接收訊息。 + + auto_export_message_logs: + label: 自動匯出訊息記錄 + desc: 自動將對話訊息匯出為文字文件。 + + vrc_mic_mute_sync: + label: VRC 麥克風靜音同步 + desc: "當 VRChat 的麥克風靜音時,VRCT 將不會向 VRChat 發送訊息。\n*存在一些延遲且不支援按鍵發話 (PTT)。" + + send_message_to_vrc: + label: 發送訊息到 VRChat + desc: 當你打算向 VRChat 發送訊息時啟用此功能。 + + send_message_format: + label: 發送的訊息格式 + desc: "你可以設定要發送的訊息格式。\n[message] 將被替換為訊息。" + example_text: 這是一個範例。字體、換行等可能與實際顯示不同。 + error_message: "不能使用 [message] 。" + + send_message_format_with_t: + label: 發送的訊息格式(帶翻譯) + desc: "你可以設定要發送的訊息格式。\n[message] 將被替換為訊息,並且 [translation] 將被替換為翻譯訊息。" + example_text: 這是一個範例。字體、換行等可能與實際顯示不同。 + error_message: "不能使用 [message] 和 [translation] 。" + + received_message_format: + label: 接收的訊息格式 + desc: "用於 XSOverlay 的通知接收功能。\n[message] 將被替換為訊息。\n※它也將用於喇叭轉文字功能。" + example_text: 這是一個範例。字體、換行等可能與實際顯示不同。 + error_message: "不能使用 [message] 。" + + received_message_format_with_t: + label: 接收的訊息格式(附翻譯) + desc: "用於 XSOverlay 的通知接收功能。\n[message] 將被替換為訊息,並且 [translation] 將被替換為翻譯訊息。\n※它也將用於喇叭轉文字功能。" + example_text: 這是一個範例。字體、換行等可能與實際顯示不同。 + error_message: "不能使用 [message] 和 [translation] 。" + + osc_ip_address: + label: OSC IP 位址 + + osc_port: + label: OSC 端口 + + open_config_filepath: + label: 打開設定文件 \ No newline at end of file