437 lines
21 KiB
YAML
437 lines
21 KiB
YAML
#Files in the config/locales directory are used for internationalization
|
|
#and are automatically loaded by Rails. If you want to use locales other
|
|
#than English, add the necessary files in this directory.
|
|
#To use the locales, use `I18n.t`:
|
|
#I18n.t 'hello'
|
|
#In views, this is aliased to just `t`:
|
|
#<%= t('hello') %>
|
|
#To use a different locale, set it with `I18n.locale`:
|
|
#I18n.locale = :es
|
|
#This would use the information in config/locales/es.yml.
|
|
#The following keys must be escaped otherwise they will not be retrieved by
|
|
#the default I18n backend:
|
|
#true, false, on, off, yes, no
|
|
#Instead, surround them with single quotes.
|
|
#en:
|
|
#'true': 'foo'
|
|
#To learn more, please read the Rails Internationalization guide
|
|
#available at https://guides.rubyonrails.org/i18n.html.
|
|
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'
|
|
auth:
|
|
saml:
|
|
invalid_email: '請輸入一個有效的電子信箱'
|
|
authentication_failed: 'Authentication failed. Please check your credentials and try again.'
|
|
messages:
|
|
reset_password_success: 密碼重設成功,請確認您的信箱有收到重設信件。
|
|
reset_password_failure: 我們找不到用戶指定的電子郵件。
|
|
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: 您的收件匣刪除請求將在一段時間後處理。
|
|
errors:
|
|
validations:
|
|
presence: must not be blank
|
|
webhook:
|
|
invalid: Invalid events
|
|
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: 註冊失敗。
|
|
assignment_policy:
|
|
not_found: Assignment policy not found
|
|
attachments:
|
|
invalid: Invalid attachment
|
|
saml:
|
|
feature_not_enabled: SAML feature not enabled for this account
|
|
sso_not_enabled: SAML SSO is not enabled for this installation
|
|
data_import:
|
|
data_type:
|
|
invalid: Invalid data type
|
|
contacts:
|
|
import:
|
|
failed: File is blank
|
|
export:
|
|
success: We will notify you once contacts export file is ready to view.
|
|
email:
|
|
invalid: 無效的email
|
|
phone_number:
|
|
invalid: should be in e164 format
|
|
companies:
|
|
domain:
|
|
invalid: must be a valid domain name
|
|
search:
|
|
query_missing: Specify search string with parameter q
|
|
messages:
|
|
search:
|
|
time_range_limit_exceeded: 'Search is limited to the last %{days} days'
|
|
categories:
|
|
locale:
|
|
unique: should be unique in the category and portal
|
|
dyte:
|
|
invalid_message_type: 'Invalid message type. Action not permitted'
|
|
slack:
|
|
invalid_channel_id: 'Invalid slack channel. Please try again'
|
|
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'
|
|
reauthorization:
|
|
generic: 'Failed to reauthorize WhatsApp. Please try again.'
|
|
not_supported: 'Reauthorization is not supported for this type of WhatsApp channel.'
|
|
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.
|
|
validations:
|
|
name: should not start or end with symbols, and it should not have < > / \ @ characters.
|
|
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
|
|
custom_attribute_definition:
|
|
key_conflict: The provided key is not allowed as it might conflict with default attributes.
|
|
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.
|
|
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.
|
|
profile:
|
|
mfa:
|
|
enabled: MFA enabled successfully
|
|
disabled: MFA disabled successfully
|
|
account_saml_settings:
|
|
invalid_certificate: must be a valid X.509 certificate in PEM format
|
|
reports:
|
|
period: Reporting period %{since} to %{until}
|
|
utc_warning: The report generated is in UTC timezone
|
|
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
|
|
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
|
|
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: 已解決的數量
|
|
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
|
|
conversation_traffic_csv:
|
|
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
|
|
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
|
|
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'
|
|
conversations:
|
|
captain:
|
|
handoff: 'Transferring to another agent for further assistance.'
|
|
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: 訊息已被刪除
|
|
whatsapp:
|
|
list_button_label: 'Choose an item'
|
|
delivery_status:
|
|
error_code: 'Error code: %{error_code}'
|
|
activity:
|
|
captain:
|
|
resolved: 'Conversation was marked resolved by %{user_name} due to inactivity'
|
|
open: 'Conversation was marked open by %{user_name}'
|
|
agent_bot:
|
|
error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.'
|
|
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.
|
|
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'
|
|
assignee:
|
|
self_assigned: '%{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} 解除指派'
|
|
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}'
|
|
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}'
|
|
csat:
|
|
not_sent_due_to_messaging_window: 'CSAT survey not sent due to outgoing message restrictions'
|
|
auto_resolve:
|
|
not_sent_due_to_messaging_window: 'Auto-resolve message not sent due to outgoing message restrictions'
|
|
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.'
|
|
templates:
|
|
greeting_message_body: '%{account_name} 通常在幾小時內回覆'
|
|
ways_to_reach_you_message_body: '給個聯繫方式讓團隊可以聯繫到您。'
|
|
email_input_box_message_body: '透過電子郵件得到通知。'
|
|
csat_input_message_body: 'Please rate the conversation'
|
|
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}>'
|
|
professional_name: '%{business_name} <%{from_email}>'
|
|
channel_email:
|
|
header:
|
|
reply_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>'
|
|
reply_with_inbox_name: '%{inbox_name} <%{from_email}>'
|
|
email_subject: '在對話中的新訊息'
|
|
transcript_subject: '對話紀錄'
|
|
survey:
|
|
response: 'Please rate this conversation, %{link}'
|
|
contacts:
|
|
online:
|
|
delete: '%{contact_name} is Online, please try again later'
|
|
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.'
|
|
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'
|
|
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."
|
|
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.'
|
|
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.'
|
|
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."
|
|
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.'
|
|
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.'
|
|
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.'
|
|
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.'
|
|
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.'
|
|
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.'
|
|
copilot:
|
|
using_tool: 'Using tool %{function_name}'
|
|
completed_tool_call: 'Completed %{function_name} tool call'
|
|
invalid_tool_call: 'Invalid tool call'
|
|
tool_not_available: '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}'
|
|
custom_tool:
|
|
slug_generation_failed: 'Unable to generate unique slug after 5 attempts'
|
|
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'
|
|
hero:
|
|
sub_title: Search for the articles here or browse the categories below.
|
|
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
|
|
footer:
|
|
made_with: Made with
|
|
header:
|
|
go_to_homepage: Website
|
|
visit_website: Visit website
|
|
appearance:
|
|
system: System
|
|
light: Light
|
|
dark: Dark
|
|
featured_articles: Featured Articles
|
|
uncategorized: Uncategorized
|
|
404:
|
|
title: Page not found
|
|
description: We couldn't find the page you were looking for.
|
|
back_to_home: Go to home page
|
|
slack_unfurl:
|
|
fields:
|
|
name: 姓名
|
|
email: Email
|
|
phone_number: Phone
|
|
company_name: 公司
|
|
inbox_name: 收件匣
|
|
inbox_type: Inbox Type
|
|
button: 開啟對話
|
|
time_units:
|
|
days:
|
|
other: '%{count} days'
|
|
hours:
|
|
other: '%{count} hours'
|
|
minutes:
|
|
other: '%{count} minutes'
|
|
seconds:
|
|
other: '%{count} seconds'
|
|
automation:
|
|
system_name: 'Automation System'
|
|
crm:
|
|
no_message: 'No messages in conversation'
|
|
attachment: '[Attachment: %{type}]'
|
|
no_content: '[No content]'
|
|
created_activity: |
|
|
New conversation started on %{brand_name}
|
|
|
|
Channel: %{channel_info}
|
|
Created: %{formatted_creation_time}
|
|
Conversation ID: %{display_id}
|
|
View in %{brand_name}: %{url}
|
|
transcript_activity: |
|
|
Conversation Transcript from %{brand_name}
|
|
|
|
Channel: %{channel_info}
|
|
Conversation ID: %{display_id}
|
|
View in %{brand_name}: %{url}
|
|
|
|
Transcript:
|
|
%{format_messages}
|
|
agent_capacity_policy:
|
|
inbox_already_assigned: 'Inbox has already been assigned to this policy'
|
|
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}'
|
|
ssl_status:
|
|
custom_domain_not_configured: 'Custom domain is not configured'
|