Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(localization): add Traditional Chinese language support #1006

Merged
merged 5 commits into from
Oct 3, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions client/src/components/Nav/SettingsTabs/General.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ export const LangSelector = ({
<option value="auto">{localize('com_nav_lang_auto')}</option>
<option value="en-US">{localize('com_nav_lang_english')}</option>
<option value="zh-CN">{localize('com_nav_lang_chinese')}</option>
<option value="zh-TC">{localize('com_nav_lang_traditionalchinese')}</option>
<option value="de-DE">{localize('com_nav_lang_german')}</option>
<option value="es-ES">{localize('com_nav_lang_spanish')}</option>
<option value="fr-FR">{localize('com_nav_lang_french')}</option>
Expand Down
2 changes: 2 additions & 0 deletions client/src/localization/Translation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import Russian from './languages/Ru';
import Japanese from './languages/Jp';
import Swedish from './languages/Sv';
import Korean from './languages/Ko';
import TraditionalChinese from './languages/ZhTraditional';
// === import additional language files here === //

const languageMap: { [key: string]: unknown } = {
Expand All @@ -25,6 +26,7 @@ const languageMap: { [key: string]: unknown } = {
'ja-JP': Japanese,
'sv-SE': Swedish,
'ko-KR': Korean,
'zh-TC': TraditionalChinese,
// Add additional language mappings here
};

Expand Down
256 changes: 256 additions & 0 deletions client/src/localization/languages/ZhTraditional.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
// Traditional Chinese phrases

export default {
com_ui_examples: '範例',
com_ui_new_chat: '新聊天',
com_ui_example_quantum_computing: '以簡單的方式解釋量子計算',
com_ui_example_10_year_old_b_day: '對於一個十歲生日,有什麼創意的主意嗎?',
com_ui_example_http_in_js: '如何在Javascript中進行HTTP請求?',
com_ui_capabilities: '功能',
com_ui_capability_remember: '記得先前在對話中提到的內容',
com_ui_capability_correction: '允許用戶提供後續修正',
com_ui_capability_decline_requests: '受過培訓以拒絕不適當的請求',
com_ui_limitations: '限制',
com_ui_limitation_incorrect_info: '有時可能會生成不正確的資訊',
com_ui_limitation_harmful_biased:
'有時可能會生成有害或偏見的內容',
com_ui_limitation_limited_2021: '對2021年以後的世界和事件知識有限',
com_ui_input: '輸入',
com_ui_close: '關閉',
com_ui_model: '模型',
com_ui_select_model: '選擇模型',
com_ui_use_prompt: '使用提示',
com_ui_prev: '上一個',
com_ui_next: '下一個',
com_ui_prompt_templates: '提示範本',
com_ui_hide_prompt_templates: '隱藏提示範本',
com_ui_showing: '顯示',
com_ui_of: '的',
com_ui_entries: '條目',
com_ui_pay_per_call: '所有 AI 對話都在一個地方。按次數付費而非按月付費',
com_ui_enter: '輸入',
com_ui_submit: '提交',
com_ui_upload_success: '文件成功上傳',
com_ui_upload_invalid: '無效的上傳文件',
com_ui_cancel: '取消',
com_ui_save: '保存',
com_ui_copy_to_clipboard: '複製到剪貼板',
com_ui_copied_to_clipboard: '已複製到剪貼板',
com_ui_regenerate: '重新生成',
com_ui_continue: '繼續',
com_ui_edit: '編輯',
com_ui_success: '成功',
com_ui_all: '全部',
com_ui_clear: '清除',
com_ui_revoke: '撤銷',
com_ui_revoke_info: '撤銷所有用戶提供的憑證。',
com_ui_confirm_action: '確認操作',
com_ui_chats: '聊天',
com_ui_delete: '刪除',
com_ui_delete_conversation: '刪除聊天?',
com_ui_delete_conversation_confirm: '這將刪除',
com_auth_error_login:
'無法使用提供的信息登錄。請檢查您的憑據並重試。',
com_auth_error_login_rl:
'短時間內太多的登錄嘗試。請稍後再試。',
com_auth_error_login_ban:
'由於違反我們的服務條款,您的帳戶已被暫時禁用。',
com_auth_error_login_server:
'發生內部服務器錯誤。請稍候片刻,然後再試一次。',
com_auth_no_account: '還沒有帳號?',
com_auth_sign_up: '註冊',
com_auth_sign_in: '登錄',
com_auth_google_login: '使用 Google 登錄',
com_auth_facebook_login: '使用 Facebook 登錄',
com_auth_github_login: '使用 Github 登錄',
com_auth_discord_login: '使用 Discord 登錄',
com_auth_email: '電子郵件',
com_auth_email_required: '電子郵件是必需的',
com_auth_email_min_length: '電子郵件必須至少6個字符',
com_auth_email_max_length: '電子郵件長度不能超過120個字符',
com_auth_email_pattern: '您必須輸入有效的電子郵件地址',
com_auth_email_address: '電子郵件地址',
com_auth_password: '密碼',
com_auth_password_required: '密碼是必需的',
com_auth_password_min_length: '密碼必須至少8個字符',
com_auth_password_max_length: '密碼長度必須小於128個字符',
com_auth_password_forgot: '忘記密碼?',
com_auth_password_confirm: '確認密碼',
com_auth_password_not_match: '密碼不匹配',
com_auth_continue: '繼續',
com_auth_create_account: '創建您的帳戶',
com_auth_error_create:
'註冊帳戶時出了一個錯誤。請重試。',
com_auth_full_name: '全名',
com_auth_name_required: '名稱是必需的',
com_auth_name_min_length: '名稱必須至少3個字符',
com_auth_name_max_length: '名稱長度必須小於80個字符',
com_auth_username: '用戶名(可選)',
com_auth_username_required: '用戶名是必需的',
com_auth_username_min_length: '用戶名長度必須至少為2個字符',
com_auth_username_max_length: '用戶名長度必須小於20個字符',
com_auth_already_have_account: '已經有帳號了?',
com_auth_login: '登錄',
com_auth_reset_password: '重設密碼',
com_auth_click: '點擊',
com_auth_here: '這裡',
com_auth_to_reset_your_password: '重設您的密碼。',
com_auth_reset_password_link_sent: '郵件已發送',
com_auth_reset_password_email_sent:
'已向您發送電子郵件,其中包含進一步的重置密碼操作說明。',
com_auth_error_reset_password:
'重設密碼時出現問題。找不到使用提供的電子郵件地址的用戶。請重試。',
com_auth_reset_password_success: '密碼重置成功',
com_auth_login_with_new_password: '您現在可以使用新密碼登錄。',
com_auth_error_invalid_reset_token: '此密碼重設令牌已失效。',
com_auth_click_here: '點擊這裡',
com_auth_to_try_again: '重試。',
com_auth_submit_registration: '提交註冊信息',
com_auth_welcome_back: '歡迎回來',
com_endpoint_open_menu: '打開菜單',
com_endpoint_bing_enable_sydney: '啟用悉尼',
com_endpoint_bing_to_enable_sydney: '要啟用Sydney',
com_endpoint_bing_jailbreak: '越獄',
com_endpoint_bing_context_placeholder:
'Bing 可以使用多達7K個詞元進行「語境」,並引用於對話中。具體限制不詳,但超過7K詞元可能會產生錯誤',
com_endpoint_bing_system_message_placeholder:
'警告:濫用此功能將導致您無法使用 Bing!點擊「系統消息」了解完整指示以及預設消息(如果忽略),預設消息是被認為安全的「Sydney」預設字典。',
com_endpoint_system_message: '系統消息',
com_endpoint_default_blank: '預設值:空',
com_endpoint_default_false: '預設值:false',
com_endpoint_default_creative: '預設值:creative',
com_endpoint_default_empty: '預設值:空',
com_endpoint_default_with_num: '預設值:{0}',
com_endpoint_context: '語境',
com_endpoint_tone_style: '風格',
com_endpoint_token_count: '詞元計數',
com_endpoint_output: '輸出',
com_endpoint_google_temp:
'較高的值表示更隨機,而較低的值表示更集中和確定性。我們建議只更改此值或 Top P 而不是兩者都更改。',
com_endpoint_google_topp:
'Top-p 改變模型選擇輸出詞元的方式。模型會從最可能的 K(請參閱 topK 參數)開始選擇詞元,直到它們的概率之和等於 top-p 值。',
com_endpoint_google_topk:
'Top-k 改變模型選擇輸出詞元的方式。Top-k 為 1 意味著所選詞元在模型詞彙表中所有詞元中最有可能(也稱為貪婪解碼),而 Top-k 為 3 則意味著下一個詞元將從最有可能的 3 個詞元中選擇(使用溫度)。',
com_endpoint_google_maxoutputtokens:
'生成的回應中可以生成的最大詞元數。對於較短的回應,請指定較低的值;對於較長的回應,請指定較高的值。',
com_endpoint_google_custom_name_placeholder: '為 PaLM2 設置自定義名稱',
com_endpoint_prompt_prefix_placeholder: '設置自定義指示或語境。如果為空則忽略。',
com_endpoint_custom_name: '自定義名稱',
com_endpoint_prompt_prefix: '提示前綴',
com_endpoint_temperature: '溫度',
com_endpoint_default: '預設',
com_endpoint_top_p: 'Top P',
com_endpoint_top_k: 'Top K',
com_endpoint_max_output_tokens: '最大輸出詞元數',
com_endpoint_openai_temp:
'較高的值表示更隨機,而較低的值表示更集中和確定性。我們建議只更改此值或 Top P 而不是兩者都更改。',
com_endpoint_openai_max:
'要生成的最大詞元數。輸入詞元和生成詞元的總長度受到模型語境長度的限制。',
com_endpoint_openai_topp:
'與溫度取樣相比的替代方法,稱為頂部 p 取樣,模型會考慮 top_p 概率轉移的結果。因此,0.1 意味著僅考慮佔 top_p 概率質量的詞元。我們建議更改此值或溫度,但不要同時更改兩者。',
com_endpoint_openai_freq:
'介於 -2.0 和 2.0 之間的數字。正值基於文本中該詞元的現有頻率懲罰新詞元,減少模型直接複製相同行的可能性。',
com_endpoint_openai_pres:
'介於 -2.0 和 2.0 之間的數字。正值通過該詞元在文本中是否出現懲罰新詞元,增加模型希望談論新話題的可能性。',
com_endpoint_openai_custom_name_placeholder: '為 ChatGPT 設置自定義名稱',
com_endpoint_openai_prompt_prefix_placeholder:
'在系統消息中添加自定義指示,預設:無',
com_endpoint_anthropic_temp:
'取值範圍為 0 到 1。將 temp 設定為接近 0 時,用於分析師/多選題,而接近 1 時用於創意和生成任務。我們建議只更改此值或 Top P 而不是兩者都更改。',
com_endpoint_anthropic_topp:
'Top-p 改變模型選擇輸出詞元的方式。模型會從最可能的 K(請參閱 topK 參數)開始選擇詞元,直到它們的概率之和等於 top-p 值。',
com_endpoint_anthropic_topk:
'Top-k 改變模型選擇輸出詞元的方式。Top-k 為 1 意味著所選詞元在模型詞彙表中所有詞元中最有可能(也稱為貪婪解碼),而 Top-k 為 3 則意味著下一個詞元將從最有可能的 3 個詞元中選擇(使用溫度)。',
com_endpoint_anthropic_maxoutputtokens:
'生成的回應中可以生成的最大詞元數。對於較短的回應,請指定較低的值;對於較長的回應,請指定較高的值。',
com_endpoint_anthropic_custom_name_placeholder: '為 Anthropic 設置自定義名稱',
com_endpoint_frequency_penalty: '頻率懲罰',
com_endpoint_presence_penalty: '存在懲罰',
com_endpoint_plug_use_functions: '使用插件作為 OpenAI 函數',
com_endpoint_plug_skip_completion: '跳過完成步驟',
com_endpoint_disabled_with_tools: '停用與工具',
com_endpoint_disabled_with_tools_placeholder: '使用選定的工具禁用',
com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
'在系統消息中設置自定義指示。預設:無',
com_endpoint_import: '導入',
com_endpoint_set_custom_name: '設置自定義名稱,以便找到此預設值',
com_endpoint_preset: '預設值',
com_endpoint_presets: '預設值',
com_endpoint_preset_name: '預設值名稱',
com_endpoint_new_topic: '新主題',
com_endpoint: '端點',
com_endpoint_hide: '隱藏',
com_endpoint_show: '顯示',
com_endpoint_examples: ' 示例',
com_endpoint_completion: '完成',
com_endpoint_agent: '代理',
com_endpoint_show_what_settings: '顯示 {0} 設置',
com_endpoint_save: '保存',
com_endpoint_export: '導出',
com_endpoint_save_as_preset: '另存預設值',
com_endpoint_presets_clear_warning: '您確定要清除所有預設值嗎?此操作不可逆轉。',
com_endpoint_not_implemented: '未實施',
com_endpoint_no_presets: '尚未設置預設值',
com_endpoint_not_available: '沒有可用的端點',
com_endpoint_view_options: '檢視選項',
com_endpoint_save_convo_as_preset: '將對話另存為預設值',
com_endpoint_my_preset: '我的預設值',
com_endpoint_agent_model: '代理模型(建議:GPT-3.5)',
com_endpoint_completion_model: '完成模型(建議:GPT-4)',
com_endpoint_func_hover: '啟用將插件用作 OpenAI 函數',
com_endpoint_skip_hover: '跳過完成步驟,檢查最終答案和生成步驟',
com_endpoint_config_key: '設置 API 密鑰',
com_endpoint_config_key_for: '為{0}設置API密鑰',
com_endpoint_config_key_name: '鍵',
com_endpoint_config_value: '輸入{0}的值',
com_endpoint_config_key_name_placeholder: '請先設置 API 密鑰',
com_endpoint_config_key_encryption: '您的密鑰將被加密並於',
com_endpoint_config_key_expiry: '到期時刪除',
com_endpoint_config_key_import_json_key: '導入服務帳戶 JSON 鍵。',
com_endpoint_config_key_import_json_key_success: '成功導入服務帳戶 JSON 鍵',
com_endpoint_config_key_import_json_key_invalid:
'無效的服務帳戶 JSON 鍵,您是否導入了正確的文件?',
com_endpoint_config_key_get_edge_key: '要獲取 Bing 的訪問權杖,請登錄到',
com_endpoint_config_key_get_edge_key_dev_tool:
'在訪問該網站時使用開發工具或擴展程序從 _U cookie 中複製其內容。如果此方法失敗,請按照這些',
com_endpoint_config_key_edge_instructions: '說明',
com_endpoint_config_key_edge_full_key_string: '獲取完整的 Cookie 字符串。',
com_endpoint_config_key_chatgpt: '要獲取 ChatGPT \'免費版本\' 的訪問權杖,請登錄到',
com_endpoint_config_key_chatgpt_then_visit: '然後訪問',
com_endpoint_config_key_chatgpt_copy_token: '複製訪問權杖。',
com_endpoint_config_key_google_need_to: '您需要',
com_endpoint_config_key_google_vertex_ai: '在 Google Cloud 上啟用 Vertex AI',
com_endpoint_config_key_google_vertex_api: 'API,然後',
com_endpoint_config_key_google_service_account: '創建一個服務帳戶',
com_endpoint_config_key_google_vertex_api_role:
'請確保單擊\'創建和繼續\'並至少將\'Vertex AI 使用者\'角色授予。最後,創建一個 JSON 鍵,在此處導入。',
com_nav_export_filename: '文件名稱',
com_nav_export_filename_placeholder: '設置文件名稱',
com_nav_export_type: '類型',
com_nav_export_include_endpoint_options: '包含端點選項',
com_nav_enabled: '已啟用',
com_nav_not_supported: '不支援',
com_nav_export_all_message_branches: '導出所有訊息分支',
com_nav_export_recursive_or_sequential: '遞歸還是順序?',
com_nav_export_recursive: '遞歸',
com_nav_export_conversation: '導出對話',
com_nav_theme: '主題',
com_nav_theme_system: '系統',
com_nav_theme_dark: '黑暗',
com_nav_theme_light: '亮色',
com_nav_clear_all_chats: '清除所有聊天',
com_nav_confirm_clear: '確認清除',
com_nav_close_sidebar: '關閉側邊欄',
com_nav_open_sidebar: '打開側邊欄',
com_nav_log_out: '登出',
com_nav_user: '用戶',
com_nav_clear_conversation: '清除對話',
com_nav_clear_conversation_confirm_message:
'您確定要清除所有對話嗎?此操作不可逆轉。',
com_nav_help_faq: '幫助與常見問題解答',
com_nav_settings: '設置',
com_nav_search_placeholder: '搜索訊息',
com_nav_setting_general: '一般',
com_nav_setting_data: '數據控制',
com_nav_language: '語言',
berry-13 marked this conversation as resolved.
Show resolved Hide resolved
};