diff --git a/client/coral-framework/services/i18n.js b/client/coral-framework/services/i18n.js index 7afb16860..eb39f4332 100644 --- a/client/coral-framework/services/i18n.js +++ b/client/coral-framework/services/i18n.js @@ -7,17 +7,18 @@ import daTA from 'timeago.js/locales/da'; import esTA from 'timeago.js/locales/es'; import frTA from 'timeago.js/locales/fr'; import pt_BRTA from 'timeago.js/locales/pt_BR'; +import zh_TWTA from 'timeago.js/locales/zh_TW'; import en from '../../../locales/en.yml'; import da from '../../../locales/da.yml'; import es from '../../../locales/es.yml'; import fr from '../../../locales/fr.yml'; import pt_BR from '../../../locales/pt_BR.yml'; - +import zh_TW from '../../../locales/zh_TW.yml'; // Translations are happening at https://translate.lingohub.com/the-coral-project/dashboard const defaultLanguage = process.env.TALK_DEFAULT_LANG; -const translations = {...en, ...da, ...es, ...fr, ...pt_BR}; +const translations = {...en, ...da, ...es, ...fr, ...pt_BR, ...zh_TW}; let lang; let timeagoInstance; @@ -50,6 +51,7 @@ function init() { ta.register('da', daTA); ta.register('fr', frTA); ta.register('pt_BR', pt_BRTA); + ta.register('zh_TW', zh_TWTA); timeagoInstance = ta(); } diff --git a/locales/zh_TW.yml b/locales/zh_TW.yml new file mode 100644 index 000000000..638796ba1 --- /dev/null +++ b/locales/zh_TW.yml @@ -0,0 +1,403 @@ +zh_TW: + your_account_has_been_suspended: 您的賬戶已被暫停使用。 + your_account_has_been_banned: 您的賬戶已被註銷。 + your_username_has_been_rejected: 您的帳戶已被暫停使用,由於您的用戶名不符合要求。 想要恢覆您的帳戶,請輸入一個新的用戶名。 + embed_comments_tab: 評論 + bandialog: + are_you_sure: "你確定要屏蔽{0}嗎?" + ban_user: "確定屏蔽該用戶?" + banned_user: "該用戶已被屏蔽" + cancel: "取消" + note: "標註:{0}" + note_reject_comment: "屏蔽該用戶及其評論" + note_ban_user: "禁止該用戶編輯或刪除評論" + yes_ban_user: "確定屏蔽該用戶" + bio_offensive: "這一用戶違規" + cancel: "取消" + characters_remaining: "剩余字符" + comment: + anon: "匿名用戶" + undo_reject: "撤銷" + ban_user: "屏蔽該用戶" + comment: "發表評論" + edited: 編輯 + flagged: "已標記" + view_context: "查看全文" + comment_box: + post: "發布" + cancel: "取消" + reply: "回覆" + comment: "發表評論" + name: "姓名" + comment_post_notif: "您的評論已發布" + comment_post_notif_premod: "感謝您的評論。我們的審核團隊將盡快審核您的評論。" + comment_post_banned_word: "由於您的評論包含至少一個禁用詞語,評論發布失敗。如對此有疑問,請聯系我們的審核團隊。" + characters_remaining: "剩余字符" + comment_offensive: "該評論包含侮辱性詞語" + comment_singular: 評論 + comment_plural: 評論流 + comment_post_banned_word: "由於您的評論包含至少一個禁用詞語,評論發布失敗。如對此有疑問,請聯系我們的審核團隊。" + comment_post_notif: "您的評論已發布" + comment_post_notif_premod: "感謝您的評論。我們的審核團隊將盡快審核您的評論。" + common: + copy: '覆制' + error: '出錯了' + reply: '回覆' + replies: '回覆' + reaction: '回應' + reactions: '回應' + story: '故事' + community: + account_creation_date: "賬戶創建日期" + active: 活躍用戶 + admin: 管理員 + ads_marketing: "看上去像廣告/營銷" + are_you_sure: "您確定您要屏蔽{0}?" + ban_user: "確認屏蔽該用戶嗎?" + banned: 被屏蔽 + banned_user: "被屏蔽用戶" + cancel: 取消 + dont_like_username: "踩用戶名" + flaggedaccounts: "舉報該用戶名" + flags: 標記 + impersonating: "冒充" + loading: "正在加載" + moderator: 版主 + newsroom_role: "新聞編輯室身份" + no_flagged_accounts: "舉報用戶名列表為空" + no_results: "沒有發現使用該用戶名或郵箱的用戶。他們藏起來了!" + offensive: "違規" + other: 其他 + people: 聯系人 + role: "選擇身份..." + select_status: "選擇狀態..." + spam_ads: "垃圾郵件/廣告" + staff: "管理員" + status: 狀態 + username_and_email: "用戶名和郵箱地址" + yes_ban_user: "同意屏蔽該用戶" + none: "無" + configure: + apply: 應用 + banned_word_text: "包含以下單詞或短語(不區分大小寫)的評論將自動從評論流移除。 輸入一個單詞,然後按Enter或Tab鍵添加,可根據需要粘貼逗號分隔的列表。" + banned_words_title: "屏蔽詞列表" + close: "關閉" + close_after: "稍後關閉評論" + close_stream: "關閉評論" + close_stream_configuration: "評論流現已關閉。打開評論可提交並顯示新的評論。" + closed_comments_desc: "當您的評論流關閉時,留言仍會顯示在評論流,但是其他人將無法評論" + closed_comments_label: "留言" + closed_stream_settings: "關閉私信" + comment_count_error: "請輸入一個有效數字" + comment_count_header: "評論長度限制" + comment_count_text_post: characters + comment_count_text_pre: "評論將被限制在" + comment_settings: 設置 + comment_stream: "評論流" + comment_stream_will_close: "關閉評論" + community: 社區 + configure: 配置 + copy_and_paste: "將以下代碼覆制並粘貼到您的CMS中,可以將您的評論框加入到文章中" + custom_css_url: "自定義CSS網址" + custom_css_url_desc: "CSS風格的網址將覆蓋默認的評論流風格,包括內部和外部" + days: 日 + description: "您作為管理員有權限自定義此故事評論流的設置:" + domain_list_text: "輸入您允許Talk使用的域名,例如您的本地環境,模擬環境和生產環境(例如localhost:3000,staging.domain.com,domain.com)。" + domain_list_title: "允許的域名" + edit_comment_timeframe_heading: "編輯評論時間範圍" + edit_comment_timeframe_text_pre: "評論員將享受" + edit_comment_timeframe_text_post: "幾秒鐘編輯評論" + embed_comment_stream: "加入評論流" + enable_premod_links_text: "任何包含鏈接的評論必須經過版主審核後才能發布" + enable_pre_moderation: "啟用預審" + enable_pre_moderation_text: "任何評論必須經過版主審核後才能發布" + enable_premod_links: "預審包含鏈接的評論" + enable_premod: "啟用預審" + enable_premod_description: "任何評論必須經過版主審核後才能發布" + enable_premod_links_description: "任何包含鏈接的評論必須經過版主審核後才能發布" + enable_questionbox: "向讀者提問" + enable_questionbox_description: "該問題將會在評論流置頂。您可以詢問其他讀者有關文章中的具體時間或是提出討論等" + hours: 小時 + include_comment_stream: "包含讀者的評論流描述" + include_comment_stream_desc: "留言將在您的評論流中置頂。發布一個社區規則等" + include_text: "在此插入您的文本" + include_question_here: "請在此處輸入問題" + moderate: 審核 + moderation_settings: "審核設置" + open: "開啟" + open_stream: "打開評論流" + open_stream_configuration: "評論流現已打開。評論流關閉後其他用戶將無法提交新的評論,但舊評論仍將顯示在評論流中" + require_email_verification: "需要驗證郵箱" + require_email_verification_text: "新用戶必須驗證郵箱後才能評論" + save_changes: "保存更改" + shortcuts: 快捷鍵 + sign_out: "註銷" + stories: 故事 + stream_settings: "評論流設定" + suspect_word_title: "敏感詞列表" + suspect_word_text: "包含以下單詞或短語(不區分大小寫)的評論將自動從評論流移除。 輸入一個單詞,然後按Enter或Tab鍵添加,可根據需要粘貼逗號分隔的列表。" + tech_settings: "技術設置" + title: "評論流設置" + weeks: 周 + wordlist: "屏蔽詞語" + continue: "繼續" + createdisplay: + check_the_form: "表單無效,請重新檢查字段" + continue: "使用相同的facebook用戶名" + error_create: "更改用戶名時出現錯誤" + fake_comment_body: "這是一個評論示例。 讀者可以在新聞工作室的評論區分享想法和意見。" + fake_comment_date: "1分鐘前" + if_you_dont_change_your_name: "如果您當前沒有更改您的用戶名,您的Facebook將在您的所有評論旁邊顯示該用戶名。" + required_field: "必填選項" + save: 保存 + special_characters: "用戶名只能包含字母、數字和_" + username: 用戶名 + write_your_username: "編輯您的用戶名" + your_username: "您的每條評論均會顯示您的用戶名。" + done: 完成 + edit_comment: + body_input_label: "編輯評論" + save_button: "保存更改" + edit_window_expired: "您無法編輯該評論,頁面已過期。為什麽不發表另一條評論呢?" + edit_window_expired_close: "關閉" + edit_window_timer_prefix: "編輯窗口 " + second: "秒" + seconds_plural: "秒" + minute: "分鐘" + minutes_plural: "分鐘" + email: + suspended: + subject: "您的賬戶已被暫停使用" + banned: + subject: "您的賬戶已被註銷" + body: "根據Coral項目使用準則, 您的賬戶已被禁用。您已不再可以評論, 標記或是參與社區活動。" + confirm: + has_been_requested: "請求確認以下賬戶的郵箱" + to_confirm: "為確認該賬戶,請點擊下方鏈接" + confirm_email: "確認郵箱" + if_you_did_not: "如果您並未發送該請求,請忽略此郵件" + subject: "郵件確認" + password_reset: + we_received_a_request: "我們收到了重置密碼的請求。如果您並未請求更改,請忽略該郵件。" + if_you_did: "如果您執行該操作" + please_click: "請點擊此處重置密碼" + embedlink: + copy: "覆制到剪貼板" + error: + COMMENT_TOO_SHORT: "評論必須超過一個字符,請您修改後重試" + NOT_AUTHORIZED: "您無權執行該操作" + NO_SPECIAL_CHARACTERS: "用戶名只能包含字母、數字和_" + PASSWORD_LENGTH: "密碼未達到規定長度" + PROFANITY_ERROR: "用戶名不得包含侮辱性詞匯。如果您對此有疑問,請聯系管理員。" + RATE_LIMIT_EXCEEDED: "評論數超過上限" + USERNAME_IN_USE: "該用戶名已被占用" + USERNAME_REQUIRED: "必須輸入用戶名" + EMAIL_NOT_VERIFIED: "郵箱地址未驗證" + EDIT_WINDOW_ENDED: "您無法編輯該評論,頁面已過期" + EDIT_USERNAME_NOT_AUTHORIZED: "您無權更新您的用戶名" + SAME_USERNAME_PROVIDED: "您必須提交未使用過的用戶名" + EMAIL_IN_USE: "電子郵件地址已被占用" + EMAIL_REQUIRED: "需要輸入電子郵件地址" + LOGIN_MAXIMUM_EXCEEDED: "您輸入了太多次不正確的密碼。請稍候。" + PASSWORD_REQUIRED: "必須輸入密碼" + COMMENTING_CLOSED: "評論已關閉" + NOT_FOUND: "未找到資源" + ALREADY_EXISTS: "資源已存在" + INVALID_ASSET_URL: "網址無效" + CANNOT_IGNORE_STAFF: "不能屏蔽員工。" + email: "電子郵件地址無效" + confirm_password: "密碼不匹配。請再檢查一次" + network_error: "無法連接服務器。請檢查您的互聯網連接,然後重試。" + email_not_verified: "電子郵件地址{0}未經驗證。" + email_password: "電子郵件和/或密碼的組合不正確。" + organization_name: "組織的名稱只能包含字母或數字。" + password: "密碼必須至少8個字符" + username: "用戶名只能包含字母、數字和_" + unexpected: "發生了意外的錯誤。抱歉!" + flag_comment: "舉報評論" + flag_reason: "舉報原因(可選)" + flag_username: "舉報用戶名" + framework: + banned_account_header: "您的帳戶目前已被禁用。" + banned_account_body: "這意味著您不能點讚,舉報或評論。" + comment: 評論 + comment_is_ignored: "由於您屏蔽了該用戶,這個評論被隱藏。" + comment_is_rejected: "你已拒絕了該評論。" + comment_is_hidden: "此評論無效。" + comments: 評論 + configure_stream: "配置" + content_not_available: "此內容不可用" + edit_name: + button: 提交 + error: "用戶名只能包含字母數字和_" + label: "新用戶名" + msg: "由於您的用戶名不當,您的帳號目前已被暫停使用。如要恢覆您的帳戶,請輸入一個新的用戶名。如有任何疑問,請您聯系我們。" + my_comments: "我的評論" + my_profile: "我的概況" + new_count: "查看{0}更多{1}" + profile: 概況 + show_all_comments: "顯示全部評論" + success_bio_update: "你的個人簡介已更新" + success_name_update: "您的用戶名已更新" + success_update_settings: "您的更改已被應用於本文的評論流" + show_all_replies: 顯示全部回覆 + show_more_replies: 顯示更多回覆 + view_more_comments: "查看更多評論" + view_reply: "查看回覆" + from_settings_page: "您可以在概況頁面看到您的評論歷史記錄。" + like: 讚 + loading_results: "加載結果" + marketing: "這看起來像是廣告/營銷" + moderate_this_stream: "審核這個流" + modqueue: + account: "帳戶標記" + actions: 操作 + all: 所有 + all_streams: "所有流" + notify_edited: '{0}編輯了評論“{1}”' + notify_accepted: '{0}接受了評論“{1}”' + notify_rejected: '{0}拒絕了評論“{1}”' + notify_flagged: '{0}標記了評論“{1}”' + notify_reset: '{0}重置了評論“{1}”的狀態' + approve: "批準" + approved: "已批準" + ban_user: "禁止" + billion: 十億 + close: 關 + empty_queue: "沒有更多需要審核的評論啦。您已處理完所有,來杯☕️吧!" + flagged: 已標記 + reported: 已舉報 + less_detail: "收起" + likes: 讚 + million: 百萬 + mod_faster: "使用鍵盤快捷鍵,加快審核速度" + moderate: "審核 →" + more_detail: "展開" + new: 新 + newest_first: "最新評論優先" + navigation: 導航 + next_comment: "轉到下一個評論" + toggle_search: "打開搜索" + next_queue: "切換隊列" + oldest_first: "最早評論優先" + premod: 預審核 + prev_comment: "轉到之前的評論" + reject: "拒絕" + rejected: "已拒絕" + reply: "回覆" + select_stream: "選擇流" + shift_key: "⇧" + shortcuts: "快捷鍵" + sort: "分類" + show_shortcuts: "顯示快捷鍵" + singleview: "切換單個評論編輯視圖" + thismenu: "打開這個菜單" + jump_to_queue: "跳轉到特定隊列" + thousand: 千 + try_these: "試試這些" + view_more_shortcuts: "查看更多快捷方式" + my_comment_history: "我的評論歷史" + name: 名稱 + no_agree_comment: "我不同意這個評論" + no_like_bio: "我不喜歡這個個人簡介" + no_like_username: "我不喜歡這個用戶名" + other: 其他 + permalink: Share + personal_info: "這個評論泄露了個人身份信息" + post: 帖子 + profile: 概況 + profile_settings: "概況設置" + reply: 回覆 + report: 舉報 + report_notif: "感謝您舉報此評論。我們的審核小組已經收到通知,並會很快給予審查。" + report_notif_remove: "您的舉報已刪除。" + reported: 已舉報 + settings: + from_settings_page: "您可以在概況頁面看到您的評論歷史記錄。" + my_comment_history: "我的評論歷史" + profile: 概況 + profile_settings: "概況設置" + sign_in: "登陸" + to_access: "訪問概況" + user_no_comment: "您尚未評論。加入對話吧!" + stream: + all_comments: "全部評論" + temporarily_suspended: "根據{0}的社區準則,您的帳戶已被暫停。請重新加入對話{1}。" + comment_not_found: "未發現評論" + no_comments: "暫時還沒有評論,何不寫條評論呢?" + no_comments_and_closed: "這篇文章沒有評論。" + step_1_header: "舉報問題" + step_2_header: "幫助我們理解" + step_3_header: "謝謝您的參與" + streams: + all: 全部 + article: 故事 + closed: 已關閉 + empty_result: "沒有資產符合該搜索。試試擴大您的搜索?" + filter_streams: "過濾流" + newest: 最新 + oldest: 最早 + open: 打開 + pubdate: "發布日期" + search: 搜索 + sort_by: "排序方式" + status: "流狀態" + stream_status: "流狀態" + suspenduser: + title_suspend: "暫停用戶" + description_suspend: "您正在暫停{0}。此評論將進入拒絕隊列。直到暫停時間結束,{0}該評論才將允許被點讚,舉報,回覆或發布。" + select_duration: "選擇暫停期限" + one_hour: "1 hour" + hours: "{0} hours" + days: "{0} days" + cancel: "Cancel" + suspend_user: "暫停用戶" + email_message_suspend: "親愛的{0},\n\n根據{1}的社區準則,您的賬戶被暫停使用。在禁用期間, 您不能夠評論,標記或是與其他用戶互動。請在{2}重新加入對話。" + title_notify: "通知用戶他們的賬戶暫時中止" + notify_suspend_until: "用戶{0}已暫時中止。該暫停將自動結束{1}。" + description_notify: "暫停此用戶,其帳戶將被暫時禁用。" + write_message: "寫信息" + send: 發送 + reject_username: + username: 用戶名 + no_cancel: "不取消" + description_reject: "你想由於他們的{0}暫時禁止此用戶嗎?這樣做會暫時中止這個用戶,直到他們重寫{0}。" + title_notify: "通知用戶他們的賬戶暫時中止" + description_notify: "暫停此用戶,其帳戶將被暫時禁用。" + title_reject: "我們註意到您拒絕了一個用戶名" + suspend_user: "暫停用戶" + yes_suspend: "是,暫停" + email_message_reject: "另一位社區成員最近標記了您的用戶名以供審核。由於您的用戶名內容,您的用戶名被拒絕了。這意味著除非您重新輸入用戶名,您將不能再評論,點讚或標記內容。如果您有任何疑問或顧慮,請發郵件給我們。" + write_message: "寫信息" + send: 發送 + thank_you: "我們重視您的安全和您的反饋。一位審核員將審閱您的舉報。" + user: + bio_flags: "該簡介的標記" + user_bio: "用戶簡介" + username_flags: "該用戶名的標記" + user_impersonating: "此用戶正在仿冒" + user_no_comment: "您尚未評論過。加入對話吧!" + username_offensive: "這個用戶名有冒犯性" + view_conversation: "查看對話" + install: + initial: + description: "讓我們通過幾個簡單的步驟設置您的Talk社區。" + submit: "開始使用" + add_organization: + description: "請告訴我們您的組織名稱。在邀請新團隊成員時,這一信息將在郵件中出現。" + label: "機構名稱" + save: "保存" + create: + email: "電子郵件地址" + username: "用戶名" + password: "密碼" + confirm_password: "確認密碼" + save: "保存" + permitted_domains: + title: "允許的域名" + description: "輸入您允許Talk使用的域名,例如您的本地環境,模擬環境和生產環境(例如localhost:3000,staging.domain.com,domain.com)。" + submit: "完成安裝" + final: + description: "感謝安裝Talk!我們給您發送了一封郵件以驗證您的電子郵件地址。在完成帳戶設置後,您即可開始與您的讀者互動。" + launch: "啟動Talk" + close: "關閉安裝程序"