fix(i18n): improve zh-TW translation coverage and quality (#14004)

Comprehensive update to Traditional Chinese (Taiwan) translations. As a
native zh-TW speaker and active user based in Taiwan, I found the
existing translations were quite incomplete (~54% overall) with many
strings still in English. Some existing translations also used
Simplified Chinese terms or unnatural phrasing.

I chose to submit this as a direct PR rather than going through Crowdin
because working through all the files at once is much faster and lets me
ensure consistent terminology across the entire locale.

Closes #14003

## What changed

**Backend (`config/locales/zh_TW.yml`)**
- Translated all ~259 previously untranslated strings (was ~19%
complete, now 100%)
- Covers: error messages, notifications, activity logs, integration
descriptions, Captain AI, public portal, reports

**Frontend (42 JSON files under `dashboard/i18n/locale/zh_TW/`)**
- Translated ~2,627 previously untranslated strings (was ~50% complete,
now ~100%)
- Most impacted files: `inboxMgmt.json`, `integrations.json`,
`settings.json`, `conversation.json`, `contact.json`, `report.json`

**Quality fixes across all files**
- Replaced Simplified Chinese terms mixed into zh-TW: 账→帳, 获→取得, 模板→範本,
收件箱→收件匣, 重置→重設, 自定義→自訂
- Standardized terminology for consistency: 客服人員 (agent), 延後 (snooze),
稽核 (audit), 巨集 (macro)
- Fixed incorrect translations (e.g., audit log table headers were
swapped, availability label was wrong)

## How to test

1. Set account/user language to 中文(台灣)
2. Navigate through the dashboard — settings, inbox management,
integrations, reports, conversations
3. Verify strings display in natural Traditional Chinese with no
remaining English gaps
4. Check that all placeholders (names, counts, dates) render correctly
This commit is contained in:
YJack0000
2026-04-08 16:12:20 +08:00
committed by GitHub
parent 699b12b1d3
commit 45124c3b41
43 changed files with 4128 additions and 4120 deletions

View File

@@ -20,409 +20,409 @@ zh_TW:
hello: '你好。'
inbox:
reauthorization:
success: 'Channel reauthorized successfully'
not_required: 'Reauthorization is not required for this inbox'
invalid_channel: 'Invalid channel type for reauthorization'
success: '頻道重新授權成功'
not_required: '此收件匣不需要重新授權'
invalid_channel: '無效的頻道類型,無法進行重新授權'
auth:
saml:
invalid_email: '請輸入一個有效的電子信箱'
authentication_failed: 'Authentication failed. Please check your credentials and try again.'
authentication_failed: '驗證失敗,請檢查您的憑證後再試一次。'
messages:
reset_password: Request for password reset is successful. A email with instructions will be sent to your email if it exists.
reset_password_saml_user: This account uses SAML authentication. Password reset is not available. Please contact your administrator.
login_saml_user: This account uses SAML authentication. Please sign in through your organization's SAML provider.
saml_not_available: SAML authentication is not available in this installation.
inbox_deletetion_response: 您的收件匣刪除請求將在一段時間後處理。
reset_password: '密碼重設請求已成功,若該電子郵件存在,將會收到一封包含操作說明的信件。'
reset_password_saml_user: '此帳號使用 SAML 驗證,無法重設密碼。請聯繫您的管理員。'
login_saml_user: '此帳號使用 SAML 驗證,請透過您組織的 SAML 提供者登入。'
saml_not_available: '此安裝尚未啟用 SAML 驗證。'
inbox_deletetion_response: '您的收件匣刪除請求將在一段時間後處理。'
errors:
account:
reporting_timezone:
invalid: is not a valid timezone
invalid: '不是有效的時區'
validations:
presence: must not be blank
presence: '不能為空白'
webhook:
invalid: Invalid events
invalid: '無效的事件'
signup:
disposable_email: 我們不允許一次性電子郵件。
blocked_domain: This domain is not allowed. If you believe this is a mistake, please contact support.
invalid_email: 您輸入的電子郵件無效。
email_already_exists: '您已經註冊了一個帳號%{email}'
invalid_params: 'Invalid, please check the signup paramters and try again'
failed: 註冊失敗。
disposable_email: '我們不允許一次性電子郵件。'
blocked_domain: '此網域不被允許。如果您認為這是一個錯誤,請聯繫客服。'
invalid_email: '您輸入的電子郵件無效。'
email_already_exists: '您已經使用 %{email} 註冊過帳號'
invalid_params: '參數無效,請檢查註冊資料後再試一次'
failed: '註冊失敗。'
assignment_policy:
not_found: Assignment policy not found
not_found: '找不到分配策略'
attachments:
invalid: Invalid attachment
invalid: '無效的附件'
saml:
feature_not_enabled: SAML feature not enabled for this account
sso_not_enabled: SAML SSO is not enabled for this installation
feature_not_enabled: '此帳號尚未啟用 SAML 功能'
sso_not_enabled: '此安裝尚未啟用 SAML SSO'
data_import:
data_type:
invalid: Invalid data type
invalid: '無效的資料類型'
contacts:
import:
failed: File is blank
failed: '檔案為空白'
export:
success: We will notify you once contacts export file is ready to view.
success: '聯絡人匯出檔案準備好後,我們會通知您。'
email:
invalid: 無效的email
invalid: '無效的電子郵件'
phone_number:
invalid: should be in e164 format
invalid: '應為 E.164 格式'
companies:
domain:
invalid: must be a valid domain name
invalid: '必須是有效的網域名稱'
search:
query_missing: Specify search string with parameter q
query_missing: '請使用參數 q 指定搜尋字串'
messages:
search:
time_range_limit_exceeded: 'Search is limited to the last %{days} days'
time_range_limit_exceeded: '搜尋範圍限制為最近 %{days} '
categories:
locale:
unique: should be unique in the category and portal
unique: '在該分類與入口網站中應為唯一'
dyte:
invalid_message_type: 'Invalid message type. Action not permitted'
invalid_message_type: '無效的訊息類型,不允許此操作'
slack:
invalid_channel_id: 'Invalid slack channel. Please try again'
invalid_channel_id: '無效的 Slack 頻道,請再試一次'
whatsapp:
token_exchange_failed: 'Failed to exchange code for access token. Please try again.'
invalid_token_permissions: 'The access token does not have the required permissions for WhatsApp.'
phone_info_fetch_failed: 'Failed to fetch phone number information. Please try again.'
phone_number_already_exists: 'Channel already exists for this phone number: %{phone_number}, please contact support if the error persists'
token_exchange_failed: '無法將代碼交換為存取權杖,請再試一次。'
invalid_token_permissions: '存取權杖不具備 WhatsApp 所需的權限。'
phone_info_fetch_failed: '無法取得電話號碼資訊,請再試一次。'
phone_number_already_exists: '此電話號碼 %{phone_number} 的頻道已存在,若問題持續請聯繫客服'
reauthorization:
generic: 'Failed to reauthorize WhatsApp. Please try again.'
not_supported: 'Reauthorization is not supported for this type of WhatsApp channel.'
generic: '無法重新授權 WhatsApp請再試一次。'
not_supported: '此類型的 WhatsApp 頻道不支援重新授權。'
inboxes:
imap:
socket_error: Please check the network connection, IMAP address and try again.
no_response_error: Please check the IMAP credentials and try again.
host_unreachable_error: Host unreachable, Please check the IMAP address, IMAP port and try again.
connection_timed_out_error: Connection timed out for %{address}:%{port}
connection_closed_error: Connection closed.
socket_error: '請檢查網路連線與 IMAP 位址後再試一次。'
no_response_error: '請檢查 IMAP 憑證後再試一次。'
host_unreachable_error: '無法連線到主機,請檢查 IMAP 位址、IMAP 連接埠後再試一次。'
connection_timed_out_error: '%{address}:%{port} 連線逾時'
connection_closed_error: '連線已關閉。'
smtp:
authentication_error: SMTP authentication failed. Please verify your login credentials.
connection_error: Could not connect to SMTP server. Please check the server address and port.
ssl_error: SSL/TLS error. Please verify your encryption settings.
smtp_error: SMTP server error. Please check your configuration and try again.
authentication_error: 'SMTP 驗證失敗,請確認您的登入憑證。'
connection_error: '無法連線到 SMTP 伺服器,請檢查伺服器位址與連接埠。'
ssl_error: 'SSL/TLS 錯誤,請確認您的加密設定。'
smtp_error: 'SMTP 伺服器錯誤,請檢查您的設定後再試一次。'
validations:
name: should not start or end with symbols, and it should not have < > / \ @ characters.
name: '不能以符號開頭或結尾,且不能包含 < > / \ @ 字元。'
custom_filters:
number_of_records: Limit reached. The maximum number of allowed custom filters for a user per account is 1000.
invalid_attribute: Invalid attribute key - [%{key}]. The key should be one of [%{allowed_keys}] or a custom attribute defined in the account.
invalid_operator: Invalid operator. The allowed operators for %{attribute_name} are [%{allowed_keys}].
invalid_query_operator: Query operator must be either "AND" or "OR".
invalid_value: Invalid value. The values provided for %{attribute_name} are invalid
number_of_records: '已達上限。每位使用者在每個帳號中最多可建立 1000 個自訂篩選器。'
invalid_attribute: '無效的屬性鍵 - [%{key}]。鍵應為 [%{allowed_keys}] 之一,或帳號中定義的自訂屬性。'
invalid_operator: '無效的運算子。%{attribute_name} 允許的運算子為 [%{allowed_keys}]。'
invalid_query_operator: '查詢運算子必須為「AND」或「OR」。'
invalid_value: '無效的值。為 %{attribute_name} 提供的值無效'
custom_attribute_definition:
attribute_key_format: must only contain letters, numbers, underscores, hyphens, and dots
key_conflict: The provided key is not allowed as it might conflict with default attributes.
attribute_key_format: '只能包含字母、數字、底線、連字號和點'
key_conflict: '提供的鍵不被允許,因為可能與預設屬性衝突。'
mfa:
already_enabled: MFA is already enabled
not_enabled: MFA is not enabled
invalid_code: Invalid verification code
invalid_backup_code: Invalid backup code
invalid_token: Invalid or expired MFA token
invalid_credentials: Invalid credentials or verification code
feature_unavailable: MFA feature is not available. Please configure encryption keys.
already_enabled: 'MFA 已啟用'
not_enabled: 'MFA 未啟用'
invalid_code: '無效的驗證碼'
invalid_backup_code: '無效的備用碼'
invalid_token: '無效或已過期的 MFA 權杖'
invalid_credentials: '無效的憑證或驗證碼'
feature_unavailable: 'MFA 功能無法使用,請設定加密金鑰。'
topup:
credits_required: Credits amount is required
invalid_credits: Invalid credits amount
invalid_option: Invalid topup option
plan_not_eligible: Top-ups are only available for paid plans. Please upgrade your plan first.
stripe_customer_not_configured: Stripe customer not configured
no_payment_method: No payment methods found. Please add a payment method before making a purchase.
credits_required: '需填入儲值點數金額'
invalid_credits: '無效的儲值點數金額'
invalid_option: '無效的儲值選項'
plan_not_eligible: '儲值僅適用於付費方案,請先升級您的方案。'
stripe_customer_not_configured: 'Stripe 客戶尚未設定'
no_payment_method: '找不到付款方式,請先新增付款方式再進行購買。'
reports:
date_range_too_long: Date range cannot exceed 6 months
date_range_too_long: '日期範圍不能超過 6 個月'
profile:
mfa:
enabled: MFA enabled successfully
disabled: MFA disabled successfully
enabled: 'MFA 啟用成功'
disabled: 'MFA 停用成功'
account_saml_settings:
invalid_certificate: must be a valid X.509 certificate in PEM format
invalid_certificate: '必須是 PEM 格式的有效 X.509 憑證'
reports:
period: Reporting period %{since} to %{until}
utc_warning: The report generated is in UTC timezone
period: '報告期間 %{since} %{until}'
utc_warning: '此報告以 UTC 時區產生'
agent_csv:
agent_name: 客服名稱
conversations_count: Assigned conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: 已解決的數量
avg_customer_waiting_time: Avg customer waiting time
agent_name: '客服名稱'
conversations_count: '已分配的對話數'
avg_first_response_time: '平均首次回應時間'
avg_resolution_time: '平均解決時間'
resolution_count: '已解決的數量'
avg_customer_waiting_time: '平均客戶等待時間'
inbox_csv:
inbox_name: 收件匣名稱
inbox_type: 收件匣類型
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
inbox_name: '收件匣名稱'
inbox_type: '收件匣類型'
conversations_count: '對話數量'
avg_first_response_time: '平均首次回應時間'
avg_resolution_time: '平均解決時間'
label_csv:
label_title: Label
conversations_count: No. of conversations
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
avg_reply_time: Avg reply time
resolution_count: 已解決的數量
label_title: '標籤'
conversations_count: '對話數量'
avg_first_response_time: '平均首次回應時間'
avg_resolution_time: '平均解決時間'
avg_reply_time: '平均回覆時間'
resolution_count: '已解決的數量'
team_csv:
team_name: 團隊名稱
conversations_count: 對話數量
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: 已解決的數量
avg_customer_waiting_time: Avg customer waiting time
team_name: '團隊名稱'
conversations_count: '對話數量'
avg_first_response_time: '平均首次回應時間'
avg_resolution_time: '平均解決時間'
resolution_count: '已解決的數量'
avg_customer_waiting_time: '平均客戶等待時間'
conversation_csv:
conversations_count: 對話
incoming_messages_count: 收到的消息
outgoing_messages_count: 發送的消息
avg_first_response_time: Avg first response time
avg_resolution_time: Avg resolution time
resolution_count: Resolution count
avg_customer_waiting_time: Avg customer waiting time
conversations_count: '對話'
incoming_messages_count: '收到的訊息'
outgoing_messages_count: '發送的訊息'
avg_first_response_time: '平均首次回應時間'
avg_resolution_time: '平均解決時間'
resolution_count: '已解決的數量'
avg_customer_waiting_time: '平均客戶等待時間'
conversation_traffic_csv:
timezone: Timezone
timezone: '時區'
sla_csv:
conversation_id: Conversation ID
sla_policy_breached: SLA Policy
assignee: Assignee
team: Team
inbox: 收件匣
labels: 標籤
conversation_link: Link to the Conversation
breached_events: Breached Events
conversation_id: '對話 ID'
sla_policy_breached: 'SLA 政策'
assignee: '負責人'
team: '團隊'
inbox: '收件匣'
labels: '標籤'
conversation_link: '對話連結'
breached_events: '違反的事件'
default_group_by: day
csat:
headers:
contact_name: Contact Name
contact_email_address: Contact Email Address
contact_phone_number: Contact Phone Number
link_to_the_conversation: Link to the conversation
agent_name: 客服姓名
rating: Rating
feedback: Feedback Comment
recorded_at: Recorded date
review_notes: Review Notes
contact_name: '聯絡人姓名'
contact_email_address: '聯絡人電子郵件'
contact_phone_number: '聯絡人電話號碼'
link_to_the_conversation: '對話連結'
agent_name: '客服姓名'
rating: '評分'
feedback: '意見回饋'
recorded_at: '記錄日期'
review_notes: '審核備註'
notifications:
notification_title:
conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}'
conversation_assignment: 'A conversation (#%{display_id}) has been assigned to you'
assigned_conversation_new_message: 'A new message is created in conversation (#%{display_id})'
conversation_mention: 'You have been mentioned in conversation (#%{display_id})'
sla_missed_first_response: 'SLA target first response missed for conversation (#%{display_id})'
sla_missed_next_response: 'SLA target next response missed for conversation (#%{display_id})'
sla_missed_resolution: 'SLA target resolution missed for conversation (#%{display_id})'
attachment: 'Attachment'
no_content: 'No content'
conversation_creation: '一則對話 (#%{display_id}) 已在 %{inbox_name} 中建立'
conversation_assignment: '一則對話 (#%{display_id}) 已分配給您'
assigned_conversation_new_message: '對話 (#%{display_id}) 中有新訊息'
conversation_mention: '您在對話 (#%{display_id}) 中被提及'
sla_missed_first_response: '對話 (#%{display_id}) 未達 SLA 首次回應目標'
sla_missed_next_response: '對話 (#%{display_id}) 未達 SLA 後續回應目標'
sla_missed_resolution: '對話 (#%{display_id}) 未達 SLA 解決目標'
attachment: '附件'
no_content: '無內容'
conversations:
captain:
handoff: 'Transferring to another agent for further assistance.'
handoff: '正在轉接至其他客服人員以提供進一步協助。'
messages:
instagram_story_content: '%{story_sender} mentioned you in the story: '
instagram_deleted_story_content: This story is no longer available.
instagram_shared_story_content: 'Shared story'
instagram_shared_post_content: 'Shared post'
deleted: 訊息已被刪除
instagram_story_content: '%{story_sender} 在限時動態中提及了您:'
instagram_deleted_story_content: '此限時動態已不存在。'
instagram_shared_story_content: '分享的限時動態'
instagram_shared_post_content: '分享的貼文'
deleted: '訊息已被刪除'
whatsapp:
list_button_label: 'Choose an item'
list_button_label: '選擇一個項目'
delivery_status:
error_code: 'Error code: %{error_code}'
error_code: '錯誤代碼:%{error_code}'
activity:
captain:
resolved: 'Conversation was marked resolved by %{user_name} due to inactivity'
resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})'
resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}'
open: 'Conversation was marked open by %{user_name}'
open_with_reason: 'Conversation was marked open by %{user_name} (%{reason})'
auto_opened_after_agent_reply: 'Conversation was marked open automatically after an agent reply'
resolved: '%{user_name} 因無活動而將對話標記為已解決'
resolved_with_reason: '%{user_name} 將對話標記為已解決(%{reason}'
resolved_by_tool: '%{user_name} 將對話標記為已解決:%{reason}'
open: '%{user_name} 將對話標記為開啟'
open_with_reason: '%{user_name} 將對話標記為開啟(%{reason}'
auto_opened_after_agent_reply: '客服回覆後,對話已自動標記為開啟'
agent_bot:
error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.'
error_moved_to_open: '由於機器人客服發生錯誤,系統已將對話標記為開啟。'
status:
resolved: '%{user_name}標記的對話已解決'
contact_resolved: 'Conversation was resolved by %{contact_name}'
open: '%{user_name}恢復對話'
pending: 'Conversation was marked as pending by %{user_name}'
snoozed: 'Conversation was snoozed by %{user_name}'
auto_resolved_days: '由於對話已經 %{count} 天沒有新活動,已被系統標記為完成'
auto_resolved_hours: 'Conversation was marked resolved by system due to %{count} hours of inactivity'
auto_resolved_minutes: 'Conversation was marked resolved by system due to %{count} minutes of inactivity'
system_auto_open: System reopened the conversation due to a new incoming message.
resolved: '%{user_name} 將對話標記為已解決'
contact_resolved: '%{contact_name} 已解決此對話'
open: '%{user_name} 重新開啟了對話'
pending: '%{user_name} 將對話標記為待處理'
snoozed: '%{user_name} 將對話設為延後處理'
auto_resolved_days: '由於對話已經 %{count} 天沒有新活動,已被系統標記為已解決'
auto_resolved_hours: '由於對話已經 %{count} 小時沒有新活動,已被系統標記為已解決'
auto_resolved_minutes: '由於對話已經 %{count} 分鐘沒有新活動,已被系統標記為已解決'
system_auto_open: '由於收到新的傳入訊息,系統已重新開啟對話。'
priority:
added: '%{user_name} set the priority to %{new_priority}'
updated: '%{user_name} changed the priority from %{old_priority} to %{new_priority}'
removed: '%{user_name} removed the priority'
added: '%{user_name} 將優先順序設為 %{new_priority}'
updated: '%{user_name} 將優先順序從 %{old_priority} 變更為 %{new_priority}'
removed: '%{user_name} 移除了優先順序'
assignee:
self_assigned: '%{user_name} 將對話指派給自己'
assigned: '%{user_name}分配給%{assignee_name}'
removed: '對話被%{user_name}設定成未分配'
assigned: '%{user_name} 將對話分配給 %{assignee_name}'
removed: '%{user_name} 取消了對話的分配'
team:
assigned: '%{user_name}分配給%{team_name}'
assigned_with_assignee: 'Assigned to %{assignee_name} via %{team_name} by %{user_name}'
removed: '%{user_name} 從 %{team_name} 解除指派'
assigned: '%{user_name} 將對話分配給 %{team_name}'
assigned_with_assignee: '%{user_name} 透過 %{team_name} 將對話分配給 %{assignee_name}'
removed: '%{user_name} 將對話從 %{team_name} 取消分配'
labels:
added: '%{user_name} 新增了 %{labels}'
removed: '%{user_name} 移除了 %{labels}'
sla:
added: '%{user_name} added SLA policy %{sla_name}'
removed: '%{user_name} removed SLA policy %{sla_name}'
added: '%{user_name} 新增了 SLA 政策 %{sla_name}'
removed: '%{user_name} 移除了 SLA 政策 %{sla_name}'
linear:
issue_created: 'Linear issue %{issue_id} was created by %{user_name}'
issue_linked: 'Linear issue %{issue_id} was linked by %{user_name}'
issue_unlinked: 'Linear issue %{issue_id} was unlinked by %{user_name}'
issue_created: '%{user_name} 建立了 Linear 議題 %{issue_id}'
issue_linked: '%{user_name} 連結了 Linear 議題 %{issue_id}'
issue_unlinked: '%{user_name} 取消連結了 Linear 議題 %{issue_id}'
csat:
not_sent_due_to_messaging_window: 'CSAT survey not sent due to outgoing message restrictions'
not_sent_due_to_messaging_window: '由於傳出訊息限制,未發送 CSAT 問卷'
auto_resolve:
not_sent_due_to_messaging_window: 'Auto-resolve message not sent due to outgoing message restrictions'
not_sent_due_to_messaging_window: '由於傳出訊息限制,未發送自動解決訊息'
muted: '%{user_name} 已將對話靜音'
unmuted: '%{user_name} 將對話解除靜音'
auto_resolution_message: 'Resolving the conversation as it has been inactive for a while. Please start a new conversation if you need further assistance.'
auto_resolution_message: '由於此對話已有一段時間沒有活動,即將結束對話。如需進一步協助,請開啟新的對話。'
templates:
greeting_message_body: '%{account_name} 通常在幾小時內回覆'
greeting_message_body: '%{account_name} 通常在幾小時內回覆'
ways_to_reach_you_message_body: '給個聯繫方式讓團隊可以聯繫到您。'
email_input_box_message_body: '透過電子郵件得到通知。'
csat_input_message_body: 'Please rate the conversation'
csat_input_message_body: '請為這次對話評分'
reply:
email:
header:
notifications: '通知'
from_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>'
reply_with_name: '%{assignee_name} from %{inbox_name} <reply+%{reply_email}>'
friendly_name: '%{sender_name} from %{business_name} <%{from_email}>'
from_with_name: '%{assignee_name} 來自 %{inbox_name} <%{from_email}>'
reply_with_name: '%{assignee_name} 來自 %{inbox_name} <reply+%{reply_email}>'
friendly_name: '%{sender_name} 來自 %{business_name} <%{from_email}>'
professional_name: '%{business_name} <%{from_email}>'
channel_email:
header:
reply_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>'
reply_with_name: '%{assignee_name} 來自 %{inbox_name} <%{from_email}>'
reply_with_inbox_name: '%{inbox_name} <%{from_email}>'
email_subject: '在對話中的新訊息'
transcript_subject: '對話紀錄'
survey:
response: 'Please rate this conversation, %{link}'
response: '請為這次對話評分,%{link}'
contacts:
online:
delete: '%{contact_name} is Online, please try again later'
delete: '%{contact_name} 目前在線上,請稍後再試'
integration_apps:
#Note: webhooks and dashboard_apps don't need short_description as they use different modal components
dashboard_apps:
name: 'Dashboard Apps'
description: 'Dashboard Apps allow you to create and embed applications that display user information, orders, or payment history, providing more context to your customer support agents.'
name: '儀表板應用程式'
description: '儀表板應用程式可讓您建立並嵌入顯示使用者資訊、訂單或付款紀錄的應用程式,為您的客服人員提供更多背景資訊。'
dyte:
name: 'Dyte'
short_description: 'Start video/voice calls with customers directly from Chatwoot.'
description: 'Dyte is a product that integrates audio and video functionalities into your application. With this integration, your agents can start video/voice calls with your customers directly from Chatwoot.'
meeting_name: '%{agent_name} has started a meeting'
short_description: '直接從 Chatwoot 與客戶進行視訊/語音通話。'
description: 'Dyte 是一個將音訊和視訊功能整合到應用程式中的產品。透過此整合,您的客服人員可以直接從 Chatwoot 與客戶進行視訊/語音通話。'
meeting_name: '%{agent_name} 已發起會議'
slack:
name: 'Slack'
short_description: 'Receive notifications and respond to conversations directly in Slack.'
description: "Integrate Chatwoot with Slack to keep your team in sync. This integration allows you to receive notifications for new conversations and respond to them directly within Slack's interface."
short_description: '在 Slack 中直接接收通知並回覆對話。'
description: '將 Chatwoot Slack 整合,讓您的團隊保持同步。此整合可讓您接收新對話的通知,並直接在 Slack 介面中回覆。'
webhooks:
name: 'Webhooks'
description: 'Webhook events provide real-time updates about activities in your Chatwoot account. You can subscribe to your preferred events, and Chatwoot will send you HTTP callbacks with the updates.'
description: 'Webhook 事件提供您 Chatwoot 帳號中活動的即時更新。您可以訂閱偏好的事件Chatwoot 將透過 HTTP 回呼向您發送更新。'
dialogflow:
name: 'Dialogflow'
short_description: 'Build chatbots to handle initial queries before transferring to agents.'
description: 'Build chatbots with Dialogflow and easily integrate them into your inbox. These bots can handle initial queries before transferring them to a customer service agent.'
short_description: '建立聊天機器人,在轉接給客服之前處理初步查詢。'
description: '使用 Dialogflow 建立聊天機器人,並輕鬆整合到您的收件匣中。這些機器人可以在轉接給客服人員之前處理初步查詢。'
google_translate:
name: 'Google Translate'
short_description: 'Automatically translate customer messages for agents.'
description: "Integrate Google Translate to help agents easily translate customer messages. This integration automatically detects the language and converts it to the agent's or admin's preferred language."
name: 'Google 翻譯'
short_description: '自動為客服人員翻譯客戶訊息。'
description: '整合 Google 翻譯,幫助客服人員輕鬆翻譯客戶訊息。此整合會自動偵測語言,並將其轉換為客服人員或管理員偏好的語言。'
openai:
name: 'OpenAI'
short_description: 'AI-powered reply suggestions, summarization, and message enhancement.'
description: 'Leverage the power of large language models from OpenAI with the features such as reply suggestions, summarization, message rephrasing, spell-checking, and label classification.'
short_description: 'AI 驅動的回覆建議、摘要和訊息強化。'
description: '利用 OpenAI 大型語言模型的強大功能,提供回覆建議、摘要、訊息改寫、拼字檢查和標籤分類等功能。'
linear:
name: 'Linear'
short_description: 'Create and link Linear issues directly from conversations.'
description: 'Create issues in Linear directly from your conversation window. Alternatively, link existing Linear issues for a more streamlined and efficient issue tracking process.'
short_description: '直接從對話中建立和連結 Linear 議題。'
description: '直接從對話視窗中在 Linear 建立議題。或者連結現有的 Linear 議題,讓議題追蹤流程更加順暢高效。'
notion:
name: 'Notion'
short_description: 'Integrate databases, documents and pages directly with Captain.'
description: 'Connect your Notion workspace to enable Captain to access and generate intelligent responses using content from your databases, documents, and pages to provide more contextual customer support.'
short_description: '將資料庫、文件和頁面直接與 Captain 整合。'
description: '連結您的 Notion 工作區,讓 Captain 能夠存取並使用您的資料庫、文件和頁面內容產生智慧回應,提供更具情境的客戶支援。'
shopify:
name: 'Shopify'
short_description: 'Access order details and customer data from your Shopify store.'
description: 'Connect your Shopify store to access order details, customer information, and product data directly within your conversations and helps your support team provide faster, more contextual assistance to your customers.'
short_description: '從您的 Shopify 商店存取訂單詳情和客戶資料。'
description: '連結您的 Shopify 商店,在對話中直接存取訂單詳情、客戶資訊和產品資料,幫助您的客服團隊為客戶提供更快速、更具情境的協助。'
leadsquared:
name: 'LeadSquared'
short_description: 'Sync your contacts and conversations with LeadSquared CRM.'
description: 'Sync your contacts and conversations with LeadSquared CRM. This integration automatically creates leads in LeadSquared when new contacts are added, and logs conversation activity to provide your sales team with complete context.'
short_description: '將您的聯絡人和對話與 LeadSquared CRM 同步。'
description: '將您的聯絡人和對話與 LeadSquared CRM 同步。此整合會在新增聯絡人時自動在 LeadSquared 中建立潛在客戶,並記錄對話活動,為您的銷售團隊提供完整的上下文。'
captain:
copilot_message_required: 訊息為必填
copilot_error: 'Please connect an assistant to this inbox to use Copilot'
copilot_limit: 'You are out of Copilot credits. You can buy more credits from the billing section.'
upgrade: '升級您的方案以啟用 Captain AI'
disabled: '此帳已停用 Captain AI。'
api_key_missing: 'Captain AI API 金鑰尚未設定。'
copilot_message_required: '訊息為必填'
copilot_error: '請先為此收件匣連結助理以使用 Copilot'
copilot_limit: '您的 Copilot 點數已用完。您可以在帳單區域購買更多點數。'
upgrade: '升級您的方案以啟用 Captain AI'
disabled: '此帳已停用 Captain AI。'
api_key_missing: '尚未設定 Captain AI API 金鑰。'
copilot:
using_tool: '正在使用工具 %{function_name}'
completed_tool_call: '已完成 %{function_name} 工具呼叫'
invalid_tool_call: '無效的工具呼叫'
tool_not_available: '工具不可用'
documents:
limit_exceeded: 'Document limit exceeded'
pdf_format_error: 'must be a PDF file'
pdf_size_error: 'must be less than 10MB'
pdf_upload_failed: 'Failed to upload PDF to OpenAI'
pdf_upload_success: 'PDF uploaded successfully with file_id: %{file_id}'
pdf_processing_failed: 'Failed to process PDF document %{document_id}: %{error}'
pdf_processing_success: 'Successfully processed PDF document %{document_id}'
faq_generation_complete: 'FAQ generation complete. Total FAQs created: %{count}'
using_paginated_faq: 'Using paginated FAQ generation for document %{document_id}'
using_standard_faq: 'Using standard FAQ generation for document %{document_id}'
response_creation_error: 'Error in creating response document: %{error}'
missing_openai_file_id: 'Document must have openai_file_id for paginated processing'
openai_api_error: 'OpenAI API Error: %{error}'
starting_paginated_faq: 'Starting paginated FAQ generation (%{pages_per_chunk} pages per chunk)'
stopping_faq_generation: 'Stopping processing. Reason: %{reason}'
paginated_faq_complete: 'Paginated generation complete. Total FAQs: %{total_faqs}, Pages processed: %{pages_processed}'
processing_pages: 'Processing pages %{start}-%{end} (iteration %{iteration})'
chunk_generated: 'Chunk generated %{chunk_faqs} FAQs. Total so far: %{total_faqs}'
page_processing_error: 'Error processing pages %{start}-%{end}: %{error}'
limit_exceeded: '已超過文件上限'
pdf_format_error: '必須為 PDF 檔案'
pdf_size_error: '必須小於 10MB'
pdf_upload_failed: '無法將 PDF 上傳至 OpenAI'
pdf_upload_success: 'PDF 上傳成功file_id%{file_id}'
pdf_processing_failed: '處理 PDF 文件 %{document_id} 失敗:%{error}'
pdf_processing_success: '已成功處理 PDF 文件 %{document_id}'
faq_generation_complete: 'FAQ 產生完成。建立的 FAQ 總數:%{count}'
using_paginated_faq: '正在對文件 %{document_id} 使用分頁 FAQ 產生'
using_standard_faq: '正在對文件 %{document_id} 使用標準 FAQ 產生'
response_creation_error: '建立回應文件時發生錯誤:%{error}'
missing_openai_file_id: '文件必須具有 openai_file_id 才能進行分頁處理'
openai_api_error: 'OpenAI API 錯誤:%{error}'
starting_paginated_faq: '開始分頁 FAQ 產生(每批次 %{pages_per_chunk} 頁)'
stopping_faq_generation: '停止處理。原因:%{reason}'
paginated_faq_complete: '分頁產生完成。FAQ 總數:%{total_faqs},已處理頁數:%{pages_processed}'
processing_pages: '正在處理第 %{start}-%{end} 頁(第 %{iteration} 次迭代)'
chunk_generated: '批次產生了 %{chunk_faqs} FAQ。目前總計:%{total_faqs}'
page_processing_error: '處理第 %{start}-%{end} 頁時發生錯誤:%{error}'
custom_tool:
slug_generation_failed: 'Unable to generate unique slug after 5 attempts'
limit_exceeded: 'You can create a maximum of %{limit} custom tools per account'
slug_generation_failed: '嘗試 5 次後仍無法產生唯一的 slug'
limit_exceeded: '每個帳號最多可建立 %{limit} 個自訂工具'
public_portal:
search:
search_placeholder: Search for article by title or body...
empty_placeholder: 查無結果。
loading_placeholder: Searching...
results_title: Search results
toc_header: 'On this page'
search_placeholder: '依標題或內容搜尋文章...'
empty_placeholder: '查無結果。'
loading_placeholder: '搜尋中...'
results_title: '搜尋結果'
toc_header: '本頁內容'
hero:
sub_title: Search for the articles here or browse the categories below.
sub_title: '在此搜尋文章或瀏覽以下分類。'
common:
home: 首頁
last_updated_on: Last updated on %{last_updated_on}
view_all_articles: View all
article: article
articles: articles
author: author
authors: authors
other: other
others: others
by: By
no_articles: There are no articles here
home: '首頁'
last_updated_on: '最後更新於 %{last_updated_on}'
view_all_articles: '查看全部'
article: '篇文章'
articles: '篇文章'
author: '位作者'
authors: '位作者'
other: '其他'
others: '其他'
by: '作者:'
no_articles: '這裡還沒有文章'
footer:
made_with: Made with
made_with: '由以下技術製作'
header:
go_to_homepage: Website
visit_website: Visit website
go_to_homepage: '網站首頁'
visit_website: '前往網站'
appearance:
system: System
light: Light
dark: Dark
featured_articles: Featured Articles
uncategorized: Uncategorized
system: '系統'
light: '淺色'
dark: '深色'
featured_articles: '精選文章'
uncategorized: '未分類'
404:
title: Page not found
description: We couldn't find the page you were looking for.
back_to_home: Go to home page
title: '找不到頁面'
description: '我們找不到您要尋找的頁面。'
back_to_home: '回到首頁'
not_active:
title: Help Center Unavailable
description: Please contact the site administrator for more information.
action: If you are the administrator, please upgrade your plan to restore access.
title: '幫助中心目前無法使用'
description: '請聯繫網站管理員以取得更多資訊。'
action: '如果您是管理員,請升級您的方案以恢復存取權限。'
slack_unfurl:
fields:
name: 姓名
email: Email
phone_number: Phone
company_name: 公司
inbox_name: 收件匣
inbox_type: Inbox Type
button: 開啟對話
name: '姓名'
email: '電子郵件'
phone_number: '電話'
company_name: '公司'
inbox_name: '收件匣'
inbox_type: '收件匣類型'
button: '開啟對話'
time_units:
days:
one: '%{count} 天'
@@ -437,38 +437,38 @@ zh_TW:
one: '%{count} 秒'
other: '%{count} 秒'
auto_assignment:
default_policy_name: 'Default Policy'
policy_actor: 'Automation System via %{policy_name}'
default_policy_name: '預設策略'
policy_actor: '自動化系統(透過 %{policy_name}'
automation:
system_name: 'Automation System'
system_name: '自動化系統'
crm:
no_message: 'No messages in conversation'
attachment: '[Attachment: %{type}]'
no_content: '[No content]'
no_message: '對話中沒有訊息'
attachment: '[附件:%{type}]'
no_content: '[無內容]'
created_activity: |
New conversation started on %{brand_name}
%{brand_name} 上開始了新對話
Channel: %{channel_info}
Created: %{formatted_creation_time}
Conversation ID: %{display_id}
View in %{brand_name}: %{url}
頻道:%{channel_info}
建立時間:%{formatted_creation_time}
對話 ID%{display_id}
%{brand_name} 中查看:%{url}
transcript_activity: |
Conversation Transcript from %{brand_name}
來自 %{brand_name} 的對話紀錄
Channel: %{channel_info}
Conversation ID: %{display_id}
View in %{brand_name}: %{url}
頻道:%{channel_info}
對話 ID%{display_id}
%{brand_name} 中查看:%{url}
Transcript:
紀錄內容:
%{format_messages}
agent_capacity_policy:
inbox_already_assigned: 'Inbox has already been assigned to this policy'
inbox_already_assigned: '收件匣已被分配給此策略'
portals:
send_instructions:
email_required: 'Email is required'
invalid_email_format: 'Invalid email format'
custom_domain_not_configured: 'Custom domain is not configured'
instructions_sent_successfully: 'Instructions sent successfully'
subject: 'Finish setting up %{custom_domain}'
email_required: '電子郵件為必填'
invalid_email_format: '電子郵件格式無效'
custom_domain_not_configured: '尚未設定自訂網域'
instructions_sent_successfully: '操作說明已成功發送'
subject: '完成 %{custom_domain} 的設定'
ssl_status:
custom_domain_not_configured: 'Custom domain is not configured'
custom_domain_not_configured: '尚未設定自訂網域'