diff --git a/app/javascript/dashboard/components-next/message/MessageMeta.vue b/app/javascript/dashboard/components-next/message/MessageMeta.vue index 1b0947e6d..f26339cbb 100644 --- a/app/javascript/dashboard/components-next/message/MessageMeta.vue +++ b/app/javascript/dashboard/components-next/message/MessageMeta.vue @@ -67,6 +67,9 @@ const isSent = computed(() => { return sourceId.value && status.value === MESSAGE_STATUS.SENT; } + // API inbox messages use real sent/delivered/read status values from the external system. + if (isAPIInbox.value) return status.value === MESSAGE_STATUS.SENT; + // All messages will be mark as sent for the Line channel, as there is no source ID. if (isALineChannel.value) return true; @@ -86,8 +89,10 @@ const isDelivered = computed(() => { ) { return sourceId.value && status.value === MESSAGE_STATUS.DELIVERED; } - // All messages marked as delivered for the web widget inbox and API inbox once they are sent. - if (isAWebWidgetInbox.value || isAPIInbox.value) { + // API inbox messages use real delivered status from the external system. + if (isAPIInbox.value) return status.value === MESSAGE_STATUS.DELIVERED; + // All messages marked as delivered for the web widget inbox once they are sent. + if (isAWebWidgetInbox.value) { return status.value === MESSAGE_STATUS.SENT; } if (isALineChannel.value) { diff --git a/app/javascript/dashboard/i18n/locale/am/agentBots.json b/app/javascript/dashboard/i18n/locale/am/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/am/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/am/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/am/agentMgmt.json b/app/javascript/dashboard/i18n/locale/am/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/am/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/am/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/am/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/am/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/am/automation.json b/app/javascript/dashboard/i18n/locale/am/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/am/automation.json +++ b/app/javascript/dashboard/i18n/locale/am/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/am/bulkActions.json b/app/javascript/dashboard/i18n/locale/am/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/am/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/am/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/am/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/am/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/am/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/am/chatlist.json b/app/javascript/dashboard/i18n/locale/am/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/am/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/am/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/am/contact.json b/app/javascript/dashboard/i18n/locale/am/contact.json index 0c1ecd380..cb7465350 100644 --- a/app/javascript/dashboard/i18n/locale/am/contact.json +++ b/app/javascript/dashboard/i18n/locale/am/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "በአሁኑ ጊዜ ንቁ እውቂያዎች የሉም 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/am/conversation.json b/app/javascript/dashboard/i18n/locale/am/conversation.json index f82d4ba23..5e417a884 100644 --- a/app/javascript/dashboard/i18n/locale/am/conversation.json +++ b/app/javascript/dashboard/i18n/locale/am/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "ውይይት በተሳካ ሁኔታ ተሰርዟል", "FAIL_DELETE_CONVERSATION": "ውይይትን መሰረዝ አልተቻለም! እንደገና ይሞክሩ", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/am/customRole.json b/app/javascript/dashboard/i18n/locale/am/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/am/customRole.json +++ b/app/javascript/dashboard/i18n/locale/am/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/am/datePicker.json b/app/javascript/dashboard/i18n/locale/am/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/am/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/am/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/am/general.json b/app/javascript/dashboard/i18n/locale/am/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/am/general.json +++ b/app/javascript/dashboard/i18n/locale/am/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/am/generalSettings.json b/app/javascript/dashboard/i18n/locale/am/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/am/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/am/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/am/helpCenter.json b/app/javascript/dashboard/i18n/locale/am/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/am/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/am/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json index 2efba4716..1cfc95ef0 100644 --- a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/am/integrationApps.json b/app/javascript/dashboard/i18n/locale/am/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/am/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/am/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/am/integrations.json b/app/javascript/dashboard/i18n/locale/am/integrations.json index ef3e94e42..fe1891064 100644 --- a/app/javascript/dashboard/i18n/locale/am/integrations.json +++ b/app/javascript/dashboard/i18n/locale/am/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/am/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/am/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/am/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/am/macros.json b/app/javascript/dashboard/i18n/locale/am/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/am/macros.json +++ b/app/javascript/dashboard/i18n/locale/am/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/am/mfa.json b/app/javascript/dashboard/i18n/locale/am/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/am/mfa.json +++ b/app/javascript/dashboard/i18n/locale/am/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/am/report.json b/app/javascript/dashboard/i18n/locale/am/report.json index dbf59f603..2ffa0ef11 100644 --- a/app/javascript/dashboard/i18n/locale/am/report.json +++ b/app/javascript/dashboard/i18n/locale/am/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/am/settings.json b/app/javascript/dashboard/i18n/locale/am/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/am/settings.json +++ b/app/javascript/dashboard/i18n/locale/am/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/am/signup.json b/app/javascript/dashboard/i18n/locale/am/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/am/signup.json +++ b/app/javascript/dashboard/i18n/locale/am/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/am/sla.json b/app/javascript/dashboard/i18n/locale/am/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/am/sla.json +++ b/app/javascript/dashboard/i18n/locale/am/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/am/snooze.json b/app/javascript/dashboard/i18n/locale/am/snooze.json new file mode 100644 index 000000000..2d9a876aa --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/am/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/am/teamsSettings.json b/app/javascript/dashboard/i18n/locale/am/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/am/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/am/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ar/agentBots.json b/app/javascript/dashboard/i18n/locale/ar/agentBots.json index 4fec1e414..97fd7d87e 100644 --- a/app/javascript/dashboard/i18n/locale/ar/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ar/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "جار جلب المحرر...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "النظام", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "جار جلب الروبوتات...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "رابط Webhook" + "URL": "رابط Webhook", + "ACTIONS": "الإجراءات" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ar/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ar/agentMgmt.json index b24281d42..dbe3fbfb0 100644 --- a/app/javascript/dashboard/i18n/locale/ar/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "المدير", "AGENT": "وكيل الدعم" }, + "COUNT": "", "LIST": { "404": "لا يوجد وكلاء دعم مرتبطين بهذا الحساب", "TITLE": "إدارة وكلاء الدعم في فريقك", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "تعذر الاتصال بالخادم، الرجاء المحاولة مرة أخرى لاحقاً" } }, + "SEARCH_PLACEHOLDER": "البحث عن وكلاء...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "لم يتم العثور على النتائج." }, diff --git a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json index f78e0672c..0b28c1a80 100644 --- a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "جلب الصفات المخصصة", "DESCRIPTION": "سمة مخصصة تتتبع تفاصيل إضافية حول جهات الاتصال أو المحادثات الخاصة بك - مثل خطة الاشتراك أو تاريخ الشراء الأول. يمكنك إضافة أنواع مختلفة من السمات المخصصة، مثل النص أو القوائم أو الأرقام، لالتقاط المعلومات المحددة التي تحتاجها.", "LEARN_MORE": "تعرف على المزيد حول السمات المخصصة", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "البحث عن صفات...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "المحادثات", "CONTACT": "جهات الاتصال" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "تمكين التحقق من صحة regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ar/automation.json b/app/javascript/dashboard/i18n/locale/ar/automation.json index abdbcbe32..509cd7313 100644 --- a/app/javascript/dashboard/i18n/locale/ar/automation.json +++ b/app/javascript/dashboard/i18n/locale/ar/automation.json @@ -3,8 +3,11 @@ "HEADER": "الأتمتة", "DESCRIPTION": "ويمكن للأتمتة أن تحل محل وتبسط العمليات القائمة التي تتطلب جهداً يدوياً، مثل إضافة تسميات وتعيين المحادثات إلى أنسب وكيل. ويسمح ذلك للفريق بالتركيز على مواطن قوتهم مع تقليل الوقت الذي يقضيه في المهام الروتينية.", "LEARN_MORE": "تعلم المزيد عن الأتمتة", - "HEADER_BTN_TXT": "إضافة قاعدة أتمتة", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "جلب قواعد الأتمتة", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "إضافة قاعدة أتمتة", "SUBMIT": "إنشاء", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "الاسم", - "DESCRIPTION": "الوصف", "ACTIVE": "مفعل", - "CREATED_ON": "تم إنشاؤها في" + "CREATED_ON": "تم إنشاؤها في", + "ACTIONS": "الإجراءات" }, "404": "لم يتم العثور على قواعد أتمتة" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "تغيير الأولوية", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "فتح المحادثة" + "OPEN_CONVERSATION": "فتح المحادثة", + "PENDING_CONVERSATION": "تحديد المحادثة كمعلقة" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ar/bulkActions.json b/app/javascript/dashboard/i18n/locale/ar/bulkActions.json index 474983317..a5f566a44 100644 --- a/app/javascript/dashboard/i18n/locale/ar/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ar/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "تم تحديث حالة المحادثة بنجاح.", "UPDATE_FAILED": "فشل تحديث المحادثات، الرجاء المحاولة مرة أخرى." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "لا يمكن حل المحادثات بسبب عدم وجود السمات المطلوبة", + "PARTIAL_SUCCESS": "بعض المحادثات تحتاج إلى سمات مطلوبة قبل الحل وتم تخطيها" + }, "LABELS": { "ASSIGN_LABELS": "إضافة وسم", "NO_LABELS_FOUND": "لم يتم العثور على تصنيفات", diff --git a/app/javascript/dashboard/i18n/locale/ar/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ar/cannedMgmt.json index e7e61b3ad..8bd936746 100644 --- a/app/javascript/dashboard/i18n/locale/ar/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "الردود الجاهزة", "LEARN_MORE": "معرفة المزيد عن الاستجابات المعلبة", "DESCRIPTION": "الردود المسبقة هي قوالب رد مكتوبة مسبقاً تساعدك على الرد بسرعة على محادثة. يمكن للوكلاء كتابة حرف '/' يتبعه الرمز المختصر لإدراج رد مسبق أثناء محادثة. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "إضافة رد جاهز", "LOADING": "جاري جلب الردود الجاهزة...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام.", "LIST": { "404": "لا توجد ردود جاهزة متوفرة في هذا الحساب.", diff --git a/app/javascript/dashboard/i18n/locale/ar/chatlist.json b/app/javascript/dashboard/i18n/locale/ar/chatlist.json index 09b34efaa..ef2f62bd9 100644 --- a/app/javascript/dashboard/i18n/locale/ar/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ar/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "الرد المعلق: الأقصر أولاً" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { @@ -104,7 +107,7 @@ "CONTENT": "Shared contact" }, "embed": { - "CONTENT": "Embedded content" + "CONTENT": "المحتوى المضمن" } }, "CHAT_SORT_BY_FILTER": { diff --git a/app/javascript/dashboard/i18n/locale/ar/companies.json b/app/javascript/dashboard/i18n/locale/ar/companies.json index 95a078caa..e76f8a8fa 100644 --- a/app/javascript/dashboard/i18n/locale/ar/companies.json +++ b/app/javascript/dashboard/i18n/locale/ar/companies.json @@ -1,33 +1,33 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "الشركات", "SORT_BY": { "LABEL": "ترتيب حسب", "OPTIONS": { "NAME": "الاسم", "DOMAIN": "النطاق", "CREATED_AT": "تم إنشاؤها في", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "عدد جهات الاتصال" } }, "ORDER": { - "LABEL": "Order", + "LABEL": "ترتيب", "OPTIONS": { - "ASCENDING": "Ascending", + "ASCENDING": "تصاعدي", "DESCENDING": "Descending" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "البحث في الشركات...", + "LOADING": "جاري تحميل الشركات...", + "UNNAMED": "شركة بلا اسم", + "CONTACTS_COUNT": "جهة اتصال {n} | {n} جهات الاتصال", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "لم يتم العثور على شركات" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "عرض {startItem} - {endItem} من {totalItems} شركة | عرض {startItem} – {endItem} من الشركات {totalItems}" } } } diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json index f9b059614..23e370fe1 100644 --- a/app/javascript/dashboard/i18n/locale/ar/contact.json +++ b/app/javascript/dashboard/i18n/locale/ar/contact.json @@ -18,8 +18,8 @@ "CREATED_AT_LABEL": "تم إنشاؤها", "NEW_MESSAGE": "رسالة جديدة", "CALL": "Call", - "CALL_INITIATED": "Calling the contact…", - "CALL_FAILED": "Unable to start the call. Please try again.", + "CALL_INITIATED": "جار الاتصال بجهة الاتصال…", + "CALL_FAILED": "تعذر بدء المكالمة. الرجاء المحاولة مرة أخرى.", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" }, @@ -457,8 +457,11 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "إضافة TikTok" }, "LINKEDIN": { "PLACEHOLDER": "Add LinkedIn" @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "لا توجد جهات اتصال تطابق بحثك 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "تحميل المزيد" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "تعيين التسميات", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "إلى:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "الموضوع :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "نسخة من البريد:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "نسخة خفية من البريد:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "نسخة خفية من البريد" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json index 493471c82..9c8c54480 100644 --- a/app/javascript/dashboard/i18n/locale/ar/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "هذه الرسالة غير مدعومة، يمكنك مشاهدة هذه الرسالة على تطبيق فيسبوك (Messenger).", "UNSUPPORTED_MESSAGE_INSTAGRAM": "هذه الرسالة غير مدعومة، يمكنك عرض هذه الرسالة على تطبيق Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "هذه الرسالة غير مدعومة. يمكنك مشاهدة هذه الرسالة على تطبيق TikTok.", "SUCCESS_DELETE_MESSAGE": "تم حذف الرسالة بنجاح", "FAIL_DELETE_MESSSAGE": "تعذر حذف الرسالة! حاول مرة أخرى", "NO_RESPONSE": "لا توجد استجابة", @@ -173,6 +174,10 @@ "SUCCESFUL": "تعيين تسمية ##{labelName} لمعرف المحادثة {conversationId}", "FAILED": "تعذر تعيين التسمية. الرجاء المحاولة مرة أخرى." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "الفريق المعين \"{team}\" لمعرف المحادثة {conversationId}", "FAILED": "تعذر تعيين الفريق. الرجاء المحاولة مرة أخرى." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "تعطيل التوقيع", "MSG_INPUT": "زر Shift + Enter لإضافة سطر جديد. ابدأ بزر / للاختيار من الردود الجاهزة.", "PRIVATE_MSG_INPUT": "زر Shift + Enter لإضافة سطر جديد. سيكون هذا مرئياً للوكلاء فقط", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "لم يتم تكوين توقيع الرسالة، الرجاء تكوينه في إعدادات الملف الشخصي.", + "COPILOT_MSG_INPUT": "إعطاء copilot أوامر إضافية، أو السؤال عن أي شيء آخر... اضغط على مفتاح الإدخال لإرسال المتابعة", "CLICK_HERE": "انقر هنا للتحديث", "WHATSAPP_TEMPLATES": "قوالب الواتساب" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "اسحب و أسقط هنا للإرفاق", "START_AUDIO_RECORDING": "بدء التسجيل الصوتي", "STOP_AUDIO_RECORDING": "إيقاف التسجيل الصوتي", - "": "", + "COPILOT_THINKING": "Copilot يفكر", "EMAIL_HEAD": { "TO": "إلى", "ADD_BCC": "إضافة bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "حجم الملف يتجاوز حد الاقصى وهو {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE}", + "FILE_TYPE_NOT_SUPPORTED": "هذا النوع من الملفات {fileName} غير مدعوم في هذه المحادثة", "MESSAGE_ERROR": "غير قادر على إرسال هذه الرسالة، الرجاء المحاولة مرة أخرى لاحقاً", "SENT_BY": "أرسلت بواسطة:", "BOT": "رد آلي", + "NATIVE_APP": "تطبيق الجوال", + "NATIVE_APP_ADVISORY": "تم إرسال هذه الرسالة من تطبيق الجوال. رد من Chatwoot للحفاظ على نافذة الرسالة.", "SEND_FAILED": "تعذر إرسال الرسالة! حاول مرة أخرى", "TRY_AGAIN": "إعادة المحاولة", "ASSIGNMENT": { @@ -277,14 +289,14 @@ "COPILOT": "Copilot" }, "VOICE_WIDGET": { - "INCOMING_CALL": "Incoming call", - "OUTGOING_CALL": "Outgoing call", - "CALL_IN_PROGRESS": "Call in progress", - "NOT_ANSWERED_YET": "Not answered yet", - "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", - "REJECT_CALL": "Reject", - "JOIN_CALL": "Join call", - "END_CALL": "End call" + "INCOMING_CALL": "مكالمة واردة", + "OUTGOING_CALL": "مكالمة صادرة", + "CALL_IN_PROGRESS": "مكالمة قيد الاتصال", + "NOT_ANSWERED_YET": "لم يتم الرد بعد", + "HANDLED_IN_ANOTHER_TAB": "يتم التعامل معها في علامة تبويب أخرى", + "REJECT_CALL": "رفض", + "JOIN_CALL": "انضم إلى المكالمة", + "END_CALL": "إنهاء المكالمة" } }, "EMAIL_TRANSCRIPT": { @@ -294,6 +306,7 @@ "CANCEL": "إلغاء", "SEND_EMAIL_SUCCESS": "تم إرسال نص المحادثة بنجاح", "SEND_EMAIL_ERROR": "حدث خطأ، الرجاء المحاولة مرة أخرى", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "إرسال نص المحادثة إلى العميل", "SEND_TO_AGENT": "إرسال نص المحادثة إلى وكيل خدمة العملاء المعين", diff --git a/app/javascript/dashboard/i18n/locale/ar/customRole.json b/app/javascript/dashboard/i18n/locale/ar/customRole.json index 501a01e77..54b87ef1f 100644 --- a/app/javascript/dashboard/i18n/locale/ar/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ar/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ar/datePicker.json b/app/javascript/dashboard/i18n/locale/ar/datePicker.json index bef157e73..6c89206b5 100644 --- a/app/javascript/dashboard/i18n/locale/ar/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ar/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "تطبيق", "CLEAR_BUTTON": "مسح", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "آخر 3 أشهر", "LAST_6_MONTHS": "آخر 6 أشهر", "LAST_YEAR": "العام الماضي", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "تحديد نطاق التاريخ" } } diff --git a/app/javascript/dashboard/i18n/locale/ar/general.json b/app/javascript/dashboard/i18n/locale/ar/general.json index 4c5df986b..39319483a 100644 --- a/app/javascript/dashboard/i18n/locale/ar/general.json +++ b/app/javascript/dashboard/i18n/locale/ar/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "أغلق", "BETA": "تجريبي", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "قبول", + "DISCARD": "Discard", + "PREFERRED": "المفضلة" + }, + "CHOICE_TOGGLE": { + "YES": "نعم", + "NO": "لا" } } diff --git a/app/javascript/dashboard/i18n/locale/ar/generalSettings.json b/app/javascript/dashboard/i18n/locale/ar/generalSettings.json index 5616421fd..0a4e56628 100644 --- a/app/javascript/dashboard/i18n/locale/ar/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ar/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "البحث أو القفز إلى", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "عام", "REPORTS": "التقارير", diff --git a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json index 13265de6c..29ae64c9b 100644 --- a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json index e3d8f0549..da0aeb78f 100644 --- a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "قنوات التواصل", "DESCRIPTION": "القناة هي وضع الاتصال الذي يختاره العميل للتفاعل معك. صندوق الوارد هو المكان الذي تدير فيه التفاعلات لقناة معينة. ويمكن أن تشمل الاتصالات من مصادر مختلفة مثل البريد الإلكتروني، والمحادثة الحية، ووسائط الإعلام الاجتماعية.", "LEARN_MORE": "تعلم المزيد عن صناديق البريد", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -58,11 +61,11 @@ "DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore." }, "TIKTOK": { - "CONTINUE_WITH_TIKTOK": "Continue with TikTok", - "CONNECT_YOUR_TIKTOK_PROFILE": "Connect your TikTok Profile", - "HELP": "To add your TikTok profile as a channel, you need to authenticate your TikTok Profile by clicking on 'Continue with TikTok' ", - "ERROR_MESSAGE": "There was an error connecting to TikTok, please try again", - "ERROR_AUTH": "There was an error connecting to TikTok, please try again" + "CONTINUE_WITH_TIKTOK": "المتابعة مع تيكتوك", + "CONNECT_YOUR_TIKTOK_PROFILE": "الاتصال بحسابك في تيكتوك", + "HELP": "لإضافة ملفك الشخصي على TikTok كقناة، عليك مصادقة ملفك الشخصي على TikTok بالنقر على \"متابعة مع TikTok\".", + "ERROR_MESSAGE": "حدث خطأ أثناء الاتصال بـ TikTok، يرجى المحاولة مرة أخرى", + "ERROR_AUTH": "حدث خطأ أثناء الاتصال بـ TikTok، يرجى المحاولة مرة أخرى" }, "TWITTER": { "HELP": "لإضافة حساب تويتر الخاص بك كقناة تواصل، تحتاج إلى مصادقة حسابك على تويتر بك بالنقر على زر \"تسجيل الدخول باستخدام تويتر\" ", @@ -389,10 +392,10 @@ "ERROR_MESSAGE": "لم نتمكن من حفظ قناة البريد الإلكتروني" }, "FINISH_MESSAGE": "بدء إعادة توجيه رسائل البريد الإلكتروني الخاصة بك إلى عنوان البريد الإلكتروني التالي.", - "FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.", - "FORWARDING_ADDRESS_LABEL": "Forward emails to this address:", + "FINISH_MESSAGE_NO_FORWARDING": "تم إنشاء بريدك الإلكتروني بنجاح! تحتاج إلى تكوين بيانات اعتماد SMTP و IMAP لإرسال واستقبال رسائل البريد الإلكتروني. بدون هذه الإعدادات، لن يتم معالجة رسائل البريد الإلكتروني.", + "FORWARDING_ADDRESS_LABEL": "إعادة توجيه رسائل البريد الإلكتروني إلى هذا العنوان", "CONFIGURE_SMTP_IMAP_LINK": "اضغط هنا", - "CONFIGURE_SMTP_IMAP_TEXT": " to configure IMAP and SMTP settings" + "CONFIGURE_SMTP_IMAP_TEXT": " لتهيئة إعدادات IMAP و SMTP" }, "LINE_CHANNEL": { "TITLE": "قناة LINE", @@ -480,7 +483,7 @@ }, "TIKTOK": { "TITLE": "TikTok", - "DESCRIPTION": "Connect your TikTok account" + "DESCRIPTION": "ربط حسابك في TikTok" }, "VOICE": { "TITLE": "Voice", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "حفظ" } @@ -589,8 +592,10 @@ "DISABLED": "معطّل" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "مفعل", - "DISABLED": "معطّل" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "تفعيل" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "تقييم رضاء العملاء" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "تمكين/تعطيل إظهار اسم الوكيل في البريد الإلكتروني، إذا تم تعطيله فسيظهر اسم المنشأة", "ENABLE_CONTINUITY_VIA_EMAIL": "تمكين استمرارية المحادثة عبر البريد الإلكتروني", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "المحادثات ستستمر عبر البريد الإلكتروني إذا كان عنوان البريد الإلكتروني لجهة الاتصال متاحاً.", - "LOCK_TO_SINGLE_CONVERSATION": "قفل إلى محادثة واحدة", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "تمكين أو تعطيل محادثات متعددة لنفس جهة الاتصال في هذا البريد الوارد", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "إعدادات قناة التواصل", "INBOX_UPDATE_SUB_TEXT": "تحديث إعدادات قناة التواصل", "AUTO_ASSIGNMENT_SUB_TEXT": "تمكين أو تعطيل الإسناد التلقائي للمحادثات الجديدة إلى الموظفين المضافين إلى قناة التواصل هذه.", @@ -758,6 +765,7 @@ "LABEL": "مركز المساعدة", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "لا شيء", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "الرجاء إدخال قيمة أكبر من 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "تحديد الحد الأقصى لعدد المحادثات من علبة الوارد هذه التي يمكن تعيينها تلقائياً إلى وكيل" }, + "ASSIGNMENT": { + "TITLE": "تعيين المحادثة", + "DESCRIPTION": "تعيين المحادثات الواردة تلقائياً إلى الوكلاء المتاحين استناداً إلى سياسات التعيين", + "ENABLE_AUTO_ASSIGNMENT": "تمكين تعيين المحادثة تلقائياً", + "DEFAULT_RULES_TITLE": "قواعد التعيين الافتراضية", + "DEFAULT_RULES_DESCRIPTION": "استخدام سلوك التعيين الافتراضي لجميع المحادثات", + "DEFAULT_RULE_1": "المحادثات التي تم إنشاؤها أولاً", + "DEFAULT_RULE_2": "توزيع الجدولة الدائرية (Round robin)", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "استخدام سياسة التعيين المخصصة لهذه القناة", + "CUSTOMIZE_POLICY": "التخصيص وفقًا لسياسة التعيين", + "DELETE_POLICY": "حذف سياسة", + "POLICY_LABEL": "سياسة التعيين", + "ASSIGNMENT_ORDER_LABEL": "ترتيب التعيين", + "ASSIGNMENT_METHOD_LABEL": "طريقة التعيين", + "POLICY_STATUS": { + "ACTIVE": "مفعل", + "INACTIVE": "غير نشط" + }, + "PRIORITY": { + "EARLIEST_CREATED": "تم إنشاؤها في وقت سابق", + "LONGEST_WAITING": "أطول انتظار" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "تعيين متوازن" + }, + "UPGRADE_PROMPT": "سياسة التعيين المخصصة متاحى في الخطة (Business) ", + "UPGRADE_TO_BUSINESS": "الترقية إلى (Business)", + "DEFAULT_POLICY_LINKED": "السياسة الافتراضية المرتبطة", + "DEFAULT_POLICY_DESCRIPTION": "ربط سياسة تعيين مخصصة لتخصيص كيفية تعيين المحادثات إلى الوكلاء في هذه القناه", + "LINK_EXISTING_POLICY": "ربط السياسة الحالية", + "CREATE_NEW_POLICY": "إنشاء سياسة جديدة", + "NO_POLICIES": "لم يتم العثور على سياسات التعيين", + "VIEW_ALL_POLICIES": "عرض جميع السياسات", + "CURRENT_BEHAVIOR": "حاليا يستخدم سلوك التعيين الافتراضي:", + "LINK_SUCCESS": "تم ربط سياسة التعيين بنجاح", + "LINK_ERROR": "فشل في ربط سياسة التعيين" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "حذف سياسة التعيين؟", + "DELETE_CONFIRM_MESSAGE": "هل أنت متأكد من أنك تريد إزالة سياسة التعيين هذه من صندوق الوارد هذا؟ صندوق الوارد سوف يعود إلى قواعد التعيين الافتراضية.", + "CANCEL": "إلغاء", + "CONFIRM_DELETE": "حذف", + "DELETE_SUCCESS": "تمت إزالة سياسة التعيين بنجاح", + "DELETE_ERROR": "فشل في إزالة سياسة التعيين" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "إعادة التصريح", "SUBTITLE": "انتهت صلاحية اتصال الفيسبوك الخاص بك، يرجى إعادة الاتصال بصفحة الفيسبوك الخاصة بك لمواصلة الخدمات", @@ -809,34 +864,48 @@ "PLACEHOLDER": "Please enter a message to show users with the form" }, "BUTTON_TEXT": { - "LABEL": "Button text", - "PLACEHOLDER": "Please rate us" + "LABEL": "نص الزر", + "PLACEHOLDER": "يرجى تقييمنا" }, "LANGUAGE": { "LABEL": "اللغة", - "PLACEHOLDER": "Select template language" + "PLACEHOLDER": "اختر لغة القالب" }, "MESSAGE_PREVIEW": { - "LABEL": "Message preview", - "TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform." + "LABEL": "معاينة الرسالة", + "TOOLTIP": "قد يختلف هذا قليلاً عند تقديمه على منصة WhatsApp." }, "TEMPLATE_STATUS": { - "APPROVED": "Approved by WhatsApp", - "PENDING": "Pending WhatsApp approval", - "REJECTED": "Meta rejected the template", - "DEFAULT": "Needs WhatsApp approval", - "NOT_FOUND": "The template does not exist in the Meta platform." + "APPROVED": "معتمد بواسطة WhatsApp", + "PENDING": "في انتظار موافقة WhatsApp", + "REJECTED": "Meta رفضت القالب", + "DEFAULT": "يحتاج موافقة WhatsApp", + "NOT_FOUND": "هذا القالب غير موجود في منصة ميتا." }, "TEMPLATE_CREATION": { - "SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval", - "ERROR_MESSAGE": "Failed to create WhatsApp template" + "SUCCESS_MESSAGE": "تم إنشاء قالب WhatsApp بنجاح وإرساله للموافقة عليه", + "ERROR_MESSAGE": "فشل إنشاء قالب WhatsApp" }, "TEMPLATE_UPDATE_DIALOG": { - "TITLE": "Edit survey details", - "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", - "CONFIRM": "Create new template", + "TITLE": "تعديل تفاصيل الاستبيان", + "DESCRIPTION": "سوف نقوم بحذف القالب السابق ونقوم بإنشاء قالب جديد حيث سيتم إرساله مرة أخرى للاعتماد من قبل Whatsapp", + "CONFIRM": "إنشاء قالب جديد", "CANCEL": "العودة للخلف" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "رسالة غير متاح للزائرين", "TOGGLE_HELP": "تمكين توفر العمل سيظهر الساعات المتاحة على أداة الدردشة المباشرة حتى لو كان جميع الوكلاء غير متصلين بالإنترنت. خارج الساعات المتاحة يمكن تحذير الزوار برسالة ونموذج ما قبل الدردشة.", "DAY": { + "DAY": "اليوم", + "AVAILABILITY": "التوفر", + "HOURS": "Hours", "ENABLE": "تمكين التوفر لهذا اليوم", "UNAVAILABLE": "غير متوفر", - "HOURS": "ساعات", "VALIDATION_ERROR": "يجب أن يكون وقت البدء قبل وقت الإغلاق.", "CHOOSE": "اختر" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "خلال يوم" }, "WIDGET_COLOR_LABEL": "لون صندوق الدردشة", - "WIDGET_BUBBLE_POSITION_LABEL": "موقع شعار اللايف شات", - "WIDGET_BUBBLE_TYPE_LABEL": "شكل عرض اللايف شات", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "النوع:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "تحدث الينا", - "LABEL": "عنوان ايقونة اللايف شات", + "LABEL": "Launcher Title", "PLACE_HOLDER": "تحدث الينا" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "افتراضي", - "CHAT": "محادثة" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "عادة نقوم بالرد خلال بضع دقائق", diff --git a/app/javascript/dashboard/i18n/locale/ar/integrationApps.json b/app/javascript/dashboard/i18n/locale/ar/integrationApps.json index 112f8b750..bf102d23b 100644 --- a/app/javascript/dashboard/i18n/locale/ar/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ar/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "جلب التكاملات", "NO_HOOK_CONFIGURED": "لا يوجد {integrationId} تكاملات مكونة في هذا الحساب.", "HEADER": "التطبيقات", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "مفعل", "DISABLED": "معطّل" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "جلب روابط التكامل", "INBOX": "صندوق الوارد", + "ACTIONS": "الإجراءات", "DELETE": { "BUTTON_TEXT": "حذف" } diff --git a/app/javascript/dashboard/i18n/locale/ar/integrations.json b/app/javascript/dashboard/i18n/locale/ar/integrations.json index 9b9f957d8..c3f5e5b99 100644 --- a/app/javascript/dashboard/i18n/locale/ar/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ar/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot تتكامل مع أدوات وخدمات متعددة لتحسين كفاءة فريقك. استكشف القائمة أدناه لتكوين تطبيقاتك المفضلة.", "LEARN_MORE": "معرفة المزيد عن التكاملات", "LOADING": "جاري جلب التكاملات", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "لم يتم تمكين الكابتن على حسابك.", "CLICK_HERE_TO_CONFIGURE": "انقر هنا للتهيئة", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "الأحداث المشتركة", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "إلغاء", "DESC": "أحداث Webhook توفر لك معلومات في الوقت الحقيقي حول ما يحدث في حساب Chatwoot الخاص بك. الرجاء إدخال عنوان URL صالح لتكوين callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "حذف", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "تبسيط" + "SIMPLIFY": "تبسيط", + "CONFIDENT": "استخدام نبرة لطيفة", + "PROFESSIONAL": "استخدام نبرة احترافية", + "CASUAL": "استخدم نبرة عادية", + "STRAIGHTFORWARD": "استخدام نبرة مباشرة" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "تحسين الرد", + "IMPROVE_REPLY_SELECTION": "تحسين عملية الاختيار", + "CHANGE_TONE": { + "TITLE": "تغيير النبرة", + "OPTIONS": { + "PROFESSIONAL": "مهني", + "CASUAL": "عادية", + "STRAIGHTFORWARD": "مباشر", + "CONFIDENT": "لطيفة", + "FRIENDLY": "ودي" + } + }, + "GRAMMAR": "أصلاح القواعد النحوية والإملائية", + "SUGGESTION": "اقترح رداً", + "SUMMARIZE": "تلخيص المحادثة", + "ASK_COPILOT": "إسأل المساعد" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "تسمح تطبيقات لوحة التحكم للمنظمات بتضمين تطبيق داخل لوحة التحكم لتوفير السياق لوكلاء دعم العملاء. هذه الميزة تسمح لك بإنشاء تطبيق بشكل مستقل وإدراج لتوفير معلومات المستخدم أو طلباتهم أو سجل الدفع السابق.", "LEARN_MORE": "معرفة المزيد حول تطبيقات لوحة التحكم", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "لا توجد تطبيقات لوحة التحكم التي تم تكوينها على هذا الحساب حتى الآن", "LOADING": "جلب تطبيقات لوحة التحكم...", "TABLE_HEADER": { "NAME": "الاسم", - "ENDPOINT": "نقطة الوصول" + "ENDPOINT": "نقطة الوصول", + "ACTIONS": "الإجراءات" }, "EDIT_TOOLTIP": "تعديل التطبيق", "DELETE_TOOLTIP": "حذف التطبيق" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "جلب مشاكل من Linear...", "LOADING_ERROR": "حدث خطأ أثناء جلب المشكلات من Linear، الرجاء المحاولة مرة أخرى", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "نوشن", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "ولا يتوفر الكابتن AI إلا في خطط المؤسسة.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ar/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ar/labelsMgmt.json index bdbe10c33..e7acd7b1c 100644 --- a/app/javascript/dashboard/i18n/locale/ar/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "جار جلب الوسوم", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "معرفة المزيد حول التسميات", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "ابحث عن تصنيفات...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "لا توجد عناصر مطابقة لهذا الاستعلام", "LIST": { "404": "لا توجد وسوم متوفرة في هذا الحساب.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "الاسم", "DESCRIPTION": "الوصف", - "COLOR": "اللون" + "COLOR": "اللون", + "ACTION": "الإجراءات" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ar/macros.json b/app/javascript/dashboard/i18n/locale/ar/macros.json index 323309916..496a9eea3 100644 --- a/app/javascript/dashboard/i18n/locale/ar/macros.json +++ b/app/javascript/dashboard/i18n/locale/ar/macros.json @@ -3,9 +3,12 @@ "HEADER": "ماكروس", "DESCRIPTION": "الماكرو هو مجموعة من الإجراءات المحفوظة التي تساعد وكلاء خدمة العملاء على إكمال المهام بسهولة. يمكن للوكلاء تحديد مجموعة من الإجراءات مثل وضع علامة على محادثة مع تسمية، وإرسال نص بريد إلكتروني، وتحديث سمة مخصصة، إلخ. ويمكنهم تنفيذ هذه الإجراءات بنقرة واحدة.", "LEARN_MORE": "تعلم المزيد حول الماكرو", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "إضافة ماكرو جديد", "HEADER_BTN_TXT_SAVE": "حفظ الماكرو", "LOADING": "جاري جلب الماكروس", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "حدث خطأ ما. الرجاء المحاولة مرة أخرى", "ORDER_INFO": "سيتم تشغيل الماكرو بالترتيب الذي تضيفه إجراءاتك. يمكنك إعادة ترتيبهم بسحبهم بواسطة المعالج بجانب كل عقدة.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "الاسم", "CREATED BY": "تم إنشاؤها بواسطة", "LAST_UPDATED_BY": "آخر تحديث بواسطة", - "VISIBILITY": "الظهور" + "VISIBILITY": "الظهور", + "ACTIONS": "الإجراءات" }, "404": "لم يتم العثور على الماكروس" }, diff --git a/app/javascript/dashboard/i18n/locale/ar/mfa.json b/app/javascript/dashboard/i18n/locale/ar/mfa.json index bffa8cefe..d4348e323 100644 --- a/app/javascript/dashboard/i18n/locale/ar/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ar/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ar/report.json b/app/javascript/dashboard/i18n/locale/ar/report.json index ac8e46365..735d2ca13 100644 --- a/app/javascript/dashboard/i18n/locale/ar/report.json +++ b/app/javascript/dashboard/i18n/locale/ar/report.json @@ -3,7 +3,7 @@ "HEADER": "المحادثات", "LOADING_CHART": "تحميل بيانات الرسم البياني...", "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", - "DOWNLOAD_AGENT_REPORTS": "تحميل تقارير وكيل", + "DOWNLOAD_CONVERSATION_REPORTS": "تنزيل تقارير المحادثات", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "نظرة عامة للوكلاء", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "جاري جلب بيانات الرسم البياني...", "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", "DOWNLOAD_AGENT_REPORTS": "تنزيل تقارير الوكيل", "FILTER_DROPDOWN_LABEL": "اختر وكيل", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "البحث عن وكلاء" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "المحادثات", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", "DOWNLOAD_LABEL_REPORTS": "تحميل تقارير التسمية", "FILTER_DROPDOWN_LABEL": "حدد التسمية", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "ابحث عن تصنيفات" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "المحادثات", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "اختر صندوق الوارد", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "المحادثات", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "نظرة عامة للفريق", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "تحميل بيانات الرسم البياني...", "NO_ENOUGH_DATA": "لم يتم جمع بيانات بقدر كافي لإنشاء التقرير، الرجاء المحاولة مرة أخرى لاحقاً.", "DOWNLOAD_TEAM_REPORTS": "تحميل تقارير الفريق", "FILTER_DROPDOWN_LABEL": "اختيار فريق", + "FILTERS": { + "ADD_FILTER": "إضافة تصفية", + "CLEAR_ALL": "مسح الكل", + "NO_FILTER": "لا توجد عوامل تصفية متوفرة", + "INPUT_PLACEHOLDER": { + "TEAMS": "البحث عن فريق" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "المحادثات", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "تقارير CSAT", - "NO_RECORDS": "لا توجد ردود متوفرة على الدراسة الاستقصائية CSAT.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "تحميل تقرير رضاء خدمة العملاء", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "إضافة تصفية", + "CLEAR_ALL": "مسح الكل", + "NO_FILTER": "لا توجد عوامل تصفية متوفرة", + "INPUT_PLACEHOLDER": { + "AGENTS": "البحث عن وكلاء", + "INBOXES": "Search inboxes", + "TEAMS": "البحث عن فريق", + "RATINGS": "البحث في التقييمات" + }, "AGENTS": { - "PLACEHOLDER": "اختر الوكلاء" + "LABEL": "وكيل الدعم" + }, + "INBOXES": { + "LABEL": "صندوق الوارد" + }, + "TEAMS": { + "LABEL": "الفريق" + }, + "RATINGS": { + "LABEL": "التقييم" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "جهات الاتصال", - "AGENT_NAME": "الوكيل المكلف", + "AGENT_NAME": "وكيل الدعم", "RATING": "التقييم", - "FEEDBACK_TEXT": "تعليق الملاحظات" - } + "FEEDBACK_TEXT": "تعليق الملاحظات", + "CONVERSATION": "المحادثات", + "CUSTOMER": "عميل", + "RESPONSE": "الردود", + "HANDLED_BY": "تمت معالجتها بواسطة" + }, + "UNKNOWN_CUSTOMER": "عميل غير معروف" }, + "NO_AGENT": "لم يتم تعيين وكيل", + "NO_FEEDBACK": "لا توجد ملاحظات مقدمة", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "إجمالي الردود", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "معدل الاستجابة", "TOOLTIP": "العدد الإجمالي للردود / العدد الإجمالي لرسائل الاستقصاء التي أرسلتها CSAT * 100" + }, + "RATING_DISTRIBUTION": "توزيع التقييم" + }, + "REVIEW_NOTES": { + "TITLE": "ملاحظات المراجعة", + "PLACEHOLDER": "إضافة ملاحظات مراجعة حول هذا التقييم...", + "SAVE": "حفظ", + "CANCEL": "إلغاء", + "SAVING": "جاري الحفظ...", + "SAVED": "تم حفظ الملاحظات بنجاح", + "SAVE_ERROR": "فشل في حفظ الملاحظات", + "UPDATED_BY": "تم التحديث بواسطة {name} {time}", + "UPDATED_BY_LABEL": "تم التحديث بواسطة", + "PAYWALL": { + "TITLE": "قم بالترقية لإضافة ملاحظات المراجعة", + "AVAILABLE_ON": "ميزة مراجعة الملاحظات متاحة فقط في الخطط Business و Enterprise.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "الترقية الآن", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ar/search.json b/app/javascript/dashboard/i18n/locale/ar/search.json index e653f7934..eea4b1718 100644 --- a/app/javascript/dashboard/i18n/locale/ar/search.json +++ b/app/javascript/dashboard/i18n/locale/ar/search.json @@ -1,7 +1,7 @@ { "SEARCH": { "TABS": { - "ALL": "All results", + "ALL": "كل النتائج", "CONTACTS": "جهات الاتصال", "CONVERSATIONS": "المحادثات", "MESSAGES": "الرسائل", @@ -21,48 +21,48 @@ "EMPTY_STATE_FULL": "لم يتم العثور على نتائج للطلب '{query}'", "PLACEHOLDER_KEYBINDING": "/للتركيز", "INPUT_PLACEHOLDER": "أكتب 3 أحرف أو أكثر للبحث", - "RECENT_SEARCHES": "Recent searches", + "RECENT_SEARCHES": "عمليات البحث الأخيرة", "CLEAR_ALL": "Clear all", - "MOST_RECENT": "Most recent", + "MOST_RECENT": "الأحدث", "EMPTY_STATE_DEFAULT": "البحث عن طريق معرف المحادثة أو البريد الإلكتروني أو رقم الهاتف أو الرسائل للحصول على نتائج بحث أفضل. ", "BOT_LABEL": "رد آلي", "READ_MORE": "اقرأ المزيد", - "READ_LESS": "Read less", + "READ_LESS": "قراءة أقل", "WROTE": "كتب:", "FROM": "من", "EMAIL": "البريد الإلكتروني", "EMAIL_SUBJECT": "الموضوع", - "PRIVATE": "Private note", - "TRANSCRIPT": "Transcript", + "PRIVATE": "ملاحظة خاصة", + "TRANSCRIPT": "النص", "CREATED_AT": "created {time}", - "UPDATED_AT": "updated {time}", + "UPDATED_AT": "تم التحديث {time}", "SORT_BY": { - "RELEVANCE": "Relevance" + "RELEVANCE": "ذات صلة" }, "DATE_RANGE": { "LAST_7_DAYS": "آخر 7 أيام", "LAST_30_DAYS": "آخر 30 يوماً", "LAST_60_DAYS": "آخر 60 يوماً", "LAST_90_DAYS": "آخر 90 يوماً", - "CUSTOM_RANGE": "Custom range:", - "CREATED_BETWEEN": "Created between", + "CUSTOM_RANGE": "نطاق مخصص:", + "CREATED_BETWEEN": "تم الإنشاء بين", "AND": "و", "APPLY": "تطبيق", - "BEFORE_DATE": "Before {date}", - "AFTER_DATE": "After {date}", - "TIME_RANGE": "Filter by time", - "CLEAR_FILTER": "Clear filter" + "BEFORE_DATE": "قبل {date}", + "AFTER_DATE": "بعد {date}", + "TIME_RANGE": "التصفية حسب الوقت", + "CLEAR_FILTER": "مسح عامل التصفية" }, "FILTERS": { - "FILTER_MESSAGE": "Filter messages by:", + "FILTER_MESSAGE": "تصفية الرسائل بواسطة:", "FROM": "المرسل", "IN": "صندوق الوارد", "AGENTS": "الوكلاء", "CONTACTS": "جهات الاتصال", "INBOXES": "قنوات التواصل", "NO_AGENTS": "لم يتم العثور على وكلاء", - "NO_CONTACTS": "Start by searching to see results", - "NO_INBOXES": "No inboxes found" + "NO_CONTACTS": "ابدأ بالبحث لمشاهدة النتائج", + "NO_INBOXES": "لم يتم العثور على صناديق الوارد" } } } diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json index 94133a087..20b2a7faa 100644 --- a/app/javascript/dashboard/i18n/locale/ar/settings.json +++ b/app/javascript/dashboard/i18n/locale/ar/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "تنزيل", "UPLOADING": "جاري الرفع...", - "INSTAGRAM_STORY_UNAVAILABLE": "هذه القصة لم تعد متاحة." + "INSTAGRAM_STORY_UNAVAILABLE": "هذه القصة لم تعد متاحة.", + "INSTAGRAM_STORY_REPLY": "رد على قصتك:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "مشاهدة على الخريطة" @@ -307,8 +308,8 @@ "SETTINGS": "الإعدادات", "CONTACTS": "جهات الاتصال", "ACTIVE": "مفعل", - "COMPANIES": "Companies", - "ALL_COMPANIES": "All Companies", + "COMPANIES": "الشركات", + "ALL_COMPANIES": "كل الحملات", "CAPTAIN": "قائد", "CAPTAIN_ASSISTANTS": "Assistants", "CAPTAIN_DOCUMENTS": "Documents", @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "قراءة المستندات", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "قائد", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "الخصائص", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "الفواتير", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "البحث عن صفات" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "حل المحادثة", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "حل المحادثة", + "CANCEL": "إلغاء" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "نعم", + "NO": "لا" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "أوه! لم نتمكن من العثور على الحساب. الرجاء إنشاء حساب جديد للمتابعة.", "NEW_ACCOUNT": "حساب جديد", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "إلغاء" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ar/signup.json b/app/javascript/dashboard/i18n/locale/ar/signup.json index 150312da6..89ff33ca5 100644 --- a/app/javascript/dashboard/i18n/locale/ar/signup.json +++ b/app/javascript/dashboard/i18n/locale/ar/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "تسجيل حساب", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "تسجيل", "TESTIMONIAL_HEADER": "إن كل ما يلزم هو خطوة واحدة للمضي قدما", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ar/sla.json b/app/javascript/dashboard/i18n/locale/ar/sla.json index b7bf27180..fb92154e2 100644 --- a/app/javascript/dashboard/i18n/locale/ar/sla.json +++ b/app/javascript/dashboard/i18n/locale/ar/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ar/snooze.json b/app/javascript/dashboard/i18n/locale/ar/snooze.json new file mode 100644 index 000000000..47d01ffe8 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ar/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "ساعات", + "DAY": "اليوم", + "DAYS": "days", + "WEEK": "اليوم", + "WEEKS": "weeks", + "MONTH": "الأسبوع", + "MONTHS": "months", + "YEAR": "الشهر", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "التالي", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "غداً", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "الأسبوع القادم", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "اليوم", + "DAY": "اليوم" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ar/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ar/teamsSettings.json index cff408294..54e7ed33d 100644 --- a/app/javascript/dashboard/i18n/locale/ar/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ar/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "الفرق تتيح لك تنظيم الوكلاء في مجموعات بناءً على مسؤولياتهم. يمكن للوكيل أن يكون عضوًا في أكثر من فريق. لتحقيق التعاون في العمل, يمكنك إسناد المحادثات لفرق محددة.", "LEARN_MORE": "لمعرفة المزيد حول الفرق", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "البحث عن فريق...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "لا يوجد موظفي دعم مرتبطين بهذا الحساب.", "EDIT_TEAM": "تعديل الفريق", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "تعذر حفظ تفاصيل الفريق. حاول مرة أخرى." }, "AGENTS": { - "AGENT": "وكيل", + "AGENT": "وكيل الدعم", "EMAIL": "البريد الإلكتروني", "BUTTON_TEXT": "إضافة وكلاء", "ADD_AGENTS": "إضافة وكلاء إلى فريقك...", diff --git a/app/javascript/dashboard/i18n/locale/az/agentBots.json b/app/javascript/dashboard/i18n/locale/az/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/az/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/az/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/az/agentMgmt.json b/app/javascript/dashboard/i18n/locale/az/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/az/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/az/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/az/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/az/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/az/automation.json b/app/javascript/dashboard/i18n/locale/az/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/az/automation.json +++ b/app/javascript/dashboard/i18n/locale/az/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/az/bulkActions.json b/app/javascript/dashboard/i18n/locale/az/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/az/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/az/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/az/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/az/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/az/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/az/chatlist.json b/app/javascript/dashboard/i18n/locale/az/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/az/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/az/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/az/contact.json b/app/javascript/dashboard/i18n/locale/az/contact.json index 7cad3b433..10841bbbf 100644 --- a/app/javascript/dashboard/i18n/locale/az/contact.json +++ b/app/javascript/dashboard/i18n/locale/az/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/az/conversation.json b/app/javascript/dashboard/i18n/locale/az/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/az/conversation.json +++ b/app/javascript/dashboard/i18n/locale/az/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/az/customRole.json b/app/javascript/dashboard/i18n/locale/az/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/az/customRole.json +++ b/app/javascript/dashboard/i18n/locale/az/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/az/datePicker.json b/app/javascript/dashboard/i18n/locale/az/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/az/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/az/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/az/general.json b/app/javascript/dashboard/i18n/locale/az/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/az/general.json +++ b/app/javascript/dashboard/i18n/locale/az/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/az/generalSettings.json b/app/javascript/dashboard/i18n/locale/az/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/az/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/az/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/az/helpCenter.json b/app/javascript/dashboard/i18n/locale/az/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/az/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/az/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json index 2efba4716..1cfc95ef0 100644 --- a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/az/integrationApps.json b/app/javascript/dashboard/i18n/locale/az/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/az/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/az/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/az/integrations.json b/app/javascript/dashboard/i18n/locale/az/integrations.json index ef3e94e42..fe1891064 100644 --- a/app/javascript/dashboard/i18n/locale/az/integrations.json +++ b/app/javascript/dashboard/i18n/locale/az/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/az/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/az/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/az/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/az/macros.json b/app/javascript/dashboard/i18n/locale/az/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/az/macros.json +++ b/app/javascript/dashboard/i18n/locale/az/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/az/mfa.json b/app/javascript/dashboard/i18n/locale/az/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/az/mfa.json +++ b/app/javascript/dashboard/i18n/locale/az/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/az/report.json b/app/javascript/dashboard/i18n/locale/az/report.json index dbf59f603..2ffa0ef11 100644 --- a/app/javascript/dashboard/i18n/locale/az/report.json +++ b/app/javascript/dashboard/i18n/locale/az/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/az/settings.json b/app/javascript/dashboard/i18n/locale/az/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/az/settings.json +++ b/app/javascript/dashboard/i18n/locale/az/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/az/signup.json b/app/javascript/dashboard/i18n/locale/az/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/az/signup.json +++ b/app/javascript/dashboard/i18n/locale/az/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/az/sla.json b/app/javascript/dashboard/i18n/locale/az/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/az/sla.json +++ b/app/javascript/dashboard/i18n/locale/az/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/az/snooze.json b/app/javascript/dashboard/i18n/locale/az/snooze.json new file mode 100644 index 000000000..2d9a876aa --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/az/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/az/teamsSettings.json b/app/javascript/dashboard/i18n/locale/az/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/az/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/az/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/bg/agentBots.json b/app/javascript/dashboard/i18n/locale/bg/agentBots.json index aeb619327..c44a8024b 100644 --- a/app/javascript/dashboard/i18n/locale/bg/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/bg/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Действия" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/bg/agentMgmt.json b/app/javascript/dashboard/i18n/locale/bg/agentMgmt.json index 8f6eadbcf..deda2adc4 100644 --- a/app/javascript/dashboard/i18n/locale/bg/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Администратор", "AGENT": "Агент" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Няма асоцирани агенти към този акаунт", "TITLE": "Управлявайте агентите в екипа си", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Не можа да се свърже с Woot сървър. Моля, опитайте отново по-късно" } }, + "SEARCH_PLACEHOLDER": "Търсете агенти...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Няма намерени резултати." }, diff --git a/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json index 1ee1c83d6..c8f0dfe9b 100644 --- a/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Търсене на атрибути...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Разговор", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/bg/automation.json b/app/javascript/dashboard/i18n/locale/bg/automation.json index d953bad7f..97bf7be40 100644 --- a/app/javascript/dashboard/i18n/locale/bg/automation.json +++ b/app/javascript/dashboard/i18n/locale/bg/automation.json @@ -3,8 +3,11 @@ "HEADER": "Автоматизация", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Добавяне правило за автоматизация", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Добавяне правило за автоматизация", "SUBMIT": "Създаване", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Име", - "DESCRIPTION": "Описание", "ACTIVE": "Активен", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Действия" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/bg/bulkActions.json b/app/javascript/dashboard/i18n/locale/bg/bulkActions.json index 845af02d1..69862e409 100644 --- a/app/javascript/dashboard/i18n/locale/bg/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/bg/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Няма намерени етикети", diff --git a/app/javascript/dashboard/i18n/locale/bg/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/bg/cannedMgmt.json index ceda07273..5dac04392 100644 --- a/app/javascript/dashboard/i18n/locale/bg/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Готови отговори", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Няма резултати отговарящи на тази заявка.", "LIST": { "404": "Няма налични готови отговори в този акаунт.", diff --git a/app/javascript/dashboard/i18n/locale/bg/chatlist.json b/app/javascript/dashboard/i18n/locale/bg/chatlist.json index 8cda6800a..9e18ecda8 100644 --- a/app/javascript/dashboard/i18n/locale/bg/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/bg/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/bg/contact.json b/app/javascript/dashboard/i18n/locale/bg/contact.json index 4c59e4184..a253b49ff 100644 --- a/app/javascript/dashboard/i18n/locale/bg/contact.json +++ b/app/javascript/dashboard/i18n/locale/bg/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Няма контакти отговарящи на търсенети ви 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "До:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Тема :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/bg/conversation.json b/app/javascript/dashboard/i18n/locale/bg/conversation.json index 8b0cd5413..d655068da 100644 --- a/app/javascript/dashboard/i18n/locale/bg/conversation.json +++ b/app/javascript/dashboard/i18n/locale/bg/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Бот", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Отмени", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/bg/customRole.json b/app/javascript/dashboard/i18n/locale/bg/customRole.json index a000e4cbe..86481d532 100644 --- a/app/javascript/dashboard/i18n/locale/bg/customRole.json +++ b/app/javascript/dashboard/i18n/locale/bg/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Няма резултати отговарящи на тази заявка.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/bg/datePicker.json b/app/javascript/dashboard/i18n/locale/bg/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/bg/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/bg/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/bg/general.json b/app/javascript/dashboard/i18n/locale/bg/general.json index 2ce281780..d9f377bdc 100644 --- a/app/javascript/dashboard/i18n/locale/bg/general.json +++ b/app/javascript/dashboard/i18n/locale/bg/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/bg/generalSettings.json b/app/javascript/dashboard/i18n/locale/bg/generalSettings.json index abe6e4f87..9b89ae948 100644 --- a/app/javascript/dashboard/i18n/locale/bg/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/bg/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json index 863df4e5c..af512d278 100644 --- a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json index 78b0901e2..0038d1192 100644 --- a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Изключен" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Включен", - "DISABLED": "Изключен" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Активен", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Отмени", + "CONFIRM_DELETE": "Изтрий", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Тип:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Чатете с нас", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Чатете с нас" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Обикновено отговаряме до няколко минути", diff --git a/app/javascript/dashboard/i18n/locale/bg/integrationApps.json b/app/javascript/dashboard/i18n/locale/bg/integrationApps.json index bcda218f3..70717f9df 100644 --- a/app/javascript/dashboard/i18n/locale/bg/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/bg/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Включен", "DISABLED": "Изключен" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Входяща кутия", + "ACTIONS": "Действия", "DELETE": { "BUTTON_TEXT": "Изтрий" } diff --git a/app/javascript/dashboard/i18n/locale/bg/integrations.json b/app/javascript/dashboard/i18n/locale/bg/integrations.json index ae4e76c2e..999d389ea 100644 --- a/app/javascript/dashboard/i18n/locale/bg/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bg/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Отмени", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Изтрий", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Име", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Действия" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/bg/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/bg/labelsMgmt.json index 314031aa8..00d569edf 100644 --- a/app/javascript/dashboard/i18n/locale/bg/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Търсене на етикети...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Няма резултати отговарящи на тази заявка", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Име", "DESCRIPTION": "Описание", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Действия" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/bg/macros.json b/app/javascript/dashboard/i18n/locale/bg/macros.json index 48f462ac4..2a3604f3f 100644 --- a/app/javascript/dashboard/i18n/locale/bg/macros.json +++ b/app/javascript/dashboard/i18n/locale/bg/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Име", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Действия" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/bg/mfa.json b/app/javascript/dashboard/i18n/locale/bg/mfa.json index cc58c4378..660983c58 100644 --- a/app/javascript/dashboard/i18n/locale/bg/mfa.json +++ b/app/javascript/dashboard/i18n/locale/bg/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/bg/report.json b/app/javascript/dashboard/i18n/locale/bg/report.json index fb1f34d3c..1192c874e 100644 --- a/app/javascript/dashboard/i18n/locale/bg/report.json +++ b/app/javascript/dashboard/i18n/locale/bg/report.json @@ -3,7 +3,7 @@ "HEADER": "Разговори", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Търсете агенти" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Разговори", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Търсене на етикети" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Разговори", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Разговори", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Търсете екипи" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Разговори", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Търсете агенти", + "INBOXES": "Search inboxes", + "TEAMS": "Търсете екипи", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Агент" + }, + "INBOXES": { + "LABEL": "Входяща кутия" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Агент", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Разговор", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Отмени", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/bg/settings.json b/app/javascript/dashboard/i18n/locale/bg/settings.json index 46176d993..46772a425 100644 --- a/app/javascript/dashboard/i18n/locale/bg/settings.json +++ b/app/javascript/dashboard/i18n/locale/bg/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Качване...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Търсене на атрибути" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Отмени" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Отмени" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/bg/signup.json b/app/javascript/dashboard/i18n/locale/bg/signup.json index 7e3e67bf1..d9f7b04f0 100644 --- a/app/javascript/dashboard/i18n/locale/bg/signup.json +++ b/app/javascript/dashboard/i18n/locale/bg/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/bg/sla.json b/app/javascript/dashboard/i18n/locale/bg/sla.json index ae8460145..25ca0f4bf 100644 --- a/app/javascript/dashboard/i18n/locale/bg/sla.json +++ b/app/javascript/dashboard/i18n/locale/bg/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/bg/snooze.json b/app/javascript/dashboard/i18n/locale/bg/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/bg/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/bg/teamsSettings.json b/app/javascript/dashboard/i18n/locale/bg/teamsSettings.json index bd39b68d0..f44bd0720 100644 --- a/app/javascript/dashboard/i18n/locale/bg/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/bg/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Търсете екипи...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "ИМЕЙЛ", + "AGENT": "Агент", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/bn/agentBots.json b/app/javascript/dashboard/i18n/locale/bn/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/bn/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/bn/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/bn/agentMgmt.json b/app/javascript/dashboard/i18n/locale/bn/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/bn/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/bn/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/bn/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/bn/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/bn/automation.json b/app/javascript/dashboard/i18n/locale/bn/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/bn/automation.json +++ b/app/javascript/dashboard/i18n/locale/bn/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/bn/bulkActions.json b/app/javascript/dashboard/i18n/locale/bn/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/bn/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/bn/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/bn/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/bn/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/bn/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/bn/chatlist.json b/app/javascript/dashboard/i18n/locale/bn/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/bn/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/bn/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/bn/contact.json b/app/javascript/dashboard/i18n/locale/bn/contact.json index 7cad3b433..10841bbbf 100644 --- a/app/javascript/dashboard/i18n/locale/bn/contact.json +++ b/app/javascript/dashboard/i18n/locale/bn/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/bn/conversation.json b/app/javascript/dashboard/i18n/locale/bn/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/bn/conversation.json +++ b/app/javascript/dashboard/i18n/locale/bn/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/bn/customRole.json b/app/javascript/dashboard/i18n/locale/bn/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/bn/customRole.json +++ b/app/javascript/dashboard/i18n/locale/bn/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/bn/datePicker.json b/app/javascript/dashboard/i18n/locale/bn/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/bn/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/bn/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/bn/general.json b/app/javascript/dashboard/i18n/locale/bn/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/bn/general.json +++ b/app/javascript/dashboard/i18n/locale/bn/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/bn/generalSettings.json b/app/javascript/dashboard/i18n/locale/bn/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/bn/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/bn/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/bn/helpCenter.json b/app/javascript/dashboard/i18n/locale/bn/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/bn/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/bn/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json index 2efba4716..1cfc95ef0 100644 --- a/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/bn/integrationApps.json b/app/javascript/dashboard/i18n/locale/bn/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/bn/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/bn/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/bn/integrations.json b/app/javascript/dashboard/i18n/locale/bn/integrations.json index ef3e94e42..fe1891064 100644 --- a/app/javascript/dashboard/i18n/locale/bn/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bn/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/bn/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/bn/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/bn/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/bn/macros.json b/app/javascript/dashboard/i18n/locale/bn/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/bn/macros.json +++ b/app/javascript/dashboard/i18n/locale/bn/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/bn/mfa.json b/app/javascript/dashboard/i18n/locale/bn/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/bn/mfa.json +++ b/app/javascript/dashboard/i18n/locale/bn/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/bn/report.json b/app/javascript/dashboard/i18n/locale/bn/report.json index dbf59f603..2ffa0ef11 100644 --- a/app/javascript/dashboard/i18n/locale/bn/report.json +++ b/app/javascript/dashboard/i18n/locale/bn/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/bn/settings.json b/app/javascript/dashboard/i18n/locale/bn/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/bn/settings.json +++ b/app/javascript/dashboard/i18n/locale/bn/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/bn/signup.json b/app/javascript/dashboard/i18n/locale/bn/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/bn/signup.json +++ b/app/javascript/dashboard/i18n/locale/bn/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/bn/sla.json b/app/javascript/dashboard/i18n/locale/bn/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/bn/sla.json +++ b/app/javascript/dashboard/i18n/locale/bn/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/bn/snooze.json b/app/javascript/dashboard/i18n/locale/bn/snooze.json new file mode 100644 index 000000000..2d9a876aa --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/bn/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/bn/teamsSettings.json b/app/javascript/dashboard/i18n/locale/bn/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/bn/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/bn/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ca/agentBots.json b/app/javascript/dashboard/i18n/locale/ca/agentBots.json index a7d3e02df..4937aa1a7 100644 --- a/app/javascript/dashboard/i18n/locale/ca/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ca/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "S'està carregant l'editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Sistema", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "S'estan obtenint bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "URL del webhook" + "URL": "URL del webhook", + "ACTIONS": "Accions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json index 421b1717f..bf6a477b3 100644 --- a/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrador/a", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "No hi ha agents associats a aquest compte", "TITLE": "Gestiona agents en el teu equip", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "No s'ha pogut connectar amb el servidor Woot. Torna-ho a provar més endavant" } }, + "SEARCH_PLACEHOLDER": "Cerca agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No s'ha trobat agents." }, diff --git a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json index a6ec2713f..a1abb9d2c 100644 --- a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "S'estan recollint atributs personalitzats", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Cerca atributs...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversa", "CONTACT": "Contacte" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Activa la validació d'expressions regulars" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ca/automation.json b/app/javascript/dashboard/i18n/locale/ca/automation.json index 6482bea60..6e3970cd7 100644 --- a/app/javascript/dashboard/i18n/locale/ca/automation.json +++ b/app/javascript/dashboard/i18n/locale/ca/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatització", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Afegeix una regla d'automatització", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "S'estan recollint regles d'automatització", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Afegeix una regla d'automatització", "SUBMIT": "Crear", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nom", - "DESCRIPTION": "Descripció", "ACTIVE": "Actiu", - "CREATED_ON": "Creat el" + "CREATED_ON": "Creat el", + "ACTIONS": "Accions" }, "404": "No s'han trobat regles d'automatització" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Canvia la prioritat", "ADD_SLA": "Afegeix SLA", - "OPEN_CONVERSATION": "Obrir conversa" + "OPEN_CONVERSATION": "Obrir conversa", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ca/bulkActions.json b/app/javascript/dashboard/i18n/locale/ca/bulkActions.json index 59eefd84d..5d4683fde 100644 --- a/app/javascript/dashboard/i18n/locale/ca/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ca/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "L'estat de les converses s'ha actualitzat correctament.", "UPDATE_FAILED": "No s'han pogut actualitzar les converses. Torna-ho a provar." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assignar etiquetes", "NO_LABELS_FOUND": "No s'han trobat etiquetes", diff --git a/app/javascript/dashboard/i18n/locale/ca/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ca/cannedMgmt.json index 99d9e7e83..a7565279a 100644 --- a/app/javascript/dashboard/i18n/locale/ca/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Respostes predeterminades", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Afegir resposta predeterminada", "LOADING": "S'estan recollint les respostes predeterminades...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "No hi ha cap resposta que coincideixi amb aquesta consulta.", "LIST": { "404": "No hi ha respostes predeterminades disponibles en aquest compte.", diff --git a/app/javascript/dashboard/i18n/locale/ca/chatlist.json b/app/javascript/dashboard/i18n/locale/ca/chatlist.json index 49681a0fd..665f794f1 100644 --- a/app/javascript/dashboard/i18n/locale/ca/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ca/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Resposta pendent: el més curt primer" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index 291a3ccf2..a6d25ca42 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No hi ha cap contacte que coincideixi amb la vostra cerca 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Per:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Assumpte :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Cco:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Cco" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json index c297f78dc..e37174518 100644 --- a/app/javascript/dashboard/i18n/locale/ca/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Aquest missatge no està suportat. Pots veure aquest missatge a l'aplicació Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Aquest missatge no està suportat. Pots veure aquest missatge a l'aplicació d'Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "El missatge s'ha suprimit correctament", "FAIL_DELETE_MESSSAGE": "No s'ha pogut suprimir el missatge! Torna-ho a provar", "NO_RESPONSE": "Sense resposta", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "No s'ha pogut assignar l'etiqueta. Torna-ho a provar." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "S'ha assignat l'equip \"{team}\" a l'id de conversa {conversationId}", "FAILED": "No s'ha pogut assignar l'equip. Torna-ho a provar." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Desactiva la signatura", "MSG_INPUT": "Shift + enter per a una línia nova. Comença amb '/' per seleccionar una resposta predeterminada.", "PRIVATE_MSG_INPUT": "Shift + enter per una línia nova. Això serà visible només per als Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "La signatura del missatge no està configurada, configura-la a la configuració del perfil.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Fes clic aquí per actualitzar", "WHATSAPP_TEMPLATES": "Plantilles de Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Arrossega i deixa anar aquí per adjuntar-lo", "START_AUDIO_RECORDING": "Inicia la gravació d'àudio", "STOP_AUDIO_RECORDING": "Atura la gravació d'àudio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "A", "ADD_BCC": "Afegeix cco", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "El fitxer supera el límit de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB fitxers adjunts", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "No es pot enviar aquest missatge, torna-ho a provar més tard", "SENT_BY": "Enviat per:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "No s'ha pogut enviar el missatge! Torna-ho a provar", "TRY_AGAIN": "reintenta", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel·la", "SEND_EMAIL_SUCCESS": "La transcripció del xat s'ha enviat correctament", "SEND_EMAIL_ERROR": "S'ha produït un error; tornau-ho a provar", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Envia la transcripció al client", "SEND_TO_AGENT": "Envia la transcripció a l'agent assignat", diff --git a/app/javascript/dashboard/i18n/locale/ca/customRole.json b/app/javascript/dashboard/i18n/locale/ca/customRole.json index a395093e3..d508cff53 100644 --- a/app/javascript/dashboard/i18n/locale/ca/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ca/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "No hi ha cap resposta que coincideixi amb aquesta consulta.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ca/datePicker.json b/app/javascript/dashboard/i18n/locale/ca/datePicker.json index 37bc1bec7..8dcbbf682 100644 --- a/app/javascript/dashboard/i18n/locale/ca/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ca/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Aplica", "CLEAR_BUTTON": "Neteja", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Últims tres mesos", "LAST_6_MONTHS": "Últims sis mesos", "LAST_YEAR": "Darrer any", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Interval de dates personalitzat" } } diff --git a/app/javascript/dashboard/i18n/locale/ca/general.json b/app/javascript/dashboard/i18n/locale/ca/general.json index 189b6a388..f08cdd56f 100644 --- a/app/javascript/dashboard/i18n/locale/ca/general.json +++ b/app/javascript/dashboard/i18n/locale/ca/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Tanca", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Si", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json index 7f6b166fa..06d551545 100644 --- a/app/javascript/dashboard/i18n/locale/ca/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ca/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Cerca o salta a", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Informes", diff --git a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json index f7d247cf5..631ebd6b0 100644 --- a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "S'ha produït un error en suprimir l'article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Afegiu l'encapçalament i el contingut de l'article i llavors pots actualitzar la configuració" }, diff --git a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json index 287b5bcc6..8c63fabc7 100644 --- a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Safates d'entrada", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "La teva safata d'entrada està desconnectada. No rebràs missatges nous fins que no els tornis a autoritzar.", "CLICK_TO_RECONNECT": "Fes clic aquí per tornar a connectar-te.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Utilitza només el nom de l'empresa configurat com a nom del remitent a la capçalera del correu electrònic." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configura el nom del teu negoci", + "BUTTON_TEXT": "Configura el nom del teu negoci", "PLACEHOLDER": "Introdueix el nom de la teva empresa", "SAVE_BUTTON_TEXT": "Desar" } @@ -589,8 +592,10 @@ "DISABLED": "Inhabilita" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Habilita", - "DISABLED": "Inhabilita" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Habilita" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Activa/Desactiva la mostra del nom de l'agent al correu electrònic, si està desactivat, mostrarà el nom de l'empresa", "ENABLE_CONTINUITY_VIA_EMAIL": "Activa la continuïtat de la conversa per correu electrònic", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Les converses continuaran per correu electrònic si l'adreça electrònica de contacte està disponible.", - "LOCK_TO_SINGLE_CONVERSATION": "Bloqueja a una sola conversa", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Activa o desactiva diverses converses per al mateix contacte en aquesta safata d'entrada", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Configuració de la safata d'entrada", "INBOX_UPDATE_SUB_TEXT": "Actualitza la configuració de la safata d'entrada", "AUTO_ASSIGNMENT_SUB_TEXT": "Activa o desactiva l'assignació automàtica d'agents disponibles a les noves converses", @@ -758,6 +765,7 @@ "LABEL": "Centre d'ajuda", "PLACEHOLDER": "Selecciona Centre d'ajuda", "SELECT_PLACEHOLDER": "Selecciona Centre d'ajuda", + "NONE": "Ningú", "REMOVE": "Suprimeix Centre d'ajuda", "SUB_TEXT": "Adjunta un Centre d'ajuda amb la safata d'entrada" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Introdueix un valor superior a 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limita el nombre màxim de converses d'aquesta safata d'entrada que es poden assignar automàticament a un agent" }, + "ASSIGNMENT": { + "TITLE": "Conversació Assignada", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Actiu", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel·la", + "CONFIRM_DELETE": "Esborrar", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautoritza", "SUBTITLE": "La teva connexió a Facebook ha caducat, torna a connectar la vostra pàgina de Facebook per continuar els serveis", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Torna" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Missatge no disponible per als visitants", "TOGGLE_HELP": "Si activeu la disponibilitat comercial, es mostraran les hores disponibles al giny del xat en directe, encara que tots els agents estiguin fora de línia. Fora de l'horari disponible, els visitants poden ser avisats amb un missatge i un formulari de xat previ.", "DAY": { + "DAY": "Dia", + "AVAILABILITY": "Disponibilitat", + "HOURS": "Hours", "ENABLE": "Activa la disponibilitat per a aquest dia", "UNAVAILABLE": "No disponible", - "HOURS": "hores", "VALIDATION_ERROR": "L'hora d'inici ha de ser abans de l'hora de tancament.", "CHOOSE": "Tria" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "En un dia" }, "WIDGET_COLOR_LABEL": "Color del Widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posició de la bombolla del widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Tipus de bombolla de widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipus:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Xateja amb nosaltres", - "LABEL": "Títol del llançador de bombolles de widget", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Xateja amb nosaltres" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Per defecte", - "CHAT": "Xat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Normalment responem en pocs minuts", diff --git a/app/javascript/dashboard/i18n/locale/ca/integrationApps.json b/app/javascript/dashboard/i18n/locale/ca/integrationApps.json index 6bf16a8ef..a2a60a59c 100644 --- a/app/javascript/dashboard/i18n/locale/ca/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ca/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "S'estan obtenint integracions", "NO_HOOK_CONFIGURED": "No hi ha integracions {integrationId} configurades en aquest compte.", "HEADER": "Aplicacions", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Habilita", "DISABLED": "Inhabilita" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Recollint els hooks d'integració", "INBOX": "Safata d'entrada", + "ACTIONS": "Accions", "DELETE": { "BUTTON_TEXT": "Esborrar" } diff --git a/app/javascript/dashboard/i18n/locale/ca/integrations.json b/app/javascript/dashboard/i18n/locale/ca/integrations.json index f754e0530..d3d6fde73 100644 --- a/app/javascript/dashboard/i18n/locale/ca/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ca/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Esdeveniments subscrits", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel·la", "DESC": "Els esdeveniments de Webhook us proporcionen informació en temps real sobre el que passa al vostre compte de Chatwoot. Introduïu una URL vàlid per configurar un callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Esborrar", "DELETE_CONFIRMATION": { "TITLE": "Suprimeix la integració", @@ -145,7 +160,29 @@ "EXPAND": "Expandeix", "MAKE_FRIENDLY": "Canvia el to del missatge a amigable", "MAKE_FORMAL": "Utilitza un to formal", - "SIMPLIFY": "Simplifica" + "SIMPLIFY": "Simplifica", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Amable" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Esborrany de contingut", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplicacions del tauler de control

Les aplicacions del tauler de control permeten a les organitzacions incrustar una aplicació dins del tauler de control de Chatwoot per proporcionar el context als agents d'atenció al client. Aquesta funció et permet crear una aplicació de manera independent i inserir-la dins del tauler per proporcionar informació de l'usuari, les seves comandes o el seu historial de pagaments anteriors.

Quan incrusteu la teva aplicació mitjançant el tauler de control de Chatwoot, la teva aplicació obté el context de la conversa i el contacte com a esdeveniment de finestra. Implementa un oient per a l'esdeveniment del missatge a la teva pàgina per rebre el context.

Per afegir una aplicació de tauler nova, feu clic al botó \"Afegeix una aplicació de tauler nova\".

", "DESCRIPTION": "Les aplicacions del tauler permeten a les organitzacions incrustar una aplicació dins del tauler per proporcionar el context als agents d'atenció al client. Aquesta funció et permet crear una aplicació de manera independent i incorporar-la per proporcionar informació de l'usuari, les seves comandes o el seu historial de pagaments anterior.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Encara no hi ha cap aplicació de tauler configurada en aquest compte", "LOADING": "S'estan obtenint les aplicacions del tauler de control...", "TABLE_HEADER": { "NAME": "Nom", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Accions" }, "EDIT_TOOLTIP": "Edita l'aplicació", "DELETE_TOOLTIP": "Suprimeix l'aplicació" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Crear/enllaçar una issue en Linear", "LOADING": "S'estan buscant issues en Linear...", "LOADING_ERROR": "S'ha produït un error en obtenir les issues en Linear, torna-ho a provar", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Pots canviar o cancel·lar el teu pla en qualsevol moment" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Posa't en contacte amb el vostre administrador per obtenir l'actualització." }, diff --git a/app/javascript/dashboard/i18n/locale/ca/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ca/labelsMgmt.json index 99852b125..cf644d7e1 100644 --- a/app/javascript/dashboard/i18n/locale/ca/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Obtenció d’etiquetes", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Cerca etiquetes...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "No hi ha cap resposta que coincideixi amb aquesta consulta", "LIST": { "404": "No hi ha etiquetes disponibles en aquest compte.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nom", "DESCRIPTION": "Descripció", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Accions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ca/macros.json b/app/javascript/dashboard/i18n/locale/ca/macros.json index 4a4ca3ceb..ae4ca38a3 100644 --- a/app/javascript/dashboard/i18n/locale/ca/macros.json +++ b/app/javascript/dashboard/i18n/locale/ca/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Afegeix una nova macro", "HEADER_BTN_TXT_SAVE": "Desa la macro", "LOADING": "Obtenció de macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Alguna cosa ha anat malament, torna-ho a provar", "ORDER_INFO": "Les macros s'executaran en l'ordre en què afegeixis les teves accions. Pots reorganitzar-los arrossegant-los per l'identificador al costat de cada node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nom", "CREATED BY": "Creat per", "LAST_UPDATED_BY": "Última actualització per", - "VISIBILITY": "Visibilitat" + "VISIBILITY": "Visibilitat", + "ACTIONS": "Accions" }, "404": "No s'han trobat macros" }, diff --git a/app/javascript/dashboard/i18n/locale/ca/mfa.json b/app/javascript/dashboard/i18n/locale/ca/mfa.json index f3d135d40..2724f73ab 100644 --- a/app/javascript/dashboard/i18n/locale/ca/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ca/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ca/report.json b/app/javascript/dashboard/i18n/locale/ca/report.json index 1db2cca6a..0c33997d1 100644 --- a/app/javascript/dashboard/i18n/locale/ca/report.json +++ b/app/javascript/dashboard/i18n/locale/ca/report.json @@ -3,7 +3,7 @@ "HEADER": "Converses", "LOADING_CHART": "S'estan carregant dades del gràfic...", "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", - "DOWNLOAD_AGENT_REPORTS": "Descarregar Informes d'Agent", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "No s'han pogut obtenir les dades. Intenta-ho més tard.", "SUMMARY_FETCHING_FAILED": "No s'ha pogut obtenir el resum; torna-ho a provar més tard.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Visió general dels agents", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "S'estan carregant dades del gràfic...", "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", "DOWNLOAD_AGENT_REPORTS": "Descarregar Informes d'Agent", "FILTER_DROPDOWN_LABEL": "Seleccionar Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Cerca agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Converses", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", "DOWNLOAD_LABEL_REPORTS": "Descarregar Informes d'etiquetes", "FILTER_DROPDOWN_LABEL": "Selecciona l'etiqueta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Cerca etiquetes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Converses", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Selecciona Safata d'entrada", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Converses", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Visió general de l'equip", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "S'estan carregant dades del gràfic...", "NO_ENOUGH_DATA": "No hem rebut suficients punts de dades per generar l'informe. Torneu-ho a provar més endavant.", "DOWNLOAD_TEAM_REPORTS": "Descarregar Informes d'equip", "FILTER_DROPDOWN_LABEL": "Selecciona equip", + "FILTERS": { + "ADD_FILTER": "Afegeix un filtre", + "CLEAR_ALL": "Esborrar tot", + "NO_FILTER": "No hi ha filtres disponibles", + "INPUT_PLACEHOLDER": { + "TEAMS": "Cerca equips" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Converses", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Informes CSAT", - "NO_RECORDS": "No hi ha respostes de l'enquesta CSAT disponibles.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Descarregar informes CSAT", "DOWNLOAD_FAILED": "No s'han pogut baixar els informes CSAT", "FILTERS": { + "ADD_FILTER": "Afegeix un filtre", + "CLEAR_ALL": "Esborrar tot", + "NO_FILTER": "No hi ha filtres disponibles", + "INPUT_PLACEHOLDER": { + "AGENTS": "Cerca agents", + "INBOXES": "Search inboxes", + "TEAMS": "Cerca equips", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Escull agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Safata d'entrada" + }, + "TEAMS": { + "LABEL": "Equip" + }, + "RATINGS": { + "LABEL": "Valoració" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contacte", - "AGENT_NAME": "Agent assignat", + "AGENT_NAME": "Agent", "RATING": "Valoració", - "FEEDBACK_TEXT": "Comentaris" - } + "FEEDBACK_TEXT": "Comentaris", + "CONVERSATION": "Conversa", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Respostes totals", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Taxa de resposta", "TOOLTIP": "Nombre total de respostes / Nombre total de missatges d'enquesta CSAT enviats * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Desar", + "CANCEL": "Cancel·la", + "SAVING": "S'està desant...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Actualitza ara", + "CANCEL_ANYTIME": "Pots canviar o cancel·lar el teu pla en qualsevol moment" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index b69e3542d..95ff685d2 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Descarrega", "UPLOADING": "S'està carregant...", - "INSTAGRAM_STORY_UNAVAILABLE": "Aquesta història ja no està disponible." + "INSTAGRAM_STORY_UNAVAILABLE": "Aquesta història ja no està disponible.", + "INSTAGRAM_STORY_REPLY": "Va respondre a la teva història:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Veure al mapa" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Llegir documents", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Característiques", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Facturació", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Cerca atributs" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resol la conversa", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resol la conversa", + "CANCEL": "Cancel·la" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Si", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Actualitza ara", + "CANCEL_ANYTIME": "Pots canviar o cancel·lar el teu pla en qualsevol moment" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Posa't en contacte amb el vostre administrador per obtenir l'actualització." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! No hem trobat cap compte de Chatwoot. Crea un compte nou per continuar.", "NEW_ACCOUNT": "Compte nou", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel·la" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ca/signup.json b/app/javascript/dashboard/i18n/locale/ca/signup.json index 0d3a1ba02..9afee22c6 100644 --- a/app/javascript/dashboard/i18n/locale/ca/signup.json +++ b/app/javascript/dashboard/i18n/locale/ca/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Crear un compte", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registre", "TESTIMONIAL_HEADER": "Només cal un pas per avançar", "TESTIMONIAL_CONTENT": "Esteu a un pas de captar els vostres clients, retenir-los i trobar-ne de nous.", diff --git a/app/javascript/dashboard/i18n/locale/ca/sla.json b/app/javascript/dashboard/i18n/locale/ca/sla.json index f79836f02..64dd58e02 100644 --- a/app/javascript/dashboard/i18n/locale/ca/sla.json +++ b/app/javascript/dashboard/i18n/locale/ca/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Crea una nova política de SLA", "DESCRIPTION": "Els acords de nivell de servei (SLA) són contractes que defineixen expectatives clares entre el vostre equip i els clients. Estableixen estàndards de temps de resposta i resolució, creen un marc de responsabilitat i garanteixen una experiència coherent i d'alta qualitat.", "LEARN_MORE": "Més informació sobre SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "S'estan obtenint SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Actualitza per crear SLA", "AVAILABLE_ON": "La funció SLA només està disponible als plans Business i Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "No hi ha cap SLA disponible en aquest compte.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Empresa P0", "DESC_1": "Problemes plantejats pels clients empresarials, que requereixen atenció immediata.", "TITLE_2": "Empresa P1", "DESC_2": "Problemes plantejats pels clients empresarials, que cal reconèixer ràpidament." }, - "BUSINESS_HOURS_ON": "Horari comercial activat", - "BUSINESS_HOURS_OFF": "Horari comercial desactivat", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Primer llindar de temps de resposta", "NRT": "Següent llindar de temps de resposta", diff --git a/app/javascript/dashboard/i18n/locale/ca/snooze.json b/app/javascript/dashboard/i18n/locale/ca/snooze.json new file mode 100644 index 000000000..9a71a1e74 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ca/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hores", + "DAY": "dia", + "DAYS": "days", + "WEEK": "setmana", + "WEEKS": "weeks", + "MONTH": "mes", + "MONTHS": "months", + "YEAR": "any", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "demà", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "pròxima setmana", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "setmana", + "DAY": "dia" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ca/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ca/teamsSettings.json index 0c9a89985..90d580c77 100644 --- a/app/javascript/dashboard/i18n/locale/ca/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ca/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Cerca equips...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "No hi ha cap equip creat en aquest compte.", "EDIT_TEAM": "Edita l'equip", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "No s'han pogut desar els detalls de l'equip. Torna-ho a provar." }, "AGENTS": { - "AGENT": "AGENT", + "AGENT": "Agent", "EMAIL": "Correu electrònic", "BUTTON_TEXT": "Afegir agents", "ADD_AGENTS": "S'estan afegint agents al teu equip...", diff --git a/app/javascript/dashboard/i18n/locale/cs/agentBots.json b/app/javascript/dashboard/i18n/locale/cs/agentBots.json index 18ec3788b..638cbb5fe 100644 --- a/app/javascript/dashboard/i18n/locale/cs/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/cs/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "URL webového háčku" + "URL": "URL webového háčku", + "ACTIONS": "Akce" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/cs/agentMgmt.json b/app/javascript/dashboard/i18n/locale/cs/agentMgmt.json index 91726682b..85056ae17 100644 --- a/app/javascript/dashboard/i18n/locale/cs/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrátor", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "K tomuto účtu nejsou přiřazeni žádní agenti", "TITLE": "Spravujte agenty ve vašem týmu", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nelze se připojit k Woot serveru, opakujte akci později" } }, + "SEARCH_PLACEHOLDER": "Hledat agenty...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Žádné výsledky." }, diff --git a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json index e2b9fa128..69bcfc9d1 100644 --- a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/cs/automation.json b/app/javascript/dashboard/i18n/locale/cs/automation.json index 372a89c15..b50c78434 100644 --- a/app/javascript/dashboard/i18n/locale/cs/automation.json +++ b/app/javascript/dashboard/i18n/locale/cs/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Název", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Akce" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Přidat soukromou poznámku", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/cs/bulkActions.json b/app/javascript/dashboard/i18n/locale/cs/bulkActions.json index 35d498708..fc2e3fdff 100644 --- a/app/javascript/dashboard/i18n/locale/cs/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/cs/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/cs/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/cs/cannedMgmt.json index b88117c68..ef11bb64a 100644 --- a/app/javascript/dashboard/i18n/locale/cs/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Konzervované odpovědi", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Neexistují žádné položky odpovídající tomuto dotazu.", "LIST": { "404": "V tomto účtu nejsou k dispozici žádné konzervované odpovědi.", diff --git a/app/javascript/dashboard/i18n/locale/cs/chatlist.json b/app/javascript/dashboard/i18n/locale/cs/chatlist.json index 7be33dbe2..561982ec3 100644 --- a/app/javascript/dashboard/i18n/locale/cs/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/cs/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json index 21301519d..073e61e18 100644 --- a/app/javascript/dashboard/i18n/locale/cs/contact.json +++ b/app/javascript/dashboard/i18n/locale/cs/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Vašemu hledání neodpovídají žádné kontakty 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Komu:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Předmět :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json index ebba05695..64d01e69d 100644 --- a/app/javascript/dashboard/i18n/locale/cs/conversation.json +++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Zpráva byla úspěšně smazána", "FAIL_DELETE_MESSSAGE": "Zpráva se nepodařilo odstranit! Zkuste to znovu", "NO_RESPONSE": "Bez odpovědi", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nelze přiřadit štítek. Zkuste to prosím znovu." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Přiřazený tým #{team} ke konverzaci id {conversationId}", "FAILED": "Nelze přiřadit tým. Zkuste to prosím znovu." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Zakázat podpis", "MSG_INPUT": "Shift + zadejte pro nový řádek. Začněte '/' pro výběr zrušené odpovědi.", "PRIVATE_MSG_INPUT": "Shift + zadejte pro nový řádek. Toto bude viditelné pouze pro agenty", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Podpis zprávy není nakonfigurován, prosím nakonfigurujte jej v nastavení profilu.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klikněte zde pro aktualizaci", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Přetažením sem připojíte", "START_AUDIO_RECORDING": "Spustit nahrávání zvuku", "STOP_AUDIO_RECORDING": "Zastavit nahrávání zvuku", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Přidat bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nepodařilo se odeslat tuto zprávu, zkuste to prosím později", "SENT_BY": "Odeslal:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Odeslání zprávy se nezdařilo! Zkuste to znovu", "TRY_AGAIN": "opakovat", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Zrušit", "SEND_EMAIL_SUCCESS": "Přepis chatu byl úspěšně odeslán", "SEND_EMAIL_ERROR": "Došlo k chybě, zkuste to prosím znovu", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Poslat přepis zákazníkovi", "SEND_TO_AGENT": "Zašlete přepis přidělenému agentovi", diff --git a/app/javascript/dashboard/i18n/locale/cs/customRole.json b/app/javascript/dashboard/i18n/locale/cs/customRole.json index bb87bde1f..a94d89139 100644 --- a/app/javascript/dashboard/i18n/locale/cs/customRole.json +++ b/app/javascript/dashboard/i18n/locale/cs/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Neexistují žádné položky odpovídající tomuto dotazu.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/cs/datePicker.json b/app/javascript/dashboard/i18n/locale/cs/datePicker.json index b5af13d7d..b1cfe0e4e 100644 --- a/app/javascript/dashboard/i18n/locale/cs/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/cs/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Použít", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Poslední 3 měsíce", "LAST_6_MONTHS": "Posledních 6 měsíců", "LAST_YEAR": "Poslední rok", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Vlastní časové rozmezí" } } diff --git a/app/javascript/dashboard/i18n/locale/cs/general.json b/app/javascript/dashboard/i18n/locale/cs/general.json index 44f1bc85c..ad4bb4731 100644 --- a/app/javascript/dashboard/i18n/locale/cs/general.json +++ b/app/javascript/dashboard/i18n/locale/cs/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Zavřít", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ano", + "NO": "Ne" } } diff --git a/app/javascript/dashboard/i18n/locale/cs/generalSettings.json b/app/javascript/dashboard/i18n/locale/cs/generalSettings.json index 1a1f43848..6af6232cf 100644 --- a/app/javascript/dashboard/i18n/locale/cs/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/cs/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Zprávy", diff --git a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json index eb059daec..d58f88a20 100644 --- a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json index 8e51f4050..b877b96e7 100644 --- a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Schránky", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Zakázáno" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Povoleno", - "DISABLED": "Zakázáno" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Nastavení doručené pošty", "INBOX_UPDATE_SUB_TEXT": "Aktualizujte nastavení doručené pošty", "AUTO_ASSIGNMENT_SUB_TEXT": "Povolit nebo zakázat automatické přiřazování nových konverzací agentům přidaným do této schránky.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Nic", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Zrušit", + "CONFIRM_DELETE": "Vymazat", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Znovu autorizovat", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Den", + "AVAILABILITY": "Dostupnost", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Nedostupný", - "HOURS": "hodiny", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Vyberte" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Do dne" }, "WIDGET_COLOR_LABEL": "Barva widgetu", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Napiště nám", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Napiště nám" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Většinou odpovíme během pár minut", diff --git a/app/javascript/dashboard/i18n/locale/cs/integrationApps.json b/app/javascript/dashboard/i18n/locale/cs/integrationApps.json index a907da3ea..a5b65294d 100644 --- a/app/javascript/dashboard/i18n/locale/cs/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/cs/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Povoleno", "DISABLED": "Zakázáno" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Akce", "DELETE": { "BUTTON_TEXT": "Vymazat" } diff --git a/app/javascript/dashboard/i18n/locale/cs/integrations.json b/app/javascript/dashboard/i18n/locale/cs/integrations.json index 88f86abd7..3d0253213 100644 --- a/app/javascript/dashboard/i18n/locale/cs/integrations.json +++ b/app/javascript/dashboard/i18n/locale/cs/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Zrušit", "DESC": "Události webhooku vám poskytují reálné informace o tom, co se děje ve vašem Chatwoot účtu. Zadejte prosím platnou URL pro nastavení hovoru.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Vymazat", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Název", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Akce" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/cs/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/cs/labelsMgmt.json index 1f4e1ddd4..5814c0f1a 100644 --- a/app/javascript/dashboard/i18n/locale/cs/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Neexistují žádné položky odpovídající tomuto dotazu", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Název", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Akce" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/cs/macros.json b/app/javascript/dashboard/i18n/locale/cs/macros.json index de63b2618..3ce6bb7c1 100644 --- a/app/javascript/dashboard/i18n/locale/cs/macros.json +++ b/app/javascript/dashboard/i18n/locale/cs/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Název", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Akce" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/cs/mfa.json b/app/javascript/dashboard/i18n/locale/cs/mfa.json index 7729b0c9a..55ea26066 100644 --- a/app/javascript/dashboard/i18n/locale/cs/mfa.json +++ b/app/javascript/dashboard/i18n/locale/cs/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/cs/report.json b/app/javascript/dashboard/i18n/locale/cs/report.json index 2831eeeb0..62369df5e 100644 --- a/app/javascript/dashboard/i18n/locale/cs/report.json +++ b/app/javascript/dashboard/i18n/locale/cs/report.json @@ -3,7 +3,7 @@ "HEADER": "Konverzace", "LOADING_CHART": "Načítání dat mapy...", "NO_ENOUGH_DATA": "Pro vytvoření hlášení jsme neobdrželi dostatek dat, zkuste to prosím později.", - "DOWNLOAD_AGENT_REPORTS": "Stáhnout reporty agentů", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Načítání dat mapy...", "NO_ENOUGH_DATA": "Pro vytvoření hlášení jsme neobdrželi dostatek dat, zkuste to prosím později.", "DOWNLOAD_AGENT_REPORTS": "Stáhnout reporty agentů", "FILTER_DROPDOWN_LABEL": "Vybrat agenta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Hledat agenty" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konverzace", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Pro vytvoření hlášení jsme neobdrželi dostatek dat, zkuste to prosím později.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konverzace", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konverzace", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Načítání dat mapy...", "NO_ENOUGH_DATA": "Pro vytvoření hlášení jsme neobdrželi dostatek dat, zkuste to prosím později.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Hledat týmy" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konverzace", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Hledat agenty", + "INBOXES": "Search inboxes", + "TEAMS": "Hledat týmy", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Hodnocení" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Hodnocení", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Zrušit", + "SAVING": "Ukládání...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json index 5d72c850d..a1086aef7 100644 --- a/app/javascript/dashboard/i18n/locale/cs/settings.json +++ b/app/javascript/dashboard/i18n/locale/cs/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Stáhnout", "UPLOADING": "Nahrávání...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funkce", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Zrušit" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ano", + "NO": "Ne" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "Nový účet", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Zrušit" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/cs/signup.json b/app/javascript/dashboard/i18n/locale/cs/signup.json index 4e0f5ffb9..37eb87541 100644 --- a/app/javascript/dashboard/i18n/locale/cs/signup.json +++ b/app/javascript/dashboard/i18n/locale/cs/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrovat se", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/cs/sla.json b/app/javascript/dashboard/i18n/locale/cs/sla.json index 7e6038abb..9b58ac9f5 100644 --- a/app/javascript/dashboard/i18n/locale/cs/sla.json +++ b/app/javascript/dashboard/i18n/locale/cs/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/cs/snooze.json b/app/javascript/dashboard/i18n/locale/cs/snooze.json new file mode 100644 index 000000000..7cdcc5866 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/cs/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hodiny", + "DAY": "day", + "DAYS": "days", + "WEEK": "den", + "WEEKS": "weeks", + "MONTH": "týden", + "MONTHS": "months", + "YEAR": "měsíc", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "zítra", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "příští týden", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "den", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/cs/teamsSettings.json b/app/javascript/dashboard/i18n/locale/cs/teamsSettings.json index 1cdcb0c2b..60cabe29f 100644 --- a/app/javascript/dashboard/i18n/locale/cs/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/cs/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Hledat týmy...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-MAIL", + "AGENT": "Agent", + "EMAIL": "E-mailová adresa", "BUTTON_TEXT": "Přidat agenty", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/da/agentBots.json b/app/javascript/dashboard/i18n/locale/da/agentBots.json index 7b44f5897..725095d9a 100644 --- a/app/javascript/dashboard/i18n/locale/da/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/da/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Handlinger" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/da/agentMgmt.json b/app/javascript/dashboard/i18n/locale/da/agentMgmt.json index 766ea1bde..011a97816 100644 --- a/app/javascript/dashboard/i18n/locale/da/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Der er ingen agenter tilknyttet denne konto", "TITLE": "Administrer agenter i dit team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Kunne ikke oprette forbindelse til Woot Server, Prøv igen senere" } }, + "SEARCH_PLACEHOLDER": "Søg agenter...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Ingen resultater fundet." }, diff --git a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json index b0ee8f27c..b1d0fd6ad 100644 --- a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Henter brugerdefinerede attributter", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Søg attributter...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Samtale", "CONTACT": "Kontakt" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/da/automation.json b/app/javascript/dashboard/i18n/locale/da/automation.json index 833c7a0a4..c1636f2b9 100644 --- a/app/javascript/dashboard/i18n/locale/da/automation.json +++ b/app/javascript/dashboard/i18n/locale/da/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatisering", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Tilføj Automatiseringsregel", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Henter automatiseringsregler", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Tilføj Automatiseringsregel", "SUBMIT": "Opret", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Navn", - "DESCRIPTION": "Beskrivelse", "ACTIVE": "Aktiv", - "CREATED_ON": "Oprettet den" + "CREATED_ON": "Oprettet den", + "ACTIONS": "Handlinger" }, "404": "Ingen automatiseringsregler fundet" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Åbn samtale" + "OPEN_CONVERSATION": "Åbn samtale", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/da/bulkActions.json b/app/javascript/dashboard/i18n/locale/da/bulkActions.json index f5fc5d031..aeb9f341d 100644 --- a/app/javascript/dashboard/i18n/locale/da/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/da/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Samtalens status blev opdateret.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Ingen labels fundet", diff --git a/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json index ec44285ec..4b0185cb1 100644 --- a/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Standardsvar Svar", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel.", "LIST": { "404": "Der er ingen tilgængelige standardsvar på denne konto.", diff --git a/app/javascript/dashboard/i18n/locale/da/chatlist.json b/app/javascript/dashboard/i18n/locale/da/chatlist.json index 4685360f3..cc48a872b 100644 --- a/app/javascript/dashboard/i18n/locale/da/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/da/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index 4c98427b0..46e8d0cd9 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Ingen kontakter matcher din søgning 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Tildel Etiketter", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Til:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Emne :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index 1cc101304..2e5d34a7b 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Besked slettet", "FAIL_DELETE_MESSSAGE": "Kunne ikke slette beskeden! Prøv igen", "NO_RESPONSE": "Intet svar", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Kunne ikke tildele etiket. Prøv venligst igen." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Tildelt team \"{team}\" til samtale-id {conversationId}", "FAILED": "Kunne ikke tildele team. Prøv venligst igen." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Deaktivér signatur", "MSG_INPUT": "Shift + enter for ny linje. Start med '/' for at vælge et standardsvar.", "PRIVATE_MSG_INPUT": "Shift + enter for ny linje. Dette vil kun være synligt for Agenter", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Beskedsignatur er ikke konfigureret, konfigurer den i profilindstillinger.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klik her for at opdatere", "WHATSAPP_TEMPLATES": "Whatsapp Skabeloner" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Træk og slip her for at vedhæfte", "START_AUDIO_RECORDING": "Start lydoptagelse", "STOP_AUDIO_RECORDING": "Stop lydoptagelse", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Tilføj bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Filen overskrider grænsen på {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} for vedhæftede filer", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Kunne ikke sende denne besked, prøv igen senere", "SENT_BY": "Sendt af:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Kunne ikke sende besked! Prøv igen", "TRY_AGAIN": "prøv igen", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Annuller", "SEND_EMAIL_SUCCESS": "Chatudskriften blev sendt med succes", "SEND_EMAIL_ERROR": "Der opstod en fejl. Prøv venligst igen", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send udskrift til kunden", "SEND_TO_AGENT": "Send udskrift til den tildelte agent", diff --git a/app/javascript/dashboard/i18n/locale/da/customRole.json b/app/javascript/dashboard/i18n/locale/da/customRole.json index b6e341616..21bed9856 100644 --- a/app/javascript/dashboard/i18n/locale/da/customRole.json +++ b/app/javascript/dashboard/i18n/locale/da/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/da/datePicker.json b/app/javascript/dashboard/i18n/locale/da/datePicker.json index 29d598c4d..5fb859bef 100644 --- a/app/javascript/dashboard/i18n/locale/da/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/da/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Anvend", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Seneste 3 måneder", "LAST_6_MONTHS": "Seneste 6 måneder", "LAST_YEAR": "Sidste år", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Tilpasset datointerval" } } diff --git a/app/javascript/dashboard/i18n/locale/da/general.json b/app/javascript/dashboard/i18n/locale/da/general.json index eb36a5a73..ab081ca60 100644 --- a/app/javascript/dashboard/i18n/locale/da/general.json +++ b/app/javascript/dashboard/i18n/locale/da/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Luk", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ja", + "NO": "Nej" } } diff --git a/app/javascript/dashboard/i18n/locale/da/generalSettings.json b/app/javascript/dashboard/i18n/locale/da/generalSettings.json index cf8279ecb..9ad9eb70d 100644 --- a/app/javascript/dashboard/i18n/locale/da/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/da/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Søg eller hop til", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Generelt", "REPORTS": "Rapporter", diff --git a/app/javascript/dashboard/i18n/locale/da/helpCenter.json b/app/javascript/dashboard/i18n/locale/da/helpCenter.json index 4d7d68b9c..0cc945e86 100644 --- a/app/javascript/dashboard/i18n/locale/da/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/da/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Fejl under sletning af artikel" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Tilføj venligst artiklens overskrift og indhold, så kun du kan opdatere indstillingerne" }, diff --git a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json index a2d3cf391..54c759fd0 100644 --- a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Indbakker", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Deaktiveret" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Aktiveret", - "DISABLED": "Deaktiveret" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Aktiver" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Aktivér konversationskontinuitet via e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Samtaler vil fortsætte via e-mail, hvis kontaktpersonens e-mailadresse er tilgængelig.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Indbakke Indstillinger", "INBOX_UPDATE_SUB_TEXT": "Opdater dine indbakkeindstillinger", "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling af nye samtaler til agenter tilføjet til denne indbakke.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Ingen", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Indtast en værdi større end 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Begræns det maksimale antal samtaler fra denne indbakke, der kan være auto tildelt en agent" }, + "ASSIGNMENT": { + "TITLE": "Samtale Tildeling", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktiv", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Annuller", + "CONFIRM_DELETE": "Slet", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Genautorisér", "SUBTITLE": "Din Facebook-forbindelse er udløbet, tilslut venligst din Facebook-side igen for at fortsætte tjenesterne", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Gå tilbage" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Utilgængelig besked til besøgende", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Dag", + "AVAILABILITY": "Tilgængelighed", + "HOURS": "Hours", "ENABLE": "Aktiver tilgængelighed for denne dag", "UNAVAILABLE": "Unavailable", - "HOURS": "timer", "VALIDATION_ERROR": "Starttidspunkt bør være før lukketid.", "CHOOSE": "Vælg" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "På en dag" }, "WIDGET_COLOR_LABEL": "Widget Farve", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat med os", - "LABEL": "Widget Bubble Launcher Titel", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat med os" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Standard", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Svarer typisk på et par minutter", diff --git a/app/javascript/dashboard/i18n/locale/da/integrationApps.json b/app/javascript/dashboard/i18n/locale/da/integrationApps.json index de5265e07..45e0ff27a 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/da/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Henter Integrationer", "NO_HOOK_CONFIGURED": "Der er ingen {integrationId} integrationer konfigureret på denne konto.", "HEADER": "Applikationer", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Aktiveret", "DISABLED": "Deaktiveret" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Henter integrationshoks", "INBOX": "Indbakke", + "ACTIONS": "Handlinger", "DELETE": { "BUTTON_TEXT": "Slet" } diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json index b27b5f270..3babb0dc5 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrations.json +++ b/app/javascript/dashboard/i18n/locale/da/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Abonnerede Begivenheder", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Annuller", "DESC": "Webhook-begivenheder giver dig realtidsoplysninger om, hvad der sker på din Chatwoot-konto. Angiv en gyldig URL for at konfigurere et callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Slet", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps tillader organisationer at integrere en applikation i Chatwoot-dashboardet for at give konteksten til kundesupportagenter. Denne funktion giver dig mulighed for at oprette et program uafhængigt og integrere at inde i instrumentbrættet til at give brugerinformation, deres ordrer eller deres tidligere betalingshistorie.

Når du indlejrer din applikation ved hjælp af instrumentbrættet i Chatwoot, dit program vil få konteksten af samtalen og kontakt som en vinduesbegivenhed. Gennemfør en lytter til besked begivenheden på din side for at modtage konteksten.

For at tilføje en ny dashboard app, klik på knappen 'Tilføj en ny dashboard app'.

", "DESCRIPTION": "Dashboard Apps giver organisationer mulighed for at integrere et program i instrumentbrættet for at give konteksten for kundesupportagenter. Denne funktion giver dig mulighed for at oprette et program uafhængigt og integrere at give brugeroplysninger, deres ordrer, eller deres tidligere betalingshistorik.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Der er ingen dashboard apps konfigureret på denne konto endnu", "LOADING": "Henter dashboard apps...", "TABLE_HEADER": { "NAME": "Navn", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Handlinger" }, "EDIT_TOOLTIP": "Rediger app", "DELETE_TOOLTIP": "Slet app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json index 73913432a..946c90de5 100644 --- a/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Henter etiketter", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Søg efter labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Der er ingen elementer, der matcher denne forespørgsel", "LIST": { "404": "Der er ingen tilgængelige etiketter på denne konto.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Navn", "DESCRIPTION": "Beskrivelse", - "COLOR": "Farve" + "COLOR": "Farve", + "ACTION": "Handlinger" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/da/macros.json b/app/javascript/dashboard/i18n/locale/da/macros.json index 1335941c9..d31a4138d 100644 --- a/app/javascript/dashboard/i18n/locale/da/macros.json +++ b/app/javascript/dashboard/i18n/locale/da/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Gem macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Navn", "CREATED BY": "Oprettet af", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Synlighed" + "VISIBILITY": "Synlighed", + "ACTIONS": "Handlinger" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/da/mfa.json b/app/javascript/dashboard/i18n/locale/da/mfa.json index 440c89657..99940ab7d 100644 --- a/app/javascript/dashboard/i18n/locale/da/mfa.json +++ b/app/javascript/dashboard/i18n/locale/da/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/da/report.json b/app/javascript/dashboard/i18n/locale/da/report.json index fb93cb681..8ecb08ffa 100644 --- a/app/javascript/dashboard/i18n/locale/da/report.json +++ b/app/javascript/dashboard/i18n/locale/da/report.json @@ -3,7 +3,7 @@ "HEADER": "Samtaler", "LOADING_CHART": "Indlæser diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", - "DOWNLOAD_AGENT_REPORTS": "Download agentrapporter", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agenter Oversigt", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Indlæser diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", "DOWNLOAD_AGENT_REPORTS": "Download agentrapporter", "FILTER_DROPDOWN_LABEL": "Vælg Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Søg agenter" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", "DOWNLOAD_LABEL_REPORTS": "Download etiketrapporter", "FILTER_DROPDOWN_LABEL": "Vælg Etiket", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Søg efter labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Vælg Indbakke", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Oversigt", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Indlæser diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke modtaget nok datapunkter til at generere rapport. Prøv igen senere.", "DOWNLOAD_TEAM_REPORTS": "Download teamrapporter", "FILTER_DROPDOWN_LABEL": "Vælg Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Søg i teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Rapporter", - "NO_RECORDS": "Der er ingen CSAT undersøgelse svar til rådighed.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Rapporter", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Søg agenter", + "INBOXES": "Search inboxes", + "TEAMS": "Søg i teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Vælg Agenter" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Indbakke" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Bedømmelse" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontakt", - "AGENT_NAME": "Tildelt agent", + "AGENT_NAME": "Agent", "RATING": "Bedømmelse", - "FEEDBACK_TEXT": "Kommentar til feedback" - } + "FEEDBACK_TEXT": "Kommentar til feedback", + "CONVERSATION": "Samtale", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Svar i alt", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Respons rate", "TOOLTIP": "Samlet antal svar / Samlet antal CSAT undersøgelsesmeddelelser sendt * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Annuller", + "SAVING": "Gemmer...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index b27835635..01a64899b 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploader...", - "INSTAGRAM_STORY_UNAVAILABLE": "Denne historie er ikke længere tilgængelig." + "INSTAGRAM_STORY_UNAVAILABLE": "Denne historie er ikke længere tilgængelig.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Se på kort" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Læs dokumenter", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funktioner", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Fakturering", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Søg attributter" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Løs samtale", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Løs samtale", + "CANCEL": "Annuller" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ja", + "NO": "Nej" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! Vi kunne ikke finde nogen Chatwoot-konti. Opret venligst en ny konto for at fortsætte.", "NEW_ACCOUNT": "Ny Konto", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Annuller" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/da/signup.json b/app/javascript/dashboard/i18n/locale/da/signup.json index 553d18fd3..250e5672f 100644 --- a/app/javascript/dashboard/i18n/locale/da/signup.json +++ b/app/javascript/dashboard/i18n/locale/da/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Opret en konto", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrer", "TESTIMONIAL_HEADER": "Alt, hvad der skal til, er blot et skridt for at komme videre", "TESTIMONIAL_CONTENT": "Du er et skridt fra at engagere dine kunder, fastholde dem og finde nye kunder.", diff --git a/app/javascript/dashboard/i18n/locale/da/sla.json b/app/javascript/dashboard/i18n/locale/da/sla.json index d95b1dc28..689ffe7f8 100644 --- a/app/javascript/dashboard/i18n/locale/da/sla.json +++ b/app/javascript/dashboard/i18n/locale/da/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/da/snooze.json b/app/javascript/dashboard/i18n/locale/da/snooze.json new file mode 100644 index 000000000..c3b99e8cd --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/da/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "timer", + "DAY": "dag", + "DAYS": "days", + "WEEK": "dag", + "WEEKS": "weeks", + "MONTH": "uge", + "MONTHS": "months", + "YEAR": "måned", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "i Morgen", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "næste uge", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "dag", + "DAY": "dag" + } +} diff --git a/app/javascript/dashboard/i18n/locale/da/teamsSettings.json b/app/javascript/dashboard/i18n/locale/da/teamsSettings.json index 190ffba22..174ab57df 100644 --- a/app/javascript/dashboard/i18n/locale/da/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/da/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Henter hold", "DESCRIPTION": "Teams giver dig mulighed for at organisere agenter i grupper baseret på deres ansvar. En agent kan tilhøre flere hold. Når du arbejder sammen, kan du tildele samtaler til bestemte teams.", "LEARN_MORE": "Få flere oplysninger om hold funktionen", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Søg i teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Der er ingen teams oprettet på denne konto.", "EDIT_TEAM": "Rediger team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Kunne ikke gemme teamdetaljerne. Prøv igen." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-MAIL", + "AGENT": "Agent", + "EMAIL": "E-mail", "BUTTON_TEXT": "Tilføj agenter", "ADD_AGENTS": "Tilføjer agenter til dit Team...", "SELECT": "vælg", diff --git a/app/javascript/dashboard/i18n/locale/de/agentBots.json b/app/javascript/dashboard/i18n/locale/de/agentBots.json index a5119b531..39ed7cfcf 100644 --- a/app/javascript/dashboard/i18n/locale/de/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/de/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Lade Editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Bots werden geladen...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook-URL" + "URL": "Webhook-URL", + "ACTIONS": "Aktionen" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/de/agentMgmt.json b/app/javascript/dashboard/i18n/locale/de/agentMgmt.json index 6ec5352fb..0ed891af8 100644 --- a/app/javascript/dashboard/i18n/locale/de/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Diesem Konto sind keine Agenten zugeordnet", "TITLE": "Verwalten Sie Agenten in Ihrem Team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Es konnte keine Verbindung zum Woot Server hergestellt werden. Bitte versuchen Sie es später erneut" } }, + "SEARCH_PLACEHOLDER": "Agenten suchen...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Keine Ergebnisse gefunden." }, diff --git a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json index 90f2a2d51..c69c141fd 100644 --- a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Benutzerdefinierte Attribute abrufen", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Attribut suchen...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Konversation", "CONTACT": "Kontakt" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Regex Validierung aktivieren" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/de/automation.json b/app/javascript/dashboard/i18n/locale/de/automation.json index b93b39656..dfec1022c 100644 --- a/app/javascript/dashboard/i18n/locale/de/automation.json +++ b/app/javascript/dashboard/i18n/locale/de/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatisierung", "DESCRIPTION": "Mittels Automatisierung können bestehende Prozesse ersetzt und rationalisiert werden, die manuellen Aufwand erfordern, z. B. das Hinzufügen von Etiketten und die Zuweisung von Gesprächen an den am besten geeigneten Agenten. So kann sich das Team auf seine Stärken konzentrieren und gleichzeitig den Zeitaufwand für Routineaufgaben reduzieren.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Automatisierungsregel hinzufügen", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Automatisierungsregeln abrufen", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Automatisierungsregel hinzufügen", "SUBMIT": "Erstellen", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Beschreibung", "ACTIVE": "Aktiv", - "CREATED_ON": "Erstellt am" + "CREATED_ON": "Erstellt am", + "ACTIONS": "Aktionen" }, "404": "Keine Automatisierungsregeln gefunden" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Priorität ändern", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Unterhaltung öffnen" + "OPEN_CONVERSATION": "Unterhaltung öffnen", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/de/bulkActions.json b/app/javascript/dashboard/i18n/locale/de/bulkActions.json index b29f17fdd..ed6a77908 100644 --- a/app/javascript/dashboard/i18n/locale/de/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/de/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Der Konversationsstatus wurde erfolgreich aktualisiert.", "UPDATE_FAILED": "Konversationen konnten nicht aktualisiert werden. Bitte versuchen Sie es erneut." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Konversationen können aufgrund fehlender notwendiger Attribute nicht gelöst werden", + "PARTIAL_SUCCESS": "Einige Konversationen benötigen zum Lösen erforderliche Attribute und wurden übersprungen" + }, "LABELS": { "ASSIGN_LABELS": "Labels zuweisen", "NO_LABELS_FOUND": "Keine Labels gefunden", diff --git a/app/javascript/dashboard/i18n/locale/de/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/de/cannedMgmt.json index 3ddd8de23..e26e3dede 100644 --- a/app/javascript/dashboard/i18n/locale/de/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Vorgefertigte Antworten", "LEARN_MORE": "Erfahren Sie mehr über vorgefertigte Antworten", "DESCRIPTION": "Vorgefertigte Antworten sind vorgeschriebene Antwortvorlagen, die Ihnen helfen, schnell auf eine Konversation zu reagieren. Agenten können das Zeichen '/' gefolgt von dem Kurzbefehl eingeben, um während einer Konversation eine vorgefertigte Antwort einzufügen. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Vorgefertigte Antwort hinzufügen", "LOADING": "Lade vorgefertigte Antworten...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Es existieren keine Elemente, die dieser Abfrage entsprechen.", "LIST": { "404": "In diesem Konto sind keine gespeicherten Antworten verfügbar.", diff --git a/app/javascript/dashboard/i18n/locale/de/chatlist.json b/app/javascript/dashboard/i18n/locale/de/chatlist.json index 459e3f3a9..ce4456067 100644 --- a/app/javascript/dashboard/i18n/locale/de/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/de/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Ausstehende Antwort: Kürzeste zuerst" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/de/companies.json b/app/javascript/dashboard/i18n/locale/de/companies.json index 0144ac7d3..3dcd8ee07 100644 --- a/app/javascript/dashboard/i18n/locale/de/companies.json +++ b/app/javascript/dashboard/i18n/locale/de/companies.json @@ -1,13 +1,13 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "Unternehmen", "SORT_BY": { "LABEL": "Sortieren nach", "OPTIONS": { "NAME": "Name", "DOMAIN": "Domain", "CREATED_AT": "Erstellt am", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Anzahl Kontakte" } }, "ORDER": { @@ -17,17 +17,17 @@ "DESCENDING": "Absteigend" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "Unternehmen suchen...", + "LOADING": "Unternehmen werden geladen...", + "UNNAMED": "Unbenanntes Unternehmen", + "CONTACTS_COUNT": "{n} Kontakt | {n} Kontakte", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "Keine Unternehmen gefunden" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "Zeige {startItem} – {endItem} von {totalItems} Unternehmen | Zeige {startItem} – {endItem} von {totalItems} Unternehmen" } } } diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json index f7e71a75e..36d003067 100644 --- a/app/javascript/dashboard/i18n/locale/de/contact.json +++ b/app/javascript/dashboard/i18n/locale/de/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Instagram hinzufügen" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Keine Kontakte entsprechen Ihrer Suche 🔍", "LIST_EMPTY_STATE_TITLE": "Keine Kontakte verfügbar in dieser Ansicht 📋", "ACTIVE_EMPTY_STATE_TITLE": "Im Moment sind keine Kontakte aktiv 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Labels zuweisen", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "Es sind keine Posteingänge vorhanden, um eine Unterhaltung mit diesem Kontakt zu starten.", "CONTACT_SELECTOR": { "LABEL": "An:", - "TAG_INPUT_PLACEHOLDER": "Suche nach Kontakten mit Name, E-Mail oder Telefonnummer", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Neuen Kontakt erstellen..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Betreff :", "SUBJECT_PLACEHOLDER": "E-Mail Betreff hier eingeben", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Suche nach einem Kontakt mit seiner E-Mail-Adresse", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Suche nach einem Kontakt mit seiner E-Mail-Adresse", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json index 86cc4d002..091120b1d 100644 --- a/app/javascript/dashboard/i18n/locale/de/conversation.json +++ b/app/javascript/dashboard/i18n/locale/de/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "Diese Nachricht wird nicht unterstützt. Sie können diese Nachricht in der Facebook/Instagram-App sehen.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Diese Nachricht wird nicht unterstützt. Sie können diese Nachricht in der Facebook-Messenger-App sehen.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Diese Nachricht wird nicht unterstützt. Sie können diese Nachricht in der Instagram-App sehen.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Nachricht erfolgreich gelöscht", "FAIL_DELETE_MESSSAGE": "Nachricht konnte nicht gelöscht werden! Versuchen Sie es erneut", "NO_RESPONSE": "Keine Antwort", @@ -173,6 +174,10 @@ "SUCCESFUL": "Label #{labelName} der Konversations-ID {conversationId} zugewiesen", "FAILED": "Label konnte nicht zugewiesen werden. Bitte versuche es erneut." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Das Team\"{team}\" wurde der Konversations-ID {conversationId} zugewiesen", "FAILED": "Team konnte nicht zugewiesen werden. Bitte versuche es erneut." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Signatur deaktivieren", "MSG_INPUT": "Umschalt + Eingabetaste für neue Zeile. Beginnen Sie mit '/', um eine vordefinierte Antwort auszuwählen.", "PRIVATE_MSG_INPUT": "Umschalt + Eingabetaste für neue Zeile. Dies ist nur für Agenten sichtbar", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Die Nachrichtensignatur ist nicht konfiguriert, bitte konfigurieren Sie sie in den Profileinstellungen.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klicken Sie hier, um zu aktualisieren", "WHATSAPP_TEMPLATES": "WhatsApp-Vorlagen" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Zum Anhängen hierher ziehen und ablegen", "START_AUDIO_RECORDING": "Audioaufzeichnung starten", "STOP_AUDIO_RECORDING": "Audioaufzeichnung stoppen", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "An", "ADD_BCC": "BCC hinzufügen", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Unterhaltung erfolgreich gelöscht", "FAIL_DELETE_CONVERSATION": "Unterhaltung konnte nicht gelöscht werden! Erneut versuchen", "FILE_SIZE_LIMIT": "Die Datei überschreitet das Anhangslimit von {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nachricht konnte nicht gesendet werden, bitte versuchen Sie es später erneut", "SENT_BY": "Gesendet von:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nachricht konnte nicht gesendet werden! Versuchen Sie es noch einmal", "TRY_AGAIN": "neu versuchen", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Abbrechen", "SEND_EMAIL_SUCCESS": "Das Chat-Protokoll wurde erfolgreich gesendet", "SEND_EMAIL_ERROR": "Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Das Transkript an den Kunden senden", "SEND_TO_AGENT": "Transkript an den zugewiesenen Agenten senden", diff --git a/app/javascript/dashboard/i18n/locale/de/customRole.json b/app/javascript/dashboard/i18n/locale/de/customRole.json index 152217dca..11b6e8c6a 100644 --- a/app/javascript/dashboard/i18n/locale/de/customRole.json +++ b/app/javascript/dashboard/i18n/locale/de/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Es existieren keine Elemente, die dieser Abfrage entsprechen.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/de/datePicker.json b/app/javascript/dashboard/i18n/locale/de/datePicker.json index 53fe1d957..eab957fad 100644 --- a/app/javascript/dashboard/i18n/locale/de/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/de/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Übernehmen", "CLEAR_BUTTON": "Leeren", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Letzte 3 Monate", "LAST_6_MONTHS": "Letzte 6 Monate", "LAST_YEAR": "Letztes Jahr", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Benutzerdefinierter Zeitraum" } } diff --git a/app/javascript/dashboard/i18n/locale/de/general.json b/app/javascript/dashboard/i18n/locale/de/general.json index a0b8ac977..0197be8d6 100644 --- a/app/javascript/dashboard/i18n/locale/de/general.json +++ b/app/javascript/dashboard/i18n/locale/de/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Schließen", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Verwerfen", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ja", + "NO": "Nein" } } diff --git a/app/javascript/dashboard/i18n/locale/de/generalSettings.json b/app/javascript/dashboard/i18n/locale/de/generalSettings.json index 33c2c2843..ecf1109ab 100644 --- a/app/javascript/dashboard/i18n/locale/de/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/de/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Suchen oder springen zu", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Generell", "REPORTS": "Berichte", diff --git a/app/javascript/dashboard/i18n/locale/de/helpCenter.json b/app/javascript/dashboard/i18n/locale/de/helpCenter.json index 3be2485d1..4a2cc23a2 100644 --- a/app/javascript/dashboard/i18n/locale/de/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/de/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Fehler beim Löschen des Artikels" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Bitte fügen Sie die Überschrift und den Inhalt des Artikels hinzu, dann können nur Sie die Einstellungen aktualisieren" }, diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json index 43cd5f23e..88ec50dd5 100644 --- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Posteingänge", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Mehr über Posteingänge erfahren", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Ihr Posteingang ist nicht verbunden. Sie erhalten keine neuen Nachrichten, bis Sie ihn erneut autorisieren.", "CLICK_TO_RECONNECT": "Klicken Sie hier, um die Verbindung wiederherzustellen.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Verwenden Sie nur den konfigurierten Firmennamen als Absendernamen in der E-Mail-Kopfzeile." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Konfigurieren Sie Ihren Firmennamen", + "BUTTON_TEXT": "Konfigurieren Sie Ihren Firmennamen", "PLACEHOLDER": "Geben Sie Ihren Firmennamen ein", "SAVE_BUTTON_TEXT": "Speichern" } @@ -589,8 +592,10 @@ "DISABLED": "Deaktiviert" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Aktiviert", - "DISABLED": "Deaktiviert" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Aktivieren" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Aktivieren/Deaktivieren Sie die Anzeige des Agentennamens in der E-Mail. Wenn deaktiviert, wird der Firmenname angezeigt", "ENABLE_CONTINUITY_VIA_EMAIL": "Konversationskontinuität per E-Mail aktivieren", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Konversationen werden per E-Mail fortgesetzt, wenn die Kontakt-E-Mail-Adresse verfügbar ist.", - "LOCK_TO_SINGLE_CONVERSATION": "Mehrere Konversationen zulassen", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Mehrere gleichzeitige Unterhaltungen für denselben Kontakt in diesem Posteingang aktivieren oder deaktivieren", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Posteingangseinstellungen", "INBOX_UPDATE_SUB_TEXT": "Posteingangseinstellungen aktualisieren", "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivieren oder deaktivieren Sie die automatische Zuweisung verfügbarer Agenten für neue Konversationen", @@ -758,6 +765,7 @@ "LABEL": "Hilfezentrum", "PLACEHOLDER": "Hilfezentrum auswählen", "SELECT_PLACEHOLDER": "Hilfezentrum auswählen", + "NONE": "Keine", "REMOVE": "Hilfezentrum entfernen", "SUB_TEXT": "Ein Hilfezentrum am Posteingang anhängen" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Bitte geben Sie einen Wert größer als 0 ein", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Beschränken Sie die maximale Anzahl von Konversationen aus diesem Posteingang, die einem Agenten automatisch zugewiesen werden können" }, + "ASSIGNMENT": { + "TITLE": "Konversationssauftrag", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktiv", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Stornieren", + "CONFIRM_DELETE": "Löschen", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Neu autorisieren", "SUBTITLE": "Ihre Facebook-Verbindung ist abgelaufen, bitte verbinden Sie sich neu, um die Dienste fortzuführen", @@ -825,7 +880,7 @@ "PENDING": "Pending WhatsApp approval", "REJECTED": "Meta rejected the template", "DEFAULT": "Needs WhatsApp approval", - "NOT_FOUND": "The template does not exist in the Meta platform." + "NOT_FOUND": "Die Voralge ist auf der Meta-Plattform nicht vorhanden." }, "TEMPLATE_CREATION": { "SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval", @@ -833,10 +888,24 @@ }, "TEMPLATE_UPDATE_DIALOG": { "TITLE": "Edit survey details", - "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", + "DESCRIPTION": "Wir löschen die vorherige Vorlage und erstellen eine neue, die erneut zur Genehmigung durch WhatsApp gesendet wird", "CONFIRM": "Create new template", "CANCEL": "Zurück" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Nachricht für Besucher außerhalb Geschäftszeiten", "TOGGLE_HELP": "Wenn die Geschäftsverfügbarkeit aktiviert ist, werden die verfügbaren Stunden im Live-Chat-Widget angezeigt, auch wenn alle Agenten offline sind. Außerhalb der verfügbaren Stunden können Besucher mit einer Nachricht und einem Chat-Formular gewarnt werden.", "DAY": { + "DAY": "Tag", + "AVAILABILITY": "Verfügbarkeit", + "HOURS": "Hours", "ENABLE": "Verfügbarkeit für diesen Tag aktivieren", "UNAVAILABLE": "Nicht verfügbar", - "HOURS": "Stunden", "VALIDATION_ERROR": "Die Startzeit sollte vor der Schließzeit liegen.", "CHOOSE": "Auswählen" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Innerhalb eines Tages" }, "WIDGET_COLOR_LABEL": "Widget Farbe", - "WIDGET_BUBBLE_POSITION_LABEL": "Position der Widget-Blase", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget-Blasentyp", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Typ:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chatten Sie mit uns", - "LABEL": "Widget Bubble Launcher-Titel", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chatten Sie mit uns" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Standard", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Wir antworten üblicherweise innerhalb weniger Minuten", diff --git a/app/javascript/dashboard/i18n/locale/de/integrationApps.json b/app/javascript/dashboard/i18n/locale/de/integrationApps.json index 7b60198f8..65566b625 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/de/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Integrationen werden abgerufen", "NO_HOOK_CONFIGURED": "Es wurden keine {integrationId} Integrationen in diesem Konto konfiguriert.", "HEADER": "Anwendungen", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Aktiviert", "DISABLED": "Deaktiviert" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Hooks werden abgerufen", "INBOX": "Posteingang", + "ACTIONS": "Aktionen", "DELETE": { "BUTTON_TEXT": "Löschen" } diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json index c9f751b30..96686c45e 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrations.json +++ b/app/javascript/dashboard/i18n/locale/de/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integriert sich mit mehreren Tools und Diensten, um die Effizienz Ihres Teams zu verbessern. Erkunden Sie die folgende Liste, um Ihre Lieblingsapps zu konfigurieren.", "LEARN_MORE": "Mehr über Integrationen erfahren", "LOADING": "Integrationen werden abgerufen", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain ist auf Ihrem Konto nicht aktiviert.", "CLICK_HERE_TO_CONFIGURE": "Hier klicken, um zu konfigurieren", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Abonnierte Events", "LEARN_MORE": "Mehr über Webhooks erfahren", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Stornieren", "DESC": "Webhook-Ereignisse bieten Ihnen Echtzeitinformationen darüber, was in Ihrem Chatwoot-Konto passiert. Bitte geben Sie eine gültige URL ein, um einen Rückruf zu konfigurieren.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Löschen", "DELETE_CONFIRMATION": { "TITLE": "Integration löschen", @@ -145,7 +160,29 @@ "EXPAND": "Erweitern", "MAKE_FRIENDLY": "Nachrichtenton in freundlich ändern", "MAKE_FORMAL": "Formellen Ton verwenden", - "SIMPLIFY": "Vereinfachen" + "SIMPLIFY": "Vereinfachen", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professionell", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Freundlich" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Inhalt entwerfen", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard-Apps ermöglichen es Unternehmen, eine Anwendung in das Chatwoot-Dashboard einzubetten, um den Kontext für Kundendienstmitarbeiter bereitzustellen. Mit dieser Funktion können Sie eine Anwendung unabhängig erstellen und diese in das Dashboard einbetten, um Benutzerinformationen, ihre Bestellungen oder ihren bisherigen Zahlungsverlauf bereitzustellen.

Wenn Sie Ihre Anwendung über das Dashboard in Chatwoot einbetten, erhält Ihre Anwendung den Kontext der Unterhaltung und des Kontakts als Fensterereignis. Implementieren Sie einen Listener für das Nachrichtenereignis auf Ihrer Seite, um den Kontext zu erhalten.

Um eine neue Dashboard-App hinzuzufügen, klicken Sie auf die Schaltfläche „Neue Dashboard-App hinzufügen“.

", "DESCRIPTION": "Dashboard-Apps ermöglichen es Unternehmen, eine Anwendung in das Dashboard einzubetten, um den Kontext für Kundendienstmitarbeiter bereitzustellen. Mit dieser Funktion können Sie eine Anwendung unabhängig erstellen und diese einbetten, um Benutzerinformationen, ihre Bestellungen oder ihren bisherigen Zahlungsverlauf bereitzustellen.", "LEARN_MORE": "Mehr über Dashboard-Apps erfahren", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Für dieses Konto sind noch keine Dashboard-Apps konfiguriert", "LOADING": "Dashboard-Apps werden abgerufen...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpunkt" + "ENDPOINT": "Endpunkt", + "ACTIONS": "Aktionen" }, "EDIT_TOOLTIP": "App bearbeiten", "DELETE_TOOLTIP": "Anwendung löschen" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Lineares Problem erstellen/verknüpfen", "LOADING": "Lineare Probleme werden abgerufen...", "LOADING_ERROR": "Beim Abrufen der linearen Probleme ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Sie können Ihr Paket jederzeit ändern oder kündigen" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Tarif upgraden, um Zugang zu unseren Assistenten, Copilot und mehr zu erhalten.", "ASK_ADMIN": "Bitte kontaktieren Sie Ihren Administrator für das Upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/de/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/de/labelsMgmt.json index e3a85ef2c..3e7d8c811 100644 --- a/app/javascript/dashboard/i18n/locale/de/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Label werden abgerufen", "DESCRIPTION": "Labels helfen Ihnen, Konversationen und Leads zu kategorisieren und zu priorisieren. Sie können einer Konversation oder einem Kontakt über das Seitenpanel ein Label zuweisen.", "LEARN_MORE": "Mehr über Labels erfahren", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Labels suchen...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Es existieren keine Elemente, die dieser Abfrage entsprechen", "LIST": { "404": "In diesem Konto sind keine Labels verfügbar.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Beschreibung", - "COLOR": "Farbe" + "COLOR": "Farbe", + "ACTION": "Aktionen" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/de/macros.json b/app/javascript/dashboard/i18n/locale/de/macros.json index 829c5c79a..f39444991 100644 --- a/app/javascript/dashboard/i18n/locale/de/macros.json +++ b/app/javascript/dashboard/i18n/locale/de/macros.json @@ -3,9 +3,12 @@ "HEADER": "Makros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Neues Makro hinzufügen", "HEADER_BTN_TXT_SAVE": "Makro speichern", "LOADING": "Makros abrufen", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Etwas ist schiefgelaufen. Bitte versuche es erneut", "ORDER_INFO": "Makros werden in der Reihenfolge ausgeführt, in der Sie Ihre Aktionen hinzufügen. Sie können sie neu anordnen, indem Sie sie am Griff neben jedem Knoten ziehen.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Erstellt von", "LAST_UPDATED_BY": "Zuletzt aktualisiert von", - "VISIBILITY": "Sichtbarkeit" + "VISIBILITY": "Sichtbarkeit", + "ACTIONS": "Aktionen" }, "404": "Keine Makros gefunden" }, diff --git a/app/javascript/dashboard/i18n/locale/de/mfa.json b/app/javascript/dashboard/i18n/locale/de/mfa.json index de9b27cf7..c0e97be83 100644 --- a/app/javascript/dashboard/i18n/locale/de/mfa.json +++ b/app/javascript/dashboard/i18n/locale/de/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/de/report.json b/app/javascript/dashboard/i18n/locale/de/report.json index b61ce23eb..8e83a1346 100644 --- a/app/javascript/dashboard/i18n/locale/de/report.json +++ b/app/javascript/dashboard/i18n/locale/de/report.json @@ -3,7 +3,7 @@ "HEADER": "Gespräche", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", - "DOWNLOAD_AGENT_REPORTS": "Agenten-Berichte herunterladen", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Daten konnten nicht abgerufen werden. Bitte versuchen Sie es später erneut.", "SUMMARY_FETCHING_FAILED": "Zusammenfassung konnte nicht abgerufen werden. Bitte versuchen Sie es später erneut.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agenten-Übersicht", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", "DOWNLOAD_AGENT_REPORTS": "Agenten-Berichte herunterladen", "FILTER_DROPDOWN_LABEL": "Agent auswählen", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Agenten suchen" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationen", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", "DOWNLOAD_LABEL_REPORTS": "Label-Berichte herunterladen", "FILTER_DROPDOWN_LABEL": "Label auswählen", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Labels suchen" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationen", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Eingang auswählen", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationen", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team-Übersicht", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Diagrammdaten laden ...", "NO_ENOUGH_DATA": "Wir haben nicht genügend Datenpunkte erhalten, um einen Bericht zu erstellen. Bitte versuchen Sie es später erneut.", "DOWNLOAD_TEAM_REPORTS": "Team-Berichte herunterladen", "FILTER_DROPDOWN_LABEL": "Team auswählen", + "FILTERS": { + "ADD_FILTER": "Filter hinzufügen", + "CLEAR_ALL": "Alle löschen", + "NO_FILTER": "Keine Filter verfügbar", + "INPUT_PLACEHOLDER": { + "TEAMS": "Teams suchen" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationen", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT-Berichte", - "NO_RECORDS": "Es sind keine Antworten zu CSAT Umfragen verfügbar.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "CSAT-Berichte herunterladen", "DOWNLOAD_FAILED": "CSAT-Berichte konnten nicht heruntergeladen werden", "FILTERS": { + "ADD_FILTER": "Filter hinzufügen", + "CLEAR_ALL": "Alle löschen", + "NO_FILTER": "Keine Filter verfügbar", + "INPUT_PLACEHOLDER": { + "AGENTS": "Agenten suchen", + "INBOXES": "Search inboxes", + "TEAMS": "Teams suchen", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Agenten wählen" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Posteingang" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Bewertung" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontakt", - "AGENT_NAME": "Zugewiesener Agent", + "AGENT_NAME": "Agent", "RATING": "Bewertung", - "FEEDBACK_TEXT": "Feedback-Kommentar" - } + "FEEDBACK_TEXT": "Feedback-Kommentar", + "CONVERSATION": "Konversation", + "CUSTOMER": "Customer", + "RESPONSE": "Antwort", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Antworten gesamt", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Antwortrate", "TOOLTIP": "Anzahl aller Antworten / Anzahl der gesendeten CSAT-Umfrage * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Speichern", + "CANCEL": "Stornieren", + "SAVING": "Speichern...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index a0afa092b..24e13e3e0 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Herunterladen", "UPLOADING": "Wird hochgeladen...", - "INSTAGRAM_STORY_UNAVAILABLE": "Diese Geschichte ist nicht mehr verfügbar." + "INSTAGRAM_STORY_UNAVAILABLE": "Diese Geschichte ist nicht mehr verfügbar.", + "INSTAGRAM_STORY_REPLY": "Auf deine Geschichte geantwortet:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Auf Karte ansehen" @@ -307,7 +308,7 @@ "SETTINGS": "Einstellungen", "CONTACTS": "Kontakte", "ACTIVE": "Aktiv", - "COMPANIES": "Companies", + "COMPANIES": "Unternehmen", "ALL_COMPANIES": "All Companies", "CAPTAIN": "Kapitän", "CAPTAIN_ASSISTANTS": "Assistants", @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Dokumente lesen", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Kapitän", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funktionen", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Rechnungen", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Attribut suchen" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Konversation lösen", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Konversation lösen", + "CANCEL": "Stornieren" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ja", + "NO": "Nein" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Oh oh! Wir konnten keine Chatwoot-Konten finden. Bitte erstellen Sie ein neues Konto um fortzufahren.", "NEW_ACCOUNT": "Neuer Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Stornieren" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/de/signup.json b/app/javascript/dashboard/i18n/locale/de/signup.json index 57e885325..d6718df1e 100644 --- a/app/javascript/dashboard/i18n/locale/de/signup.json +++ b/app/javascript/dashboard/i18n/locale/de/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Konto erstellen", + "GET_STARTED": "Mit Chatwoot loslegen", "TITLE": "Registrieren", "TESTIMONIAL_HEADER": "Alles, was er braucht, ist ein Schritt, um vorwärtszugehen", "TESTIMONIAL_CONTENT": "Sie sind nur noch einen Schritt davon entfernt, Ihre Kunden zu gewinnen, zu binden und neue zu finden.", diff --git a/app/javascript/dashboard/i18n/locale/de/sla.json b/app/javascript/dashboard/i18n/locale/de/sla.json index e97eec9f6..f58aa659c 100644 --- a/app/javascript/dashboard/i18n/locale/de/sla.json +++ b/app/javascript/dashboard/i18n/locale/de/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/de/snooze.json b/app/javascript/dashboard/i18n/locale/de/snooze.json new file mode 100644 index 000000000..a475722e4 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/de/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "Minute", + "MINUTES": "minutes", + "HOUR": "Stunde", + "HOURS": "Stunden", + "DAY": "Tag", + "DAYS": "days", + "WEEK": "tag", + "WEEKS": "Wochen", + "MONTH": "woche", + "MONTHS": "Monate", + "YEAR": "monat", + "YEARS": "Jahre" + }, + "HALF": "halb", + "NEXT": "nächste", + "THIS": "diese", + "AT": "um", + "IN": "in", + "FROM_NOW": "ab jetzt", + "NEXT_YEAR": "nächstes Jahr", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "morgen", + "DAY_AFTER_TOMORROW": "übermorgen", + "NEXT_WEEK": "nächste Woche", + "NEXT_MONTH": "nächsten Monat", + "THIS_WEEKEND": "dieses Wochenende", + "NEXT_WEEKEND": "nächstes Wochenende" + }, + "TIME_OF_DAY": { + "MORNING": "Morgen", + "AFTERNOON": "Nachmittag", + "EVENING": "Abend", + "NIGHT": "Nacht", + "NOON": "Mittag", + "MIDNIGHT": "Mitternacht" + }, + "WORD_NUMBERS": { + "ONE": "eins", + "TWO": "zwei", + "THREE": "drei", + "FOUR": "vier", + "FIVE": "fünf", + "SIX": "sechs", + "SEVEN": "sieben", + "EIGHT": "acht", + "NINE": "neun", + "TEN": "zehn", + "TWELVE": "zwölf", + "FIFTEEN": "fünfzehn", + "TWENTY": "zwanzig", + "THIRTY": "dreißig" + }, + "ORDINALS": { + "FIRST": "erste", + "SECOND": "zweite", + "THIRD": "dritte", + "FOURTH": "vierte", + "FIFTH": "fünfte" + }, + "OF": "von", + "AFTER": "nach", + "WEEK": "tag", + "DAY": "Tag" + } +} diff --git a/app/javascript/dashboard/i18n/locale/de/teamsSettings.json b/app/javascript/dashboard/i18n/locale/de/teamsSettings.json index 0589c28b0..ced13b942 100644 --- a/app/javascript/dashboard/i18n/locale/de/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/de/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Teams werden abgerufen", "DESCRIPTION": "Teams ermöglichen es Ihnen, Agenten basierend auf ihren Aufgaben in Gruppen zu organisieren. Ein Agent kann mehreren Teams angehören. Bei der Zusammenarbeit können Sie Unterhaltungen bestimmten Teams zuweisen.", "LEARN_MORE": "Erfahren Sie mehr über Teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Teams suchen...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Es wurden noch keine Teams auf diesem Konto erstellt.", "EDIT_TEAM": "Team bearbeiten", diff --git a/app/javascript/dashboard/i18n/locale/el/agentBots.json b/app/javascript/dashboard/i18n/locale/el/agentBots.json index b2b475816..fcf146f3d 100644 --- a/app/javascript/dashboard/i18n/locale/el/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/el/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Σύνδεσμος Webhook" + "URL": "Σύνδεσμος Webhook", + "ACTIONS": "Ενέργειες" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/el/agentMgmt.json b/app/javascript/dashboard/i18n/locale/el/agentMgmt.json index fddb0d1f2..c3963ae5d 100644 --- a/app/javascript/dashboard/i18n/locale/el/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Διαχειριστής", "AGENT": "Πράκτορας" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Δεν υπάρχουν πράκτορες σε αυτόν τον λογαριασμό", "TITLE": "Διαχείριση πρακτόρων της ομάδας σας", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Αδυναμία σύνδεσης με τον Woot Server, Παρακαλώ προσπαθήστε αργότερα" } }, + "SEARCH_PLACEHOLDER": "Αναζήτηση πράκτορων...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Δεν βρέθηκαν αποτελέσματα." }, diff --git a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json index fe3744f31..7f8029977 100644 --- a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Λήψη προσαρμοσμένων ιδιοτήτων", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Αναζήτηση ιδιοτήτων...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Συνομιλία", "CONTACT": "Επαφές" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/el/automation.json b/app/javascript/dashboard/i18n/locale/el/automation.json index 67ffae506..8a1ae42d5 100644 --- a/app/javascript/dashboard/i18n/locale/el/automation.json +++ b/app/javascript/dashboard/i18n/locale/el/automation.json @@ -3,8 +3,11 @@ "HEADER": "Αυτοματισμός", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Προσθήκη Κανόνα Αυτοματισμού", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Λήψη κανόνων αυτοματισμού", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Προσθήκη Κανόνα Αυτοματισμού", "SUBMIT": "Δημιουργία", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Όνομα", - "DESCRIPTION": "Περιγραφή", "ACTIVE": "Ενεργή", - "CREATED_ON": "Δημιουργήθηκε στις" + "CREATED_ON": "Δημιουργήθηκε στις", + "ACTIONS": "Ενέργειες" }, "404": "Δεν βρέθηκαν κανόνες αυτοματισμού" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Άνοιγμα συνομιλίας" + "OPEN_CONVERSATION": "Άνοιγμα συνομιλίας", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/el/bulkActions.json b/app/javascript/dashboard/i18n/locale/el/bulkActions.json index 0d908df18..3012f6582 100644 --- a/app/javascript/dashboard/i18n/locale/el/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/el/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Η κατάσταση συνομιλίας ενημερώθηκε με επιτυχία.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Δεν βρέθηκαν ετικέτες", diff --git a/app/javascript/dashboard/i18n/locale/el/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/el/cannedMgmt.json index b7826ccac..ecd7f893f 100644 --- a/app/javascript/dashboard/i18n/locale/el/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Έτοιμες Απαντήσεις", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Δεν υπάρχουν δεδομένα που να ταιριάζουν με αυτό το ερώτημα.", "LIST": { "404": "Δεν υπάρχουν τυποποιημένες απαντήσεις σε αυτόν τον λογαριασμό.", diff --git a/app/javascript/dashboard/i18n/locale/el/chatlist.json b/app/javascript/dashboard/i18n/locale/el/chatlist.json index 434da2f2e..a8da62090 100644 --- a/app/javascript/dashboard/i18n/locale/el/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/el/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json index cc4f70304..aaae1286c 100644 --- a/app/javascript/dashboard/i18n/locale/el/contact.json +++ b/app/javascript/dashboard/i18n/locale/el/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Δεν υπάρχουν επαφές που να αντιστοιχούν με την αναζήτησή σας 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Ανάθεση Ετικετών", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Προς:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Θέμα :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json index 6be18fc2f..42e633acf 100644 --- a/app/javascript/dashboard/i18n/locale/el/conversation.json +++ b/app/javascript/dashboard/i18n/locale/el/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Το μήνυμα διαγράφηκε επιτυχώς", "FAIL_DELETE_MESSSAGE": "Δεν ήταν δυνατή η διαγραφή μηνύματος! Προσπαθήστε ξανά", "NO_RESPONSE": "Καμία ανταπόκριση", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Αποτυχία στην εκχώρηση ετικέτας, παρακαλώ δοκιμάστε αργότερα." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Η συνομιλία με αριθμό {conversationId} ανατέθηκε στην ομάδα \"{team}\"", "FAILED": "Αδυναμία αντιστοίχισης ομάδας. Παρακαλώ δοκιμάστε ξανά." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Απενεργοποίηση υπογραφής", "MSG_INPUT": "Shift + enter για νέα γραμμή. Ξεκινήστε με '/' για να επιλέξτε Τυποποιημένη Απάντηση.", "PRIVATE_MSG_INPUT": "Shift + enter για νέα γραμμή. Το κείμενο θα μπορούν να το δουν μόνο οι υπόλοιποι πράκτορες.", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Δεν έχει ρυθμιστεί η υπογραφή μηνύματος, παρακαλώ ρυθμίστε την στις ρυθμίσεις προφίλ.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Πατήστε εδώ για ενημέρωση", "WHATSAPP_TEMPLATES": "Πρότυπα Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Σύρετε και αφήστε εδώ για επισύναψη", "START_AUDIO_RECORDING": "Έναρξη ηχογράφησης", "STOP_AUDIO_RECORDING": "Διακοπή ηχογράφησης", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Προσθήκη bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Το αρχείο υπερβαίνει το όριο συνημμένου {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE}", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Δεν είναι δυνατή η αποστολή του μηνύματος, παρακαλώ προσπαθήστε ξανά αργότερα", "SENT_BY": "Αποστολή από:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Δεν ήταν δυνατή η αποστολή μηνύματος! Προσπαθήστε ξανά", "TRY_AGAIN": "επανάληψη", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Άκυρο", "SEND_EMAIL_SUCCESS": "Η μεταγραφή της συνομιλίας έχει αποσταλεί επιτυχώς", "SEND_EMAIL_ERROR": "Υπήρξε ένα σφάλμα, παρακαλώ προσπαθήστε ξανά", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Στείλτε το αντίγραφο στον πελάτη", "SEND_TO_AGENT": "Στείλε το αντίγραφο στον αντιστοιχισμένο πράκτορα", diff --git a/app/javascript/dashboard/i18n/locale/el/customRole.json b/app/javascript/dashboard/i18n/locale/el/customRole.json index 564aef729..26e80edd3 100644 --- a/app/javascript/dashboard/i18n/locale/el/customRole.json +++ b/app/javascript/dashboard/i18n/locale/el/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Δεν υπάρχουν δεδομένα που να ταιριάζουν με αυτό το ερώτημα.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/el/datePicker.json b/app/javascript/dashboard/i18n/locale/el/datePicker.json index f07088e23..f5f3f7b78 100644 --- a/app/javascript/dashboard/i18n/locale/el/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/el/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Εφαρμογή", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Τελευταίοι 3 μήνες", "LAST_6_MONTHS": "Τελευταίοι 6 μήνες", "LAST_YEAR": "Τελευταίο έτος", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Προσαρμοσμένο εύρος ημερομηνιών" } } diff --git a/app/javascript/dashboard/i18n/locale/el/general.json b/app/javascript/dashboard/i18n/locale/el/general.json index 759bd7ea0..ee03858ee 100644 --- a/app/javascript/dashboard/i18n/locale/el/general.json +++ b/app/javascript/dashboard/i18n/locale/el/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Κλείσιμο", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ναι", + "NO": "Όχι" } } diff --git a/app/javascript/dashboard/i18n/locale/el/generalSettings.json b/app/javascript/dashboard/i18n/locale/el/generalSettings.json index 16145434d..d54572642 100644 --- a/app/javascript/dashboard/i18n/locale/el/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/el/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Αναζήτηση ή μετάβαση σε", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Γενικά", "REPORTS": "Αναφορές", diff --git a/app/javascript/dashboard/i18n/locale/el/helpCenter.json b/app/javascript/dashboard/i18n/locale/el/helpCenter.json index 40ecccb93..dce621f00 100644 --- a/app/javascript/dashboard/i18n/locale/el/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/el/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Σφάλμα κατά τη διαγραφή άρθρου" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Παρακαλώ προσθέστε την επικεφαλίδα και το περιεχόμενο του άρθρου για να μπορείτε να ενημερώσετε τις ρυθμίσεις" }, diff --git a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json index d635b83aa..e243660f5 100644 --- a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Κιβώτια Εισερχομένων", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Ανενεργό" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Ενεργό", - "DISABLED": "Ανενεργό" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Ενεργοποίηση" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Ενεργοποίηση της συνέχειας συνομιλίας μέσω email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Οι συζητήσεις θα συνεχίσουν μέσω email αν η διεύθυνση ηλεκτρονικού ταχυδρομείου επαφής είναι διαθέσιμη.", - "LOCK_TO_SINGLE_CONVERSATION": "Κλείδωμα σε μία μόνο συζήτηση", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Ενεργοποίηση ή απενεργοποίηση πολλαπλών συνομιλιών για την ίδια επαφή σε αυτά τα εισερχόμενα", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Ρυθμίσεις Κιβωτίου", "INBOX_UPDATE_SUB_TEXT": "Ενημερώστε τις ρυθμίσεις του κιβωτίου σας", "AUTO_ASSIGNMENT_SUB_TEXT": "Ενεργοποιήστε ή απενεργοποιήστε την αυτόματη αντιστοίχιση των νέων συζητήσεων στους πράκτορες αυτού του κιβωτίου.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Κανένα", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Παρακαλώ εισάγετε μια τιμή μεγαλύτερη από 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Περιορισμός του μέγιστου αριθμού συνομιλιών από αυτά τα εισερχόμενα που μπορούν να εκχωρηθούν αυτόματα σε έναν πράκτορα" }, + "ASSIGNMENT": { + "TITLE": "Ανάθεση Συνομιλίας", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Ενεργή", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Άκυρο", + "CONFIRM_DELETE": "Διαγραφή", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Εκ νέου εξουσιοδότηση", "SUBTITLE": "Η σύνδεση Facebook έχει λήξει, παρακαλώ ξανασυνδεθείτε στο Facebook για να συνεχίσετε", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Πίσω" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Μήνυμα μη διαθεσιμότητας για τους επισκέπτες", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Ημέρα", + "AVAILABILITY": "Διαθεσιμότητα", + "HOURS": "Hours", "ENABLE": "Ενεργοποιήσετε τη διαθεσιμότητα για αυτήν την ημέρα", "UNAVAILABLE": "Μη διαθέσιμος", - "HOURS": "ώρες", "VALIDATION_ERROR": "Ο χρόνος έναρξης πρέπει να είναι πριν το χρόνο λήξης.", "CHOOSE": "Επιλέξτε" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Σε μία ημέρα" }, "WIDGET_COLOR_LABEL": "Χρώμα Widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Θέση Φυσαλίδας Widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Τύπος Φυσαλίδας Widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Τύπος:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Συνομιλήστε μαζί μας", - "LABEL": "Τίτλος Εκκίνησης Φυσαλίδας Widget", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Συνομιλήστε μαζί μας" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Προεπιλογή", - "CHAT": "Συνομιλία" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Τυπικά έχετε απάντηση σε μερικά λεπτά", diff --git a/app/javascript/dashboard/i18n/locale/el/integrationApps.json b/app/javascript/dashboard/i18n/locale/el/integrationApps.json index 4106adda7..d0b7e83db 100644 --- a/app/javascript/dashboard/i18n/locale/el/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/el/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Λήψη Indegrations", "NO_HOOK_CONFIGURED": "Δεν υπάρχουν {integrationId} integrations ρυθμισμένες σε αυτόν το λογαριασμό.", "HEADER": "Εφαρμογές", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Ενεργό", "DISABLED": "Ανενεργό" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Λήψη Integrations", "INBOX": "Εισερχόμενα", + "ACTIONS": "Ενέργειες", "DELETE": { "BUTTON_TEXT": "Διαγραφή" } diff --git a/app/javascript/dashboard/i18n/locale/el/integrations.json b/app/javascript/dashboard/i18n/locale/el/integrations.json index be530ce09..270212b28 100644 --- a/app/javascript/dashboard/i18n/locale/el/integrations.json +++ b/app/javascript/dashboard/i18n/locale/el/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Εγγεγραμμένα Συμβάντα", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Άκυρο", "DESC": "Τα συμβάντα Webhook μας εφοδιάζουν με πληροφορίες πραγματικού χρόνου σχετικά με το τι συμβαίνει στο λογαριασμό σας στο Chatwoot. Παρακαλώ εισάγετε ένα έγκυρο URL στην σχετική ρύθμιση.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Διαγραφή", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Εφαρμογές Dashboard

Οι εφαρμογές Dashboard επιτρέπουν σε οργανισμούς να ενσωματώσουν μια εφαρμογή μέσα στο ταμπλό Chatwoot για να παρέχουν το πλαίσιο για τους πράκτορες υποστήριξης πελατών. Αυτό το χαρακτηριστικό σας επιτρέπει να δημιουργήσετε μια εφαρμογή ανεξάρτητα και ενσωματωμένη που μέσα στον πίνακα ελέγχου για να παρέχει πληροφορίες χρήστη, τις παραγγελίες τους, ή το ιστορικό προηγούμενων πληρωμών τους.

Όταν ενσωματώσετε την εφαρμογή σας χρησιμοποιώντας το Dashboard στο Chatwoot, η εφαρμογή σας θα πάρει το πλαίσιο της συνομιλίας και θα επικοινωνήσει ως ένα παράθυρο εκδήλωσης. Εφαρμόστε έναν ακροατή για το γεγονός του μηνύματος στη σελίδα σας για να λάβετε το πλαίσιο.

Για να προσθέσετε μια νέα εφαρμογή ταμπλό, κάντε κλικ στο κουμπί 'Προσθήκη μιας νέας εφαρμογής Dashboard'.

", "DESCRIPTION": "Οι εφαρμογές Dashboard επιτρέπουν στους οργανισμούς να ενσωματώσουν μια εφαρμογή μέσα στον πίνακα ελέγχου για να παρέχουν το περιεχόμενο για τους πράκτορες υποστήριξης πελατών. Αυτή η λειτουργία σας επιτρέπει να δημιουργήσετε μια εφαρμογή ανεξάρτητα και ενσωματωμένη που θα παρέχει πληροφορίες χρήστη, τις παραγγελίες τους, ή το ιστορικό προηγούμενων πληρωμών τους.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Δεν έχουν δημιουργηθεί εφαρμογές Dashboard για αυτόν το λογαριασμό", "LOADING": "Λήψη εφαρμογών dashboard ...", "TABLE_HEADER": { "NAME": "Όνομα", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Ενέργειες" }, "EDIT_TOOLTIP": "Επεξεργασία εφαρμογής", "DELETE_TOOLTIP": "Διαγραφή εφαρμογής" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/el/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/el/labelsMgmt.json index 80243e6e4..3675781dc 100644 --- a/app/javascript/dashboard/i18n/locale/el/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Λήψη ετικετών", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Αναζήτηση ετικετών...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Δεν υπάρχουν αντικείμενα να ταιριάζουν με αυτό το ερώτημα", "LIST": { "404": "Δεν υπάρχουν ετικέτες διαθέσιμες σε αυτόν τον λογαριασμό.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Όνομα", "DESCRIPTION": "Περιγραφή", - "COLOR": "Χρώμα" + "COLOR": "Χρώμα", + "ACTION": "Ενέργειες" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/el/macros.json b/app/javascript/dashboard/i18n/locale/el/macros.json index 02ed92095..59b3124e6 100644 --- a/app/javascript/dashboard/i18n/locale/el/macros.json +++ b/app/javascript/dashboard/i18n/locale/el/macros.json @@ -3,9 +3,12 @@ "HEADER": "Μακροεντολές", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Προσθήκη νέας μακροεντολής", "HEADER_BTN_TXT_SAVE": "Αποθήκευση μακροεντολής", "LOADING": "Λήψη μακροεντολών", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Κάτι πήγε στραβά. Παρακαλώ προσπαθήστε ξανά", "ORDER_INFO": "Μακροεντολές θα εκτελεστούν με τη σειρά που θα προσθέσετε τις ενέργειές σας. Μπορείτε να τις αναδιατάξετε σύροντάς τις από τη λαβή δίπλα σε κάθε κόμβο.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Όνομα", "CREATED BY": "Δημιουργήθηκε από", "LAST_UPDATED_BY": "Τελευταία ενημέρωση από", - "VISIBILITY": "Ορατότητα" + "VISIBILITY": "Ορατότητα", + "ACTIONS": "Ενέργειες" }, "404": "Δεν βρέθηκαν μακροεντολές" }, diff --git a/app/javascript/dashboard/i18n/locale/el/mfa.json b/app/javascript/dashboard/i18n/locale/el/mfa.json index 856e9778f..bbe8a0302 100644 --- a/app/javascript/dashboard/i18n/locale/el/mfa.json +++ b/app/javascript/dashboard/i18n/locale/el/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/el/report.json b/app/javascript/dashboard/i18n/locale/el/report.json index aa2a68208..80f2c0aae 100644 --- a/app/javascript/dashboard/i18n/locale/el/report.json +++ b/app/javascript/dashboard/i18n/locale/el/report.json @@ -3,7 +3,7 @@ "HEADER": "Συζητήσεις", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", - "DOWNLOAD_AGENT_REPORTS": "Κατέβασμα αναφορών πράκτορα", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Επισκόπηση Πρακτόρων", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", "DOWNLOAD_AGENT_REPORTS": "Κατέβασμα αναφορών πράκτορα", "FILTER_DROPDOWN_LABEL": "Επιλογή πράκτορα", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Αναζήτηση πράκτορων" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", "DOWNLOAD_LABEL_REPORTS": "Λήψη αναφορών ετικέτας", "FILTER_DROPDOWN_LABEL": "Επιλογή Ετικέτας", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Αναζήτηση ετικετών" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Επιλογή Εισερχομένων", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Επισκόπηση Ομάδας", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Φόρτωση δεδομένων γραφήματος...", "NO_ENOUGH_DATA": "Δεν έχουν ληφθεί αρκετά σημεία δεδομένων για την δημιουργία της αναφοράς, Παρακαλώ προσπαθήστε αργότερα.", "DOWNLOAD_TEAM_REPORTS": "Λήψη αναφορών ομάδας", "FILTER_DROPDOWN_LABEL": "Επιλογή Ομάδας", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Αναζήτηση ομάδων" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Συζητήσεις", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Αναφορές CSAT", - "NO_RECORDS": "Δεν υπάρχουν διαθέσιμες απαντήσεις ερευνών CSAT.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Λήψη αναφορών CSAT", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Αναζήτηση πράκτορων", + "INBOXES": "Search inboxes", + "TEAMS": "Αναζήτηση ομάδων", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Επιλέξτε Πράκτορες" + "LABEL": "Πράκτορας" + }, + "INBOXES": { + "LABEL": "Εισερχόμενα" + }, + "TEAMS": { + "LABEL": "Ομάδα" + }, + "RATINGS": { + "LABEL": "Αξιολόγηση" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Επαφές", - "AGENT_NAME": "Αντιστοιχισμένος πράκτορας", + "AGENT_NAME": "Πράκτορας", "RATING": "Αξιολόγηση", - "FEEDBACK_TEXT": "Σχόλιο ανατροφοδότησης" - } + "FEEDBACK_TEXT": "Σχόλιο ανατροφοδότησης", + "CONVERSATION": "Συνομιλία", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Συνολικές απαντήσεις", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Ποσοστό ανταπόκρισης", "TOOLTIP": "Συνολικός αριθμός απαντήσεων / Συνολικός αριθμός μηνυμάτων έρευνας CSAT * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Άκυρο", + "SAVING": "Αποθηκεύεται...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index 1e6c0accb..6c15c9c32 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Κατέβασμα", "UPLOADING": "Ανέβασμα ...", - "INSTAGRAM_STORY_UNAVAILABLE": "Η ιστορία δεν είναι πλέον διαθέσιμη." + "INSTAGRAM_STORY_UNAVAILABLE": "Η ιστορία δεν είναι πλέον διαθέσιμη.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Δείτε στον χάρτη" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Ανάγνωση εγγράφων", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Χαρακτηριστικά", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Χρεώσεις", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Αναζήτηση ιδιοτήτων" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Επίλυση Συνομιλίας", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Επίλυση Συνομιλίας", + "CANCEL": "Άκυρο" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ναι", + "NO": "Όχι" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ωχ! Δεν μπορέσαμε να βρούμε κανένα λογαριασμό Chatwoot. Παρακαλούμε δημιουργήστε ένα νέο λογαριασμό για να συνεχίσετε.", "NEW_ACCOUNT": "Νέος Λογαριασμός", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Άκυρο" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/el/signup.json b/app/javascript/dashboard/i18n/locale/el/signup.json index 28d9d5ca8..1b8769d0c 100644 --- a/app/javascript/dashboard/i18n/locale/el/signup.json +++ b/app/javascript/dashboard/i18n/locale/el/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Καταχώρηση", "TESTIMONIAL_HEADER": "Το μόνο που χρειάζεται είναι ένα βήμα για να προχωρήσουμε", "TESTIMONIAL_CONTENT": "Είστε ένα βήμα μακριά από την εμπλοκή των πελατών σας, και την εύρεση νέων.", diff --git a/app/javascript/dashboard/i18n/locale/el/sla.json b/app/javascript/dashboard/i18n/locale/el/sla.json index 489ad40c1..fce2281c9 100644 --- a/app/javascript/dashboard/i18n/locale/el/sla.json +++ b/app/javascript/dashboard/i18n/locale/el/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/el/snooze.json b/app/javascript/dashboard/i18n/locale/el/snooze.json new file mode 100644 index 000000000..6f7d63b98 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/el/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "ώρες", + "DAY": "ημέρα", + "DAYS": "days", + "WEEK": "ημέρα", + "WEEKS": "weeks", + "MONTH": "εβδομάδα", + "MONTHS": "months", + "YEAR": "μήνα", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "αύριο", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "επόμενη εβδομάδα", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "ημέρα", + "DAY": "ημέρα" + } +} diff --git a/app/javascript/dashboard/i18n/locale/el/teamsSettings.json b/app/javascript/dashboard/i18n/locale/el/teamsSettings.json index 351c01503..d6bc0da1a 100644 --- a/app/javascript/dashboard/i18n/locale/el/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/el/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Αναζήτηση ομάδων...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Δεν έχουν δημιουργηθεί ομάδες σε αυτόν τον λογαριασμό.", "EDIT_TEAM": "Επεξεργασία ομάδας", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Δεν ήταν δυνατή η αποθήκευση των λεπτομερειών της ομάδας. Δοκιμάστε ξανά." }, "AGENTS": { - "AGENT": "ΠΡΑΚΤΟΡΑΣ", - "EMAIL": "EMAIL", + "AGENT": "Πράκτορας", + "EMAIL": "Email", "BUTTON_TEXT": "Προσθήκη πρακτόρων", "ADD_AGENTS": "Προσθήκη πρακτόρων στην ομάδα σας...", "SELECT": "επιλέξτε", diff --git a/app/javascript/dashboard/i18n/locale/es/agentBots.json b/app/javascript/dashboard/i18n/locale/es/agentBots.json index 747570e05..587fbb821 100644 --- a/app/javascript/dashboard/i18n/locale/es/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/es/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Cargando el editor...", "DESCRIPTION": "Los bots de agentes son como los miembros más fabulosos de tu equipo. Ellos pueden manejar las cosas pequeñas, así que usted puede centrarse en las cosas que importan. Inténtalos. Puedes administrar tus bots desde esta página o crear nuevos usando el botón 'Configurar un nuevo bot'.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "Bot del sistema", "GLOBAL_BOT_BADGE": "Sistema", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Obteniendo bots...", "TABLE_HEADER": { "DETAILS": "Detalles del Bot", - "URL": "URL de Webhook" + "URL": "URL de Webhook", + "ACTIONS": "Acciones" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/es/agentMgmt.json b/app/javascript/dashboard/i18n/locale/es/agentMgmt.json index 9d92bbdc1..407dd712b 100644 --- a/app/javascript/dashboard/i18n/locale/es/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrador", "AGENT": "Agente" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "No hay agentes asociados a esta cuenta", "TITLE": "Administrar agentes en tu equipo", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "No se pudo conectar al servidor Woot, por favor inténtalo de nuevo más tarde" } }, + "SEARCH_PLACEHOLDER": "Buscar agentes...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No se encontraron resultados." }, diff --git a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json index 50fd988c9..afa710c58 100644 --- a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Obtener atributos personalizados", "DESCRIPTION": "Un atributo personalizado rastrea detalles adicionales sobre tus contactos o conversaciones, como el plan de suscripción o la fecha de su primera compra. Puede agregar diferentes tipos de atributos personalizados, como textos, listas o números, para capturar la información específica que necesita.", "LEARN_MORE": "Aprende más sobre los atributos personalizados", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Buscar atributos...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversación", "CONTACT": "Contacto" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Habilitar validación regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolución" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/es/automation.json b/app/javascript/dashboard/i18n/locale/es/automation.json index 18fcb3652..5d159186d 100644 --- a/app/javascript/dashboard/i18n/locale/es/automation.json +++ b/app/javascript/dashboard/i18n/locale/es/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatización", "DESCRIPTION": "La automatización puede reemplazar y agilizar los procesos existentes que requieren esfuerzo manual, como añadir etiquetas y asignar conversaciones al agente más adecuado. Esto permite al equipo concentrarse en sus fortalezas, mientras que reduce el tiempo dedicado a las tareas de rutina.", "LEARN_MORE": "Aprende más sobre automatización", - "HEADER_BTN_TXT": "Añadir regla de automatización", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Obteniendo reglas de automatización", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Añadir regla de automatización", "SUBMIT": "Crear", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nombre", - "DESCRIPTION": "Descripción", "ACTIVE": "Activo", - "CREATED_ON": "Creado el" + "CREATED_ON": "Creado el", + "ACTIONS": "Acciones" }, "404": "No se encontraron reglas de automatización" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Añadir una nota privada", "CHANGE_PRIORITY": "Cambiar prioridad", "ADD_SLA": "Añadir SLA", - "OPEN_CONVERSATION": "Abrir conversación" + "OPEN_CONVERSATION": "Abrir conversación", + "PENDING_CONVERSATION": "Marca la conversación como pendiente" }, "MESSAGE_TYPES": { "INCOMING": "Mensaje entrante", diff --git a/app/javascript/dashboard/i18n/locale/es/bulkActions.json b/app/javascript/dashboard/i18n/locale/es/bulkActions.json index d17d304f5..3c8913800 100644 --- a/app/javascript/dashboard/i18n/locale/es/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/es/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "El estado de la conversación se actualizó con éxito.", "UPDATE_FAILED": "No se han podido actualizar las conversaciones. Inténtalo de nuevo." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "No se pueden resolver las conversaciones debido a la falta de atributos requeridos", + "PARTIAL_SUCCESS": "Algunas conversaciones requieren atributos obligatorios antes de resolverse y se omitieron" + }, "LABELS": { "ASSIGN_LABELS": "Asignar etiqueta", "NO_LABELS_FOUND": "No se encontraron etiquetas", diff --git a/app/javascript/dashboard/i18n/locale/es/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/es/cannedMgmt.json index 6fc563f6e..abc23a7b9 100644 --- a/app/javascript/dashboard/i18n/locale/es/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Respuestas predefinidas", "LEARN_MORE": "Más información sobre respuestas predefinidas", "DESCRIPTION": "Las respuestas predefinidas son plantillas preconfiguradas que le ayudan a responder rápidamente a una conversación. Los agentes pueden escribir el carácter '/' seguido por el código corto para insertar una respuesta predefinida durante una conversación. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Añadir respuesta predefinida", "LOADING": "Obteniendo respuestas predefinidas...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "No hay elementos que coincidan con esta consulta.", "LIST": { "404": "No hay respuestas enlatadas disponibles en esta cuenta.", diff --git a/app/javascript/dashboard/i18n/locale/es/chatlist.json b/app/javascript/dashboard/i18n/locale/es/chatlist.json index 2aab0bb43..1a5569fac 100644 --- a/app/javascript/dashboard/i18n/locale/es/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/es/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Respuesta pendiente: la más corta primero" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/es/companies.json b/app/javascript/dashboard/i18n/locale/es/companies.json index 432db2643..a77cf2eac 100644 --- a/app/javascript/dashboard/i18n/locale/es/companies.json +++ b/app/javascript/dashboard/i18n/locale/es/companies.json @@ -7,7 +7,7 @@ "NAME": "Nombre", "DOMAIN": "Dominio", "CREATED_AT": "Creado el", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Número de contactos" } }, "ORDER": { diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json index fe62c481d..839f9d057 100644 --- a/app/javascript/dashboard/i18n/locale/es/contact.json +++ b/app/javascript/dashboard/i18n/locale/es/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Agregar Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Añadir TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No hay contactos que coincidan con tu búsqueda 🔍", "LIST_EMPTY_STATE_TITLE": "No hay contactos disponibles en esta vista 📋", "ACTIVE_EMPTY_STATE_TITLE": "No hay contactos activos por el momento 🌙" - } + }, + "LOAD_MORE": "Cargar más" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Asignar etiquetas", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "No hay bandejas de entrada disponibles para iniciar una conversación con este contacto.", "CONTACT_SELECTOR": { "LABEL": "Para:", - "TAG_INPUT_PLACEHOLDER": "Buscar un contacto con nombre, correo electrónico o número de teléfono", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creando contacto..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Asunto :", "SUBJECT_PLACEHOLDER": "Introduzca el asunto de correo electrónico aquí", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Buscar un contacto con su dirección de correo electrónico", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Buscar un contacto con su dirección de correo electrónico", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json index b279cee14..d15ee29bc 100644 --- a/app/javascript/dashboard/i18n/locale/es/conversation.json +++ b/app/javascript/dashboard/i18n/locale/es/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "Este mensaje no es compatible. Puedes ver este mensaje en la aplicación de Facebook/Instagram.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Este mensaje no es compatible. Puedes ver este mensaje en la aplicación de Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Este mensaje no es compatible. Puedes ver este mensaje en la aplicación de Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Mensaje eliminado correctamente", "FAIL_DELETE_MESSSAGE": "¡No se pudo eliminar el mensaje! Inténtalo de nuevo", "NO_RESPONSE": "No hay respuesta", @@ -173,6 +174,10 @@ "SUCCESFUL": "Etiqueta #{labelName} asignada a la conversación con id {conversationId}", "FAILED": "No se pudo asignar el agente. Por favor, inténtelo de nuevo." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Equipo asignado \"{team}\" al ID de conversación {conversationId}", "FAILED": "No se pudo asignar el equipo. Por favor, inténtelo de nuevo." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Desactivar firma", "MSG_INPUT": "Shift + enter for new line. Comience con '/' para seleccionar una respuesta predefinida.", "PRIVATE_MSG_INPUT": "Mayús + entrar para una nueva línea. Esto será visible sólo para los agentes", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "La firma del mensaje no está configurada, por favor configúrela en la configuración del perfil.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Haga clic aquí para actualizar", "WHATSAPP_TEMPLATES": "Plantillas de Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Arrastra y suelta aquí para adjuntar", "START_AUDIO_RECORDING": "Iniciar grabación de audio", "STOP_AUDIO_RECORDING": "Detener grabación de audio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "A", "ADD_BCC": "Añadir bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversación eliminada con éxito", "FAIL_DELETE_CONVERSATION": "¡No se pudo eliminar la conversación! Inténtalo de nuevo", "FILE_SIZE_LIMIT": "El archivo supera el límite de archivos adjuntos de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "No se puede enviar este mensaje, por favor inténtalo de nuevo más tarde", "SENT_BY": "Enviado por:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "¡No se pudo enviar el mensaje! Inténtalo de nuevo", "TRY_AGAIN": "reintentar", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancelar", "SEND_EMAIL_SUCCESS": "La transcripción ha sido enviada", "SEND_EMAIL_ERROR": "Hubo un error, por favor inténtelo de nuevo", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Enviar la transcripción al cliente", "SEND_TO_AGENT": "Enviar la transcripción al agente asignado", diff --git a/app/javascript/dashboard/i18n/locale/es/customRole.json b/app/javascript/dashboard/i18n/locale/es/customRole.json index 1dd9ca291..bfcc698f4 100644 --- a/app/javascript/dashboard/i18n/locale/es/customRole.json +++ b/app/javascript/dashboard/i18n/locale/es/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Roles personalizados", "LEARN_MORE": "Obtenga más información sobre los roles personalizados", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "No hay elementos que coincidan con esta consulta.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/es/datePicker.json b/app/javascript/dashboard/i18n/locale/es/datePicker.json index c3c779746..21e923cc4 100644 --- a/app/javascript/dashboard/i18n/locale/es/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/es/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Aplicar", "CLEAR_BUTTON": "Limpiar", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Últimos 3 meses", "LAST_6_MONTHS": "Últimos 6 meses", "LAST_YEAR": "Último año", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Rango de fechas personalizado" } } diff --git a/app/javascript/dashboard/i18n/locale/es/general.json b/app/javascript/dashboard/i18n/locale/es/general.json index dae7ff299..6aac72603 100644 --- a/app/javascript/dashboard/i18n/locale/es/general.json +++ b/app/javascript/dashboard/i18n/locale/es/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Cerrar", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Descartar", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Si", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/es/generalSettings.json b/app/javascript/dashboard/i18n/locale/es/generalSettings.json index 36a71c6be..f53bced78 100644 --- a/app/javascript/dashboard/i18n/locale/es/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/es/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Buscar o saltar a", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Informes", diff --git a/app/javascript/dashboard/i18n/locale/es/helpCenter.json b/app/javascript/dashboard/i18n/locale/es/helpCenter.json index bff0af50c..aa141ca5c 100644 --- a/app/javascript/dashboard/i18n/locale/es/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/es/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error al eliminar el artículo" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Por favor, añade el encabezado y el contenido del artículo y despues puedes actualizar la configuración" }, diff --git a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json index 9e0fe210c..ee75303df 100644 --- a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Entradas", "DESCRIPTION": "Un canal es el modo de comunicación que tu cliente elige para interactuar contigo. Una bandeja de entrada es donde administras interacciones para un canal específico. Puede incluir comunicaciones de diversas fuentes como correo electrónico, chat en vivo y redes sociales.", "LEARN_MORE": "Aprende más sobre las entradas", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Tu bandeja de entrada está desconectada. No recibirás mensajes nuevos hasta que lo vuelvas a autorizar.", "CLICK_TO_RECONNECT": "Haga clic aquí para volver a conectar.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Utilice sólo el nombre del negocio configurado como nombre del remitente en el encabezado del correo electrónico." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configura el nombre de tu negocio", + "BUTTON_TEXT": "Configura el nombre de tu negocio", "PLACEHOLDER": "Introduce el nombre de tu negocio", "SAVE_BUTTON_TEXT": "Guardar" } @@ -589,8 +592,10 @@ "DISABLED": "Deshabilitado" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Activado", - "DISABLED": "Deshabilitado" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Habilitar" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "Encuestas de Satisfacción" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Habilitar/Deshabilitar mostrando el nombre del agente en el correo electrónico, si está deshabilitado, mostrará el nombre del negocio", "ENABLE_CONTINUITY_VIA_EMAIL": "Habilitar continuidad de conversación por correo electrónico", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Las conversaciones continuarán por correo electrónico si la dirección de correo electrónico de contacto está disponible.", - "LOCK_TO_SINGLE_CONVERSATION": "Bloquear a una sola conversación", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Activar o desactivar múltiples conversaciones para el mismo contacto en esta bandeja de entrada", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Ajustes de la Bandeja de Entrada", "INBOX_UPDATE_SUB_TEXT": "Actualizar la configuración de tu bandeja de entrada", "AUTO_ASSIGNMENT_SUB_TEXT": "Activar o desactivar la asignación automática de nuevas conversaciones a los agentes añadidos a esta bandeja de entrada.", @@ -758,6 +765,7 @@ "LABEL": "Centro de ayuda", "PLACEHOLDER": "Seleccione Centro de Ayuda", "SELECT_PLACEHOLDER": "Seleccione Centro de Ayuda", + "NONE": "Ninguna", "REMOVE": "Eliminar Centro de Ayuda", "SUB_TEXT": "Adjuntar un Centro de Ayuda con la bandeja de entrada" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Por favor ingrese un valor mayor a 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limite la cantidad máxima de conversaciones de esta bandeja de entrada que se pueden asignar automáticamente a un agente" }, + "ASSIGNMENT": { + "TITLE": "Asignación de conversación", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Activo", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancelar", + "CONFIRM_DELETE": "Eliminar", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", "SUBTITLE": "Su conexión de Facebook expiró, por favor reconecte si página de Facebook para continuar con el servicio", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Volver" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Mensaje no disponible para visitantes", "TOGGLE_HELP": "Al habilitar el horario de atención se mostraran las horas disponibles en el \"widget\" del chat en vivo si todos los agentes están fuera de línea. Fuera de las horas disponibles los visitantes pueden ser notificado con un mensaje y una forma PreChat.", "DAY": { + "DAY": "Día", + "AVAILABILITY": "Disponibilidad", + "HOURS": "Horas", "ENABLE": "Activar la disponibilidad para este día", "UNAVAILABLE": "No disponible", - "HOURS": "horas", "VALIDATION_ERROR": "La hora de inicio debe ser antes de la hora de cierre.", "CHOOSE": "Elegir" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "En un día" }, "WIDGET_COLOR_LABEL": "Color del widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posición de Bubble del Widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Tipo de Burbuja de Widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipo:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chatea con nosotros", - "LABEL": "Título del lanzador Bubble de Widget", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chatea con nosotros" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Predeterminado", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Normalmente responde en unos minutos", diff --git a/app/javascript/dashboard/i18n/locale/es/integrationApps.json b/app/javascript/dashboard/i18n/locale/es/integrationApps.json index 03b8cddca..631a356b1 100644 --- a/app/javascript/dashboard/i18n/locale/es/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/es/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Obteniendo integraciones", "NO_HOOK_CONFIGURED": "No hay integraciones de {integrationId} configuradas en ésta cuenta.", "HEADER": "Aplicaciones", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Buscar...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Activado", "DISABLED": "Deshabilitado" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Obteniendo hooks de integración", "INBOX": "Bandeja de entrada", + "ACTIONS": "Acciones", "DELETE": { "BUTTON_TEXT": "Eliminar" } diff --git a/app/javascript/dashboard/i18n/locale/es/integrations.json b/app/javascript/dashboard/i18n/locale/es/integrations.json index 342cab2be..8457a0f62 100644 --- a/app/javascript/dashboard/i18n/locale/es/integrations.json +++ b/app/javascript/dashboard/i18n/locale/es/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot se integra con múltiples herramientas y servicios para mejorar la eficiencia de tu equipo. Explora la lista de abajo para configurar tus aplicaciones favoritas.", "LEARN_MORE": "Más información acerca de integraciones", "LOADING": "Obteniendo integraciones", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "El capitán no está habilitado en tu cuenta.", "CLICK_HERE_TO_CONFIGURE": "Haz clic aquí para configurar", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Eventos suscritos", "LEARN_MORE": "Aprenda más sobre webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancelar", "DESC": "Los eventos Webhook te proporcionan la información en tiempo real sobre lo que está sucediendo en tu cuenta de Chatwoot. Por favor, introduce una URL válida para configurar un callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Eliminar", "DELETE_CONFIRMATION": { "TITLE": "Eliminar la integración", @@ -145,7 +160,29 @@ "EXPAND": "Expandir", "MAKE_FRIENDLY": "Cambiar tono de mensaje a amigable", "MAKE_FORMAL": "Usar tono formal", - "SIMPLIFY": "Simplificar" + "SIMPLIFY": "Simplificar", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Amigable" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Contenido de borrador", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplicaciones de panel

Aplicaciones de panel de control permiten a las organizaciones incrustar una aplicación dentro del panel de control de Chatwoot para proporcionar el contexto para los agentes de atención al cliente. Esta característica le permite crear una aplicación de forma independiente e incrustarla dentro del panel de control para proporcionar información de usuario, sus pedidos, o su historial de pagos anterior.

Cuando incrustas tu aplicación usando el panel de control en Chatwoot, tu aplicación obtendrá el contexto de la conversación y el contacto como un evento de ventana. Implementa un oyente para el evento del mensaje en tu página para recibir el contexto.

Para añadir una nueva aplicación de panel, haga clic en el botón 'Añadir una nueva aplicación de panel'.

", "DESCRIPTION": "Las aplicaciones de panel permiten a las organizaciones incrustar una aplicación dentro del panel de control para proporcionar el contexto para los agentes de soporte al cliente. Esta función le permite crear una aplicación de forma independiente e incrustada para proporcionar información de usuario, sus pedidos o su historial de pagos anterior.", "LEARN_MORE": "Aprende más sobre el panel de aplicaciones", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Todavía no hay aplicaciones configuradas en esta cuenta", "LOADING": "Obteniendo aplicaciones del tablero...", "TABLE_HEADER": { "NAME": "Nombre", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Acciones" }, "EDIT_TOOLTIP": "Editar aplicación", "DELETE_TOOLTIP": "Eliminar aplicación" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Lineal", "ADD_OR_LINK_BUTTON": "Crear/Enlazar Problema Linear", "LOADING": "Cargando problemas lineales...", "LOADING_ERROR": "Hubo un error al recuperar los problemas lineales, por favor inténtalo de nuevo", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Puede cambiar o cancelar su plan en cualquier momento" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Por favor, comuníquese con su administrador para la actualización." }, diff --git a/app/javascript/dashboard/i18n/locale/es/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/es/labelsMgmt.json index c94bbac1a..bcb172cb0 100644 --- a/app/javascript/dashboard/i18n/locale/es/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Obteniendo etiquetas", "DESCRIPTION": "Las etiquetas le ayudan a clasificar y priorizar conversaciones y clientes potenciales. Puede asignar una etiqueta a una conversación o contacto usando el panel lateral.", "LEARN_MORE": "Aprende más sobre etiquetas", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Buscar etiquetas...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "No hay elementos que coincidan con esta consulta", "LIST": { "404": "No hay etiquetas disponibles en esta cuenta.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nombre", "DESCRIPTION": "Descripción", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Acciones" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/es/macros.json b/app/javascript/dashboard/i18n/locale/es/macros.json index 703796baa..3d59c9c88 100644 --- a/app/javascript/dashboard/i18n/locale/es/macros.json +++ b/app/javascript/dashboard/i18n/locale/es/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "Una macro es un conjunto de acciones guardadas que ayudan a los agentes de servicio al cliente a completar fácilmente las tareas. Los agentes pueden definir un conjunto de acciones como etiquetar una conversación con una etiqueta, enviar una transcripción de correo electrónico, actualizar un atributo personalizado, etc. y pueden ejecutar estas acciones en un solo clic.", "LEARN_MORE": "Más información sobre macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Añadir una nueva macro", "HEADER_BTN_TXT_SAVE": "Guardar macro", "LOADING": "Obteniendo macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Algo salió mal. Por favor, inténtalo de nuevo", "ORDER_INFO": "Las macros se ejecutarán en el orden en que añadas sus acciones. Puede reorganizarlas arrastrándolas por el manejador al lado de cada nodo.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nombre", "CREATED BY": "Creado por", "LAST_UPDATED_BY": "Última actualización por", - "VISIBILITY": "Visibilidad" + "VISIBILITY": "Visibilidad", + "ACTIONS": "Acciones" }, "404": "No se encontraron macros" }, diff --git a/app/javascript/dashboard/i18n/locale/es/mfa.json b/app/javascript/dashboard/i18n/locale/es/mfa.json index 04897bde6..3f18d0413 100644 --- a/app/javascript/dashboard/i18n/locale/es/mfa.json +++ b/app/javascript/dashboard/i18n/locale/es/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/es/report.json b/app/javascript/dashboard/i18n/locale/es/report.json index 9302dd634..9d04c80c6 100644 --- a/app/javascript/dashboard/i18n/locale/es/report.json +++ b/app/javascript/dashboard/i18n/locale/es/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversaciones", "LOADING_CHART": "Cargando datos del gráfico...", "NO_ENOUGH_DATA": "No hemos recibido suficientes puntos de datos para generar el informe. Inténtalo de nuevo más tarde.", - "DOWNLOAD_AGENT_REPORTS": "Descargar reportes de agente", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Error al obtener datos, por favor intente nuevamente.", "SUMMARY_FETCHING_FAILED": "No se pudo obtener el resumen, por favor inténtalo de nuevo más tarde.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Resumen de agentes", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Cargando datos del gráfico...", "NO_ENOUGH_DATA": "No hemos recibido suficientes puntos de datos para generar el informe. Inténtalo de nuevo más tarde.", "DOWNLOAD_AGENT_REPORTS": "Descargar reportes de agente", "FILTER_DROPDOWN_LABEL": "Seleccionar agente", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Buscar agentes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversaciones", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "No hemos recibido suficientes puntos de datos para generar el informe. Inténtalo de nuevo más tarde.", "DOWNLOAD_LABEL_REPORTS": "Descargar reportes de etiquetas", "FILTER_DROPDOWN_LABEL": "Seleecionar etiqueta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Buscar etiquetas" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversaciones", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Seleccione una bandeja de entrada", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversaciones", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Vista general del equipo", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Cargando datos del gráfico...", "NO_ENOUGH_DATA": "No hemos recibido suficientes puntos de datos para generar el informe. Inténtalo de nuevo más tarde.", "DOWNLOAD_TEAM_REPORTS": "Descargar informes del equipo", "FILTER_DROPDOWN_LABEL": "Seleccionar equipo", + "FILTERS": { + "ADD_FILTER": "Añadir Filtro", + "CLEAR_ALL": "Limpiar todo", + "NO_FILTER": "No hay filtros disponibles", + "INPUT_PLACEHOLDER": { + "TEAMS": "Buscar equipos" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversaciones", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Reporte de encuestas de satisfacción", - "NO_RECORDS": "No hay respuestas de encuestas de satisfacción disponibles.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Descargar reportes CSAT", "DOWNLOAD_FAILED": "Error al descargar los informes CSAT", "FILTERS": { + "ADD_FILTER": "Añadir Filtro", + "CLEAR_ALL": "Limpiar todo", + "NO_FILTER": "No hay filtros disponibles", + "INPUT_PLACEHOLDER": { + "AGENTS": "Buscar agentes", + "INBOXES": "Search inboxes", + "TEAMS": "Buscar equipos", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Elegir agentes" + "LABEL": "Agente" + }, + "INBOXES": { + "LABEL": "Bandeja de entrada" + }, + "TEAMS": { + "LABEL": "Equipo" + }, + "RATINGS": { + "LABEL": "Calificación" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contacto", - "AGENT_NAME": "Agente asignado", + "AGENT_NAME": "Agente", "RATING": "Calificación", - "FEEDBACK_TEXT": "Realimentacion de Comentario" - } + "FEEDBACK_TEXT": "Realimentacion de Comentario", + "CONVERSATION": "Conversación", + "CUSTOMER": "Customer", + "RESPONSE": "Respuesta", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total de respuestas", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Tasa de respuesta", "TOOLTIP": "Número total de respuestas / Número total de mensajes de la encuesta de satisfacción enviados * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Guardar", + "CANCEL": "Cancelar", + "SAVING": "Guardando...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Actualizar ahora", + "CANCEL_ANYTIME": "Puede cambiar o cancelar su plan en cualquier momento" } } }, diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json index f29a7fb2b..14076393e 100644 --- a/app/javascript/dashboard/i18n/locale/es/settings.json +++ b/app/javascript/dashboard/i18n/locale/es/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Descargar", "UPLOADING": "Subiendo...", - "INSTAGRAM_STORY_UNAVAILABLE": "Esta historia ya no está disponible." + "INSTAGRAM_STORY_UNAVAILABLE": "Esta historia ya no está disponible.", + "INSTAGRAM_STORY_REPLY": "Respondió a su historia:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Ver en el mapa" @@ -378,7 +379,57 @@ "INFO_SHORT": "Marcar automáticamente sin conexión cuando no está usando la aplicación." }, "DOCS": "Leer documentos", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Capitán", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Características", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Facturación", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Buscar atributos" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolver conversación", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolver conversación", + "CANCEL": "Cancelar" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Selecciona una opción" + }, + "CHECKBOX": { + "YES": "Si", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Actualizar ahora", + "CANCEL_ANYTIME": "Puede cambiar o cancelar su plan en cualquier momento" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Por favor, comuníquese con su administrador para la actualización." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "¡Oh oh! No hemos podido encontrar ninguna cuenta de \"Chatwoot\". Por favor, crea una nueva cuenta para continuar.", "NEW_ACCOUNT": "Nueva cuenta", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancelar" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/es/signup.json b/app/javascript/dashboard/i18n/locale/es/signup.json index fe5e712ef..02bb594e3 100644 --- a/app/javascript/dashboard/i18n/locale/es/signup.json +++ b/app/javascript/dashboard/i18n/locale/es/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Crear una cuenta", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrarse", "TESTIMONIAL_HEADER": "Todo lo que se necesita es un paso adelante", "TESTIMONIAL_CONTENT": "Usted está a un paso de involucrar a sus clientes, conservarlos y encontrar nuevos.", diff --git a/app/javascript/dashboard/i18n/locale/es/sla.json b/app/javascript/dashboard/i18n/locale/es/sla.json index 3dee7d753..8321d7838 100644 --- a/app/javascript/dashboard/i18n/locale/es/sla.json +++ b/app/javascript/dashboard/i18n/locale/es/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Crear una nueva política de SLA", "DESCRIPTION": "Los Acuerdos de Nivel de Servicio (SLA) son contratos que definen expectativas claras entre su equipo y sus clientes. Establecen normas para los tiempos de respuesta y resolución, creando un marco para la responsabilidad y garantiza una experiencia coherente y de alta calidad.", "LEARN_MORE": "Más información sobre SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Obteniendo SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Actualiza para crear SLAs", "AVAILABLE_ON": "La función SLA sólo está disponible en los planes Empresariales (Business) y Corporativos (Enterprise).", @@ -20,14 +25,18 @@ }, "LIST": { "404": "No hay SLAs disponibles en esta cuenta.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Empresa P0", "DESC_1": "Problemas planteados por los clientes empresariales, que requieren una atención inmediata.", "TITLE_2": "Empresa P1", "DESC_2": "Problemas planteados por los clientes empresariales, deben reconocerse con rapidez." }, - "BUSINESS_HOURS_ON": "Horas laborables", - "BUSINESS_HOURS_OFF": "Horas de descanso", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Umbral de tiempo de primera respuesta", "NRT": "Umbral de tiempo de siguiente respuesta", diff --git a/app/javascript/dashboard/i18n/locale/es/snooze.json b/app/javascript/dashboard/i18n/locale/es/snooze.json new file mode 100644 index 000000000..7c78087d0 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/es/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutos", + "HOUR": "hour", + "HOURS": "horas", + "DAY": "día", + "DAYS": "días", + "WEEK": "semana", + "WEEKS": "weeks", + "MONTH": "mes", + "MONTHS": "months", + "YEAR": "mes", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "siguiente", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "mañana", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "próxima semana", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "de", + "AFTER": "after", + "WEEK": "semana", + "DAY": "día" + } +} diff --git a/app/javascript/dashboard/i18n/locale/es/teamsSettings.json b/app/javascript/dashboard/i18n/locale/es/teamsSettings.json index 0482685e9..1bb17b7ea 100644 --- a/app/javascript/dashboard/i18n/locale/es/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/es/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Obteniendo equipos", "DESCRIPTION": "Los equipos te permiten organizar a los agentes en grupos basados en sus responsabilidades. Un agente puede pertenecer a varios equipos. Cuando trabajas en colaboración, puedes asignar conversaciones a equipos específicos.", "LEARN_MORE": "Aprende más sobre los equipos", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Buscar equipos...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "No hay equipos creados en ésta cuenta.", "EDIT_TEAM": "Editar equipo", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "No se han podido guardar los detalles del equipo. Intente nuevamente." }, "AGENTS": { - "AGENT": "AGENTE", - "EMAIL": "Correo electrónico", + "AGENT": "Agente", + "EMAIL": "E-mail", "BUTTON_TEXT": "Añadir agentes", "ADD_AGENTS": "Añadiendo agentes a su equipo...", "SELECT": "seleccionar", diff --git a/app/javascript/dashboard/i18n/locale/es/yearInReview.json b/app/javascript/dashboard/i18n/locale/es/yearInReview.json index 742644506..2a60b25e1 100644 --- a/app/javascript/dashboard/i18n/locale/es/yearInReview.json +++ b/app/javascript/dashboard/i18n/locale/es/yearInReview.json @@ -19,7 +19,7 @@ }, "BUSIEST_DAY": { "TITLE": "Tu día más ocupado fue", - "MESSAGE": "{count} conversaciones ese día.", + "MESSAGE": "{count} conversaciones aquel día.", "COMPARISON": { "0_5": "Un calentamiento que apenas despertó la bandeja de entrada.", "5_10": "Suficiente movimiento como para justificar una segunda taza de café.", diff --git a/app/javascript/dashboard/i18n/locale/et/agentBots.json b/app/javascript/dashboard/i18n/locale/et/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/et/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/et/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/et/agentMgmt.json b/app/javascript/dashboard/i18n/locale/et/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/et/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/et/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/et/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/et/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/et/automation.json b/app/javascript/dashboard/i18n/locale/et/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/et/automation.json +++ b/app/javascript/dashboard/i18n/locale/et/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/et/bulkActions.json b/app/javascript/dashboard/i18n/locale/et/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/et/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/et/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/et/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/et/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/et/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/et/chatlist.json b/app/javascript/dashboard/i18n/locale/et/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/et/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/et/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/et/contact.json b/app/javascript/dashboard/i18n/locale/et/contact.json index 7cad3b433..10841bbbf 100644 --- a/app/javascript/dashboard/i18n/locale/et/contact.json +++ b/app/javascript/dashboard/i18n/locale/et/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/et/conversation.json b/app/javascript/dashboard/i18n/locale/et/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/et/conversation.json +++ b/app/javascript/dashboard/i18n/locale/et/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/et/customRole.json b/app/javascript/dashboard/i18n/locale/et/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/et/customRole.json +++ b/app/javascript/dashboard/i18n/locale/et/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/et/datePicker.json b/app/javascript/dashboard/i18n/locale/et/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/et/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/et/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/et/general.json b/app/javascript/dashboard/i18n/locale/et/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/et/general.json +++ b/app/javascript/dashboard/i18n/locale/et/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/et/generalSettings.json b/app/javascript/dashboard/i18n/locale/et/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/et/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/et/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/et/helpCenter.json b/app/javascript/dashboard/i18n/locale/et/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/et/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/et/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json index 2efba4716..1cfc95ef0 100644 --- a/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/et/integrationApps.json b/app/javascript/dashboard/i18n/locale/et/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/et/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/et/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/et/integrations.json b/app/javascript/dashboard/i18n/locale/et/integrations.json index ef3e94e42..fe1891064 100644 --- a/app/javascript/dashboard/i18n/locale/et/integrations.json +++ b/app/javascript/dashboard/i18n/locale/et/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/et/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/et/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/et/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/et/macros.json b/app/javascript/dashboard/i18n/locale/et/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/et/macros.json +++ b/app/javascript/dashboard/i18n/locale/et/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/et/mfa.json b/app/javascript/dashboard/i18n/locale/et/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/et/mfa.json +++ b/app/javascript/dashboard/i18n/locale/et/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/et/report.json b/app/javascript/dashboard/i18n/locale/et/report.json index dbf59f603..2ffa0ef11 100644 --- a/app/javascript/dashboard/i18n/locale/et/report.json +++ b/app/javascript/dashboard/i18n/locale/et/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/et/settings.json b/app/javascript/dashboard/i18n/locale/et/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/et/settings.json +++ b/app/javascript/dashboard/i18n/locale/et/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/et/signup.json b/app/javascript/dashboard/i18n/locale/et/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/et/signup.json +++ b/app/javascript/dashboard/i18n/locale/et/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/et/sla.json b/app/javascript/dashboard/i18n/locale/et/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/et/sla.json +++ b/app/javascript/dashboard/i18n/locale/et/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/et/snooze.json b/app/javascript/dashboard/i18n/locale/et/snooze.json new file mode 100644 index 000000000..2d9a876aa --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/et/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/et/teamsSettings.json b/app/javascript/dashboard/i18n/locale/et/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/et/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/et/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/fa/agentBots.json b/app/javascript/dashboard/i18n/locale/fa/agentBots.json index 6d64c887e..cd69870f4 100644 --- a/app/javascript/dashboard/i18n/locale/fa/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/fa/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "در حال بارگیری ویرایشگر...", "DESCRIPTION": "ربات‌های عامل مانند شگفت‌انگیزترین اعضای تیم شما هستند. آن‌ها می‌توانند کارهای کوچک را انجام دهند، بنابراین شما می‌توانید روی چیزهای مهم تمرکز کنید. آن‌ها را امتحان کنید. می‌توانید ربات‌های خود را از این صفحه مدیریت کنید یا با استفاده از دکمه «افزودن ربات»، ربات‌های جدیدی ایجاد کنید.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "ربات سیستمی", "GLOBAL_BOT_BADGE": "سیستم", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "در حال گرفتن ربات‌ها...", "TABLE_HEADER": { "DETAILS": "جزئیات ربات", - "URL": "آدرس URL وب هوک" + "URL": "آدرس URL وب هوک", + "ACTIONS": "عملیات" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fa/agentMgmt.json b/app/javascript/dashboard/i18n/locale/fa/agentMgmt.json index 1f2673d3f..4648078ec 100644 --- a/app/javascript/dashboard/i18n/locale/fa/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "مدیرکل", "AGENT": "ایجنت" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "در حال حاضر هیچ ایجنتی برای این حساب معرفی نشده است", "TITLE": "مدیریت ایجنت ها", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "متاسفانه ارتباط با سرور برقرار نشد، مجددا امتحان کنید" } }, + "SEARCH_PLACEHOLDER": "جستجوی اپراتور...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "نتیجه‌ای یافت نشد." }, diff --git a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json index 1abaf6d23..e368d472e 100644 --- a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "واکشی ویژگی‌های سفارشی", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "جستجو ویژگی ها...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "گفتگو", "CONTACT": "مخاطب" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "فعال سازی بررسی رجکس" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/fa/automation.json b/app/javascript/dashboard/i18n/locale/fa/automation.json index 033f2d37d..9a203b74f 100644 --- a/app/javascript/dashboard/i18n/locale/fa/automation.json +++ b/app/javascript/dashboard/i18n/locale/fa/automation.json @@ -3,8 +3,11 @@ "HEADER": "خودکارسازی", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "افزودن قانون خودکارسازی", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "واکشی قوانین اتوماسیون", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "افزودن قانون خودکارسازی", "SUBMIT": "ايجاد كردن", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "نام", - "DESCRIPTION": "توضیحات", "ACTIVE": "فعال", - "CREATED_ON": "ایجاد شده در" + "CREATED_ON": "ایجاد شده در", + "ACTIONS": "عملیات" }, "404": "هیچ قانون اتوماسیون یافت نشد" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "تغییر اولویت", "ADD_SLA": "اضافه کردن SLA", - "OPEN_CONVERSATION": "باز کردن گفتگو" + "OPEN_CONVERSATION": "باز کردن گفتگو", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/fa/bulkActions.json b/app/javascript/dashboard/i18n/locale/fa/bulkActions.json index 226de691f..90def79a3 100644 --- a/app/javascript/dashboard/i18n/locale/fa/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fa/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "وضعیت گفتگو با موفقیت به روز شد.", "UPDATE_FAILED": "گفتگوها به روز نشدند، لطفا دوباره امتحان کنید." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "برچسب اختصاص دهید", "NO_LABELS_FOUND": "هیچ برچسبی یافت نشد", diff --git a/app/javascript/dashboard/i18n/locale/fa/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/fa/cannedMgmt.json index ea12def74..9622033e1 100644 --- a/app/javascript/dashboard/i18n/locale/fa/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "پاسخ‌های آماده", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "اضافه کردن پاسخ آماده", "LOADING": "دریافت پاسخ‌های آماده...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "هیچ گزینه‌ای با این شرایط پیدا نشد.", "LIST": { "404": "هیچ پاسخ آماده‌ای برای این حساب تعریف نشده است", diff --git a/app/javascript/dashboard/i18n/locale/fa/chatlist.json b/app/javascript/dashboard/i18n/locale/fa/chatlist.json index 55071443e..e70a1744e 100644 --- a/app/javascript/dashboard/i18n/locale/fa/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fa/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "در انتظار پاسخ: کم‌ترین اول" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json index 670579978..2dddb7f96 100644 --- a/app/javascript/dashboard/i18n/locale/fa/contact.json +++ b/app/javascript/dashboard/i18n/locale/fa/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "هیچ مخاطبی با جستجوی شما مطابقت ندارد 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "اختصاص برچسب‌ها", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "به:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "موضوع :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json index 872e629df..dbf199ba4 100644 --- a/app/javascript/dashboard/i18n/locale/fa/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "این پیام پشتیبانی نمی شود. می توانید این پیام را در برنامه فیس بوک مسنجر مشاهده کنید.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "این پیام پشتیبانی نمی شود. می توانید این پیام را در برنامه اینستاگرام مشاهده کنید.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "پیام با موفقیت حذف شد", "FAIL_DELETE_MESSSAGE": "پیام حذف نشد! دوباره امتحان کنید", "NO_RESPONSE": "بدون پاسخ", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "برچسب اختصاص داده نشد. لطفا دوباره تلاش کنید." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "تیم \"{team}\" را به شناسه مکالمه {conversationId} اختصاص داد", "FAILED": "تیم تعیین نشد. لطفا دوباره تلاش کنید." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "غیرفعال کردن امضا", "MSG_INPUT": "برای رفتن به سرخط shift+enter و برای استفاده از پیام های ذخیره شده / را بزنید.", "PRIVATE_MSG_INPUT": "برای رفتن به سرخط shift+enter را بزنید. این پیام فقط به ایجنت ها نمایش داده میشود", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "امضای پیام پیکربندی نشده است، لطفاً آن را در تنظیمات نمایه پیکربندی کنید.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "برای به روز رسانی اینجا را کلیک کنید", "WHATSAPP_TEMPLATES": "قالب های واتساپ" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "برای ضمیمه کردن درگ و درآپ کنید", "START_AUDIO_RECORDING": "در حال شروع ضبط صدا", "STOP_AUDIO_RECORDING": "در حال توقف ضبط صدا", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "به", "ADD_BCC": "افزودن رونوشت", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "پرونده از حد مجاز پیوست {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} مگابایت بیشتر است", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "ارسال این پیام امکان پذیر نیست ، لطفاً بعداً دوباره امتحان کنید", "SENT_BY": "ارسال شده توسط:", "BOT": "ربات", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "پیام ارسال نشد! دوباره امتحان کنید", "TRY_AGAIN": "دوباره امتحان کنید", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "انصراف", "SEND_EMAIL_SUCCESS": "متن گفتگو با موفقیت ارسال شد", "SEND_EMAIL_ERROR": "خطایی پیش آمد. لطفا دوباره امتحان کنید", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "متن گفتگو را برای مشتری ارسال کنید", "SEND_TO_AGENT": "متن گفتگو را به ایجنت اختصاص یافته ارسال کنید", diff --git a/app/javascript/dashboard/i18n/locale/fa/customRole.json b/app/javascript/dashboard/i18n/locale/fa/customRole.json index 625bd72f4..6937109a3 100644 --- a/app/javascript/dashboard/i18n/locale/fa/customRole.json +++ b/app/javascript/dashboard/i18n/locale/fa/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "هیچ گزینه‌ای با این شرایط پیدا نشد.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/fa/datePicker.json b/app/javascript/dashboard/i18n/locale/fa/datePicker.json index e6adf109f..300d47097 100644 --- a/app/javascript/dashboard/i18n/locale/fa/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/fa/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "درخواست دادن", "CLEAR_BUTTON": "پاک کردن", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "۳ ماه گذشته", "LAST_6_MONTHS": "۶ ماه گذشته", "LAST_YEAR": "پارسال", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "محدوده تاریخ سفارشی" } } diff --git a/app/javascript/dashboard/i18n/locale/fa/general.json b/app/javascript/dashboard/i18n/locale/fa/general.json index c4d709259..1c14ffdbd 100644 --- a/app/javascript/dashboard/i18n/locale/fa/general.json +++ b/app/javascript/dashboard/i18n/locale/fa/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "بستن", "BETA": "آزمایشی", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "بله", + "NO": "خیر" } } diff --git a/app/javascript/dashboard/i18n/locale/fa/generalSettings.json b/app/javascript/dashboard/i18n/locale/fa/generalSettings.json index 51464933c..27e6ffee5 100644 --- a/app/javascript/dashboard/i18n/locale/fa/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fa/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "جستجو یا پرش به", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "عمومی", "REPORTS": "گزارشات", diff --git a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json index db4346f68..710943eee 100644 --- a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "خطا هنگام حذف مقاله" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "لطفا عنوان و محتوای مقاله را اضافه کنید و فقط شما می‌توانید تنظیمات را به‌روز کنید" }, diff --git a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json index 3b3218357..7bb3f2799 100644 --- a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "صندوق‌های ورودی", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "فقط از نام تجاری پیکربندی شده به عنوان نام فرستنده در هدر ایمیل استفاده کنید." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ نام کسب و کار خود را وارد کنید", + "BUTTON_TEXT": "نام کسب و کار خود را وارد کنید", "PLACEHOLDER": "نام کسب و کار خود را وارد کنید", "SAVE_BUTTON_TEXT": "ذخیره" } @@ -589,8 +592,10 @@ "DISABLED": "غیرفعال" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "فعال شد", - "DISABLED": "غیرفعال شد" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "فعال" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "رضایت مشتری" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "فعال/غیرفعال کردن نمایش نام اپراتور در ایمیل، اگر غیرفعال باشد نام کسب و کار نشان داده می شود", "ENABLE_CONTINUITY_VIA_EMAIL": "ادامه مکالمه را از طریق ایمیل فعال کنید", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "اگر آدرس ایمیل تماس در دسترس باشد، مکالمات از طریق ایمیل ادامه خواهد یافت.", - "LOCK_TO_SINGLE_CONVERSATION": "قفل کردن مکالمه تکی", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "چند مکالمه را برای یک مخاطب در این صندوق ورودی فعال یا غیرفعال کنید", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "تنظیمات صندوق ورودی", "INBOX_UPDATE_SUB_TEXT": "تغییر پارامترهای صندوق ورودی", "AUTO_ASSIGNMENT_SUB_TEXT": "فعال کردن یا غیرفعال کردن واگذاری خودکار گفتگوها به ایجنت های عضو این صندوق ورودی.", @@ -758,6 +765,7 @@ "LABEL": "مرکز راهنما", "PLACEHOLDER": "مرکز راهنما را انتخاب کنید", "SELECT_PLACEHOLDER": "مرکز راهنما را انتخاب کنید", + "NONE": "هیچکدام", "REMOVE": "مرکز راهنما را حذف کنید", "SUB_TEXT": "یک مرکز راهنما را با صندوق ورودی پیوست کنید" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "لطفا مقداری بزرگ‌تر از عدد 0 وارد کنید", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "حداکثر تعداد مکالماتی را که می توان به طور خودکار به یک اپراتور اختصاص داد، از این صندوق ورودی محدود کنید" }, + "ASSIGNMENT": { + "TITLE": "اختصاص گفتگو", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "فعال", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "انصراف", + "CONFIRM_DELETE": "حذف", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "احراز هویت مجدد", "SUBTITLE": "اتصال فیس بوک شما منقضی شده است ، لطفاً برای ادامه خدمات دوباره صفحه فیس بوک خود را متصل کنید", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "بازگشت" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "پیامی برای بازدیدکنندگان در دسترس نیست", "TOGGLE_HELP": "فعال کردن در دسترس بودن کسب کار ، ساعات موجود در ویجت چت زنده را نشان می دهد حتی اگر همه اپراتور ها آفلاین باشند. خارج از ساعات موجود می توان با پیام و فرم قبل از چت ، به کاربران هشدار داد.", "DAY": { + "DAY": "روز", + "AVAILABILITY": "در دسترس", + "HOURS": "Hours", "ENABLE": "در دسترس بودن را برای این روز فعال کنید", "UNAVAILABLE": "غیر قابل دسترسی", - "HOURS": "ساعت", "VALIDATION_ERROR": "زمان شروع باید قبل از زمان بسته شدن باشد.", "CHOOSE": "انتخاب کنید" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "در یک روز" }, "WIDGET_COLOR_LABEL": "رنگ ویجت", - "WIDGET_BUBBLE_POSITION_LABEL": "موقعیت حباب ابزارک", - "WIDGET_BUBBLE_TYPE_LABEL": "نوع حباب ابزارک", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "نوع:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "با ما گفتگو کنید", - "LABEL": "عنوان ویجت Bubble", + "LABEL": "Launcher Title", "PLACE_HOLDER": "با ما گفتگو کنید" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "پیش‌فرض", - "CHAT": "گفتگو" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "معمولاً در عرض چند دقیقه پاسخ می‌دهیم", diff --git a/app/javascript/dashboard/i18n/locale/fa/integrationApps.json b/app/javascript/dashboard/i18n/locale/fa/integrationApps.json index 2a19ded40..24f8be18c 100644 --- a/app/javascript/dashboard/i18n/locale/fa/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/fa/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "واکشی ادغام ها", "NO_HOOK_CONFIGURED": "هیچ {integrationId} ادغامی در این اکانت انجام نشده است.", "HEADER": "برنامه های کاربردی", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "فعال", "DISABLED": "غیرفعال" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "واکشی ادغام های هوک", "INBOX": "صندوق ورودی", + "ACTIONS": "عملیات", "DELETE": { "BUTTON_TEXT": "حذف" } diff --git a/app/javascript/dashboard/i18n/locale/fa/integrations.json b/app/javascript/dashboard/i18n/locale/fa/integrations.json index 31538b5b7..6876184f3 100644 --- a/app/javascript/dashboard/i18n/locale/fa/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fa/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "رویدادهای مشترک شده", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "انصراف", "DESC": "رویدادهای وب هوک اطلاعات لحظه‌ای حساب چت ووت شما را منتقل می‌کنند. لطفا آدرس URL صحیحی وارد کنید.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "حذف", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "حرفه‌ای", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "دوستانه" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

برنامه‌های داشبورد

برنامه‌های داشبورد به سازمان‌ها اجازه می‌دهند تا برنامه‌ای را در داشبورد Chatwoot جاسازی کنند تا زمینه را برای عوامل پشتیبانی مشتری فراهم کنند. این ویژگی به شما این امکان را می دهد که به طور مستقل یک برنامه ایجاد کنید و آن را در داشبورد جاسازی کنید تا اطلاعات کاربر، سفارشات یا سابقه پرداخت قبلی آنها را ارائه کنید.

وقتی برنامه خود را با استفاده از داشبورد در Chatwoot جاسازی می کنید، برنامه شما این کار را انجام می دهد. زمینه گفتگو و تماس را به عنوان یک رویداد پنجره دریافت کنید. یک شنونده برای رویداد پیام در صفحه خود اجرا کنید تا زمینه را دریافت کنید.

برای افزودن یک برنامه داشبورد جدید، روی دکمه \"افزودن یک برنامه داشبورد جدید\" کلیک کنید.

", "DESCRIPTION": "برنامه‌های داشبورد به سازمان‌ها اجازه می‌دهند تا برنامه‌ای را در داشبورد جاسازی کنند تا زمینه را برای عوامل پشتیبانی مشتری فراهم کنند. این ویژگی به شما این امکان را می دهد که به طور مستقل یک برنامه کاربردی ایجاد کنید و آن را برای ارائه اطلاعات کاربر، سفارشات یا سابقه پرداخت قبلی آنها درج کنید.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "هنوز هیچ برنامه داشبوردی روی این حساب پیکربندی نشده است", "LOADING": "در حال واکشی برنامه های داشبورد...", "TABLE_HEADER": { "NAME": "نام", - "ENDPOINT": "نقطه پایانی" + "ENDPOINT": "نقطه پایانی", + "ACTIONS": "عملیات" }, "EDIT_TOOLTIP": "ویرایش برنامه", "DELETE_TOOLTIP": "حذف برنامه" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "لطفاً برای ارتقا با ادمین خود تماس بگیرید." }, diff --git a/app/javascript/dashboard/i18n/locale/fa/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/fa/labelsMgmt.json index 476301f68..f03f21bcb 100644 --- a/app/javascript/dashboard/i18n/locale/fa/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "درحال گرفتن برچسب‌ها", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "جستجو برچسب‌ها...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "هیچ آیتمی با این مشخصات یافت نشد", "LIST": { "404": "هیچ برچسبی در این حساب‌کاربری وجود ندارد.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "نام", "DESCRIPTION": "توضیحات", - "COLOR": "رنگ" + "COLOR": "رنگ", + "ACTION": "عملیات" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fa/macros.json b/app/javascript/dashboard/i18n/locale/fa/macros.json index b64fa945c..5221dcb95 100644 --- a/app/javascript/dashboard/i18n/locale/fa/macros.json +++ b/app/javascript/dashboard/i18n/locale/fa/macros.json @@ -3,9 +3,12 @@ "HEADER": "ماکروها", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "افزودن ماکرو جدید", "HEADER_BTN_TXT_SAVE": "ذخیره ماکرو", "LOADING": "در حال گرفتن ماکروها", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "مشکلی پیش آمد. لطفا دوباره تلاش کنید", "ORDER_INFO": "ماکروها به ترتیبی که اقدامات خود را اضافه می کنید اجرا می شوند. می توانید با کشیدن آنها توسط دسته کنار هر گره آنها را دوباره مرتب کنید.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "نام", "CREATED BY": "ايجاد شده توسط", "LAST_UPDATED_BY": "آخرین به‌روزرسانی توسط", - "VISIBILITY": "دید" + "VISIBILITY": "دید", + "ACTIONS": "عملیات" }, "404": "هیچ ماکروی یافت نشد" }, diff --git a/app/javascript/dashboard/i18n/locale/fa/mfa.json b/app/javascript/dashboard/i18n/locale/fa/mfa.json index e1031ace2..b04eedd37 100644 --- a/app/javascript/dashboard/i18n/locale/fa/mfa.json +++ b/app/javascript/dashboard/i18n/locale/fa/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/fa/report.json b/app/javascript/dashboard/i18n/locale/fa/report.json index 9596444e1..7dcb86b77 100644 --- a/app/javascript/dashboard/i18n/locale/fa/report.json +++ b/app/javascript/dashboard/i18n/locale/fa/report.json @@ -3,7 +3,7 @@ "HEADER": "گفتگوها", "LOADING_CHART": "در حال دریافت اطلاعات...", "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", - "DOWNLOAD_AGENT_REPORTS": "دانلود گزارش ایجنت", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "خطا در دریافت اطلاعات، لطفا بعدا دوباره تلاش کنید.", "SUMMARY_FETCHING_FAILED": "خطا در دریافت خلاصه، لطفا بعدا دوباره تلاش کنید.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "نمای کلی اپراتور ها", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "در حال دریافت اطلاعات...", "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", "DOWNLOAD_AGENT_REPORTS": "دانلود گزارش ایجنت", "FILTER_DROPDOWN_LABEL": "انتخاب ایجنت", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "جستجوی اپراتور" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "گفتگوها", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", "DOWNLOAD_LABEL_REPORTS": "دانلود گزارش برچسب ها", "FILTER_DROPDOWN_LABEL": "برچسب را انتخاب کنید", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "جستجو برچسب‌ها" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "گفتگوها", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "انتخاب صندوق ورودی", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "گفتگوها", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "نمای کلی تیم", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "در حال دریافت اطلاعات...", "NO_ENOUGH_DATA": "متاسفانه اطلاعات کافی دریافت نشد، لطفا بعدا دوباره امتحان کنید", "DOWNLOAD_TEAM_REPORTS": "دانلود گزارشات تیم", "FILTER_DROPDOWN_LABEL": "تیم را انتخاب کنید", + "FILTERS": { + "ADD_FILTER": "افزودن فیلتر", + "CLEAR_ALL": "حذف همه", + "NO_FILTER": "هیچ فیلتری موجود نیست", + "INPUT_PLACEHOLDER": { + "TEAMS": "جستجوی تیم" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "گفتگوها", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "گزارشات رضایت مشتری", - "NO_RECORDS": "هیچ پاسخ برای نظرسنجی رضایت مشتری در دسترس نیست.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "دانلود گزارش CSAT", "DOWNLOAD_FAILED": "خطا در دانلود گزارش های CSAT", "FILTERS": { + "ADD_FILTER": "افزودن فیلتر", + "CLEAR_ALL": "حذف همه", + "NO_FILTER": "هیچ فیلتری موجود نیست", + "INPUT_PLACEHOLDER": { + "AGENTS": "جستجوی اپراتور", + "INBOXES": "Search inboxes", + "TEAMS": "جستجوی تیم", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "اپراتور را انتخاب کنید" + "LABEL": "ایجنت" + }, + "INBOXES": { + "LABEL": "صندوق ورودی" + }, + "TEAMS": { + "LABEL": "تیم‌" + }, + "RATINGS": { + "LABEL": "رتبه" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "مخاطب", - "AGENT_NAME": "ایجنت تعیین شده", + "AGENT_NAME": "ایجنت", "RATING": "رتبه", - "FEEDBACK_TEXT": "نظر ثبت شده" - } + "FEEDBACK_TEXT": "نظر ثبت شده", + "CONVERSATION": "گفتگو", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "مجموع پاسخ ها", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "نرخ پاسخ", "TOOLTIP": "تعداد کل پاسخ ها / تعداد کل پیام های نظرسنجی رضایت مشتری ارسال شده از 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "ذخیره", + "CANCEL": "انصراف", + "SAVING": "در حال ذخیره...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "حالا ارتقا دهید", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json index 827fc2e5a..5fe16b4c6 100644 --- a/app/javascript/dashboard/i18n/locale/fa/settings.json +++ b/app/javascript/dashboard/i18n/locale/fa/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "دانلود", "UPLOADING": "در حال آپلود...", - "INSTAGRAM_STORY_UNAVAILABLE": "این داستان دیگر در دسترس نیست." + "INSTAGRAM_STORY_UNAVAILABLE": "این داستان دیگر در دسترس نیست.", + "INSTAGRAM_STORY_REPLY": "به استوری شما پاسخ داده:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "مشاهده‌ بر روی نقشه" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "اسناد را بخوانید", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "امکانات", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "صورتحساب", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "جستجو ویژگی ها" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "گفتگو حل شده", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "گفتگو حل شده", + "CANCEL": "انصراف" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "بله", + "NO": "خیر" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "حالا ارتقا دهید", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "لطفاً برای ارتقا با ادمین خود تماس بگیرید." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "اوه اوه! ما هیچ حسابی روی Chatwoot پاز شما پیدا نکردیم. لطفاً برای ادامه یک حساب جدید ایجاد کنید.", "NEW_ACCOUNT": "حساب‌کاربری جدید", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "انصراف" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fa/signup.json b/app/javascript/dashboard/i18n/locale/fa/signup.json index 0163a7e85..38a662649 100644 --- a/app/javascript/dashboard/i18n/locale/fa/signup.json +++ b/app/javascript/dashboard/i18n/locale/fa/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "ایجاد حساب کاربری", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "ثبت نام", "TESTIMONIAL_HEADER": "تنها چیزی که لازم است یک قدم برای حرکت به جلو است", "TESTIMONIAL_CONTENT": "شما یک قدم تا جذب مشتریان خود، حفظ آنها و یافتن مشتریان جدید فاصله دارید.", diff --git a/app/javascript/dashboard/i18n/locale/fa/sla.json b/app/javascript/dashboard/i18n/locale/fa/sla.json index d0d853d4f..e283f3402 100644 --- a/app/javascript/dashboard/i18n/locale/fa/sla.json +++ b/app/javascript/dashboard/i18n/locale/fa/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "ایجاد سیاست SLA جدید", "DESCRIPTION": "قراردادهای سطح خدمات (SLA) قراردادهایی هستند که انتظارات واضحی را بین تیم شما و مشتریان تعریف می کنند. آنها استانداردهایی را برای زمان پاسخگویی و حل موضوعات تعریف می کنند، در قالب چارچوبی مه برای پاسخگویی ایجاد می کنند تجربه ای پایدار و با کیفیت را به مشتری ارائه می کنند.", "LEARN_MORE": "اطلاعات بیشتری درباره SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "در حال گرفتن SLAها", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "برای ایجاد SLA بروز رسانی کنید", "AVAILABLE_ON": "قابلیت SLA فقط در نسخه Business و Enterprise وجود دارد.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "هیچ SLA در این حساب‌کاربری وجود ندارد.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "مسائلی که توسط مشتریان سازمانی مطرح می شود و نیاز به توجه فوری دارد.", "TITLE_2": "Enterprise P1", "DESC_2": "مسائلی که توسط مشتریان سازمانی مطرح می شود، باید به سرعت مورد تایید قرار گیرد." }, - "BUSINESS_HOURS_ON": "در ساعت کاری", - "BUSINESS_HOURS_OFF": "خارج از ساعت کاری", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "آستانه زمان اولین پاسخ", "NRT": "آستانه زمان پاسخ بعدی", diff --git a/app/javascript/dashboard/i18n/locale/fa/snooze.json b/app/javascript/dashboard/i18n/locale/fa/snooze.json new file mode 100644 index 000000000..fda794853 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/fa/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "ساعت", + "DAY": "روز", + "DAYS": "days", + "WEEK": "روز", + "WEEKS": "weeks", + "MONTH": "هفته", + "MONTHS": "months", + "YEAR": "ماه", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "فردا", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "هفته بعد", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "روز", + "DAY": "روز" + } +} diff --git a/app/javascript/dashboard/i18n/locale/fa/teamsSettings.json b/app/javascript/dashboard/i18n/locale/fa/teamsSettings.json index af7384b71..b1bb021ea 100644 --- a/app/javascript/dashboard/i18n/locale/fa/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/fa/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "جستجوی تیم...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "هیچ تیمی در این حساب ایجاد نشده است.", "EDIT_TEAM": "ویرایش تیم", diff --git a/app/javascript/dashboard/i18n/locale/fi/agentBots.json b/app/javascript/dashboard/i18n/locale/fi/agentBots.json index eae68ec01..ed237979f 100644 --- a/app/javascript/dashboard/i18n/locale/fi/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/fi/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhookin URL" + "URL": "Webhookin URL", + "ACTIONS": "Toiminnot" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fi/agentMgmt.json b/app/javascript/dashboard/i18n/locale/fi/agentMgmt.json index 25472a2bc..1111f6684 100644 --- a/app/javascript/dashboard/i18n/locale/fi/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Ylläpitäjä", "AGENT": "Edustajat" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Tälle tilille ei ole liitetty edustajia", "TITLE": "Hallitse edustajia tiimissäsi", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Yhteyden muodostaminen Woot-palvelimelle ei onnistunut, yritä myöhemmin uudelleen" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json index da3fe86bb..8087fda09 100644 --- a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Etsi määritteitä...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/fi/automation.json b/app/javascript/dashboard/i18n/locale/fi/automation.json index ea8ecab1d..0dfca6771 100644 --- a/app/javascript/dashboard/i18n/locale/fi/automation.json +++ b/app/javascript/dashboard/i18n/locale/fi/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Luo", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nimi", - "DESCRIPTION": "Kuvaus", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Toiminnot" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/fi/bulkActions.json b/app/javascript/dashboard/i18n/locale/fi/bulkActions.json index 0163c825a..bc5019095 100644 --- a/app/javascript/dashboard/i18n/locale/fi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fi/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/fi/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/fi/cannedMgmt.json index 49552985f..1a5e74828 100644 --- a/app/javascript/dashboard/i18n/locale/fi/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Tallennetut vastaukset", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Tätä hakua vastaavia kohteita ei löydy.", "LIST": { "404": "Tällä tilillä ei ole tallennettuja vastauksia.", diff --git a/app/javascript/dashboard/i18n/locale/fi/chatlist.json b/app/javascript/dashboard/i18n/locale/fi/chatlist.json index 34d85e113..4056a01f2 100644 --- a/app/javascript/dashboard/i18n/locale/fi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fi/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json index 00b712a63..4950073a8 100644 --- a/app/javascript/dashboard/i18n/locale/fi/contact.json +++ b/app/javascript/dashboard/i18n/locale/fi/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Ei hakua vastaavia yhteystietoja 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json index d1aa292ac..54cc45b93 100644 --- a/app/javascript/dashboard/i18n/locale/fi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Vaihto + enter siirtyäksesi uudelle riville. Aloita '/' valitaksesi tallennettu vastaus.", "PRIVATE_MSG_INPUT": "Vaihto + enter siirtyäksesi uudelle riville. Tämä näkyy vain edustajille", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "WhatsApp-pohjat" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Lähettäjä:", "BOT": "Botti", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Viestiä ei voitu lähettää! Yritä uudelleen", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Peruuta", "SEND_EMAIL_SUCCESS": "Chat-keskustelu on lähetetty onnistuneesti", "SEND_EMAIL_ERROR": "Tapahtui virhe, yritä uudelleen", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Lähetä keskustelu asiakkaalle", "SEND_TO_AGENT": "Lähetä keskustelu edustajalle", diff --git a/app/javascript/dashboard/i18n/locale/fi/customRole.json b/app/javascript/dashboard/i18n/locale/fi/customRole.json index 6807fa16d..d2ecf49d2 100644 --- a/app/javascript/dashboard/i18n/locale/fi/customRole.json +++ b/app/javascript/dashboard/i18n/locale/fi/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Tätä hakua vastaavia kohteita ei löydy.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/fi/datePicker.json b/app/javascript/dashboard/i18n/locale/fi/datePicker.json index 1d2e2bf34..8abe975c9 100644 --- a/app/javascript/dashboard/i18n/locale/fi/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/fi/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/fi/general.json b/app/javascript/dashboard/i18n/locale/fi/general.json index 796f39b73..a3e8dc63c 100644 --- a/app/javascript/dashboard/i18n/locale/fi/general.json +++ b/app/javascript/dashboard/i18n/locale/fi/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Sulje", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/fi/generalSettings.json b/app/javascript/dashboard/i18n/locale/fi/generalSettings.json index 58701ec53..c10475348 100644 --- a/app/javascript/dashboard/i18n/locale/fi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fi/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Raportit", diff --git a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json index 6b593e9b6..7f5370936 100644 --- a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json index 6f780eddc..4bb9d01b7 100644 --- a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Saapuneet-kansiot", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Pois käytöstä" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Käytössä", - "DISABLED": "Pois käytöstä" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Postilaatikon tiedot", "INBOX_UPDATE_SUB_TEXT": "Päivitä postilaatikon asetukset", "AUTO_ASSIGNMENT_SUB_TEXT": "Ota käyttöön tai poista käytöstä automaattinen keskusteluiden delegointi edustajille.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Peruuta", + "CONFIRM_DELETE": "Poista", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Uudelleenvaltuuta", "SUBTITLE": "Facebook-yhteytesi on vanhentunut, ole hyvä ja yhdistä uudelleen Facebook-sivusi jatkaaksesi palveluita", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Mene takaisin" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Saatavuus", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Päivän kuluessa" }, "WIDGET_COLOR_LABEL": "Widgetin väri", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Keskustele kanssamme", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Keskustele kanssamme" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Vastaa tyypillisesti muutamassa minuutissa", diff --git a/app/javascript/dashboard/i18n/locale/fi/integrationApps.json b/app/javascript/dashboard/i18n/locale/fi/integrationApps.json index 226a7539f..e9908629a 100644 --- a/app/javascript/dashboard/i18n/locale/fi/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/fi/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Käytössä", "DISABLED": "Pois käytöstä" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Toiminnot", "DELETE": { "BUTTON_TEXT": "Poista" } diff --git a/app/javascript/dashboard/i18n/locale/fi/integrations.json b/app/javascript/dashboard/i18n/locale/fi/integrations.json index 3b25a48b0..cf4d13dc1 100644 --- a/app/javascript/dashboard/i18n/locale/fi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fi/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Peruuta", "DESC": "Webhook-tapahtumat antavat sinulle reaaliaikaista tietoa siitä, mitä Chatwot-tililläsi tapahtuu. Syötä kelvollinen URL-osoite, jotta voit määrittää callbackin.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Poista", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Nimi", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Toiminnot" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/fi/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/fi/labelsMgmt.json index 877827020..d4324a87f 100644 --- a/app/javascript/dashboard/i18n/locale/fi/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Haetaan tunnisteita", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Tätä hakua vastaavia kohteita ei löydy", "LIST": { "404": "Tällä tilillä ei ole tunnisteita.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nimi", "DESCRIPTION": "Kuvaus", - "COLOR": "Väri" + "COLOR": "Väri", + "ACTION": "Toiminnot" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fi/macros.json b/app/javascript/dashboard/i18n/locale/fi/macros.json index a2716f073..5d78f2687 100644 --- a/app/javascript/dashboard/i18n/locale/fi/macros.json +++ b/app/javascript/dashboard/i18n/locale/fi/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nimi", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Toiminnot" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/fi/mfa.json b/app/javascript/dashboard/i18n/locale/fi/mfa.json index ad2b19764..1af0654f5 100644 --- a/app/javascript/dashboard/i18n/locale/fi/mfa.json +++ b/app/javascript/dashboard/i18n/locale/fi/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/fi/report.json b/app/javascript/dashboard/i18n/locale/fi/report.json index 22db228b2..107589f21 100644 --- a/app/javascript/dashboard/i18n/locale/fi/report.json +++ b/app/javascript/dashboard/i18n/locale/fi/report.json @@ -3,7 +3,7 @@ "HEADER": "Keskustelut", "LOADING_CHART": "Ladataan kaaviotietoja...", "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", - "DOWNLOAD_AGENT_REPORTS": "Lataa edustajaraportit", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Ladataan kaaviotietoja...", "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", "DOWNLOAD_AGENT_REPORTS": "Lataa edustajaraportit", "FILTER_DROPDOWN_LABEL": "Valitse edustaja", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Ladataan kaaviotietoja...", "NO_ENOUGH_DATA": "Emme ole saaneet tarpeeksi dataa raportin luomiseen, yritä myöhemmin uudelleen.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Keskustelut", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Edustajat" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Arvio" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Osoitettu edustajalle", + "AGENT_NAME": "Edustajat", "RATING": "Arvio", - "FEEDBACK_TEXT": "Palautteen kommentti" - } + "FEEDBACK_TEXT": "Palautteen kommentti", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Peruuta", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index d32a94ecc..bf7d7bc44 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Lataa", "UPLOADING": "Lähetetään...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Ominaisuudet", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Etsi määritteitä" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Selvitä keskustelu", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Selvitä keskustelu", + "CANCEL": "Peruuta" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "Uusi tili", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Peruuta" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fi/signup.json b/app/javascript/dashboard/i18n/locale/fi/signup.json index 4afef6704..a460c1582 100644 --- a/app/javascript/dashboard/i18n/locale/fi/signup.json +++ b/app/javascript/dashboard/i18n/locale/fi/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Rekisteröidy", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/fi/sla.json b/app/javascript/dashboard/i18n/locale/fi/sla.json index 51e8ef39b..ed59a2b82 100644 --- a/app/javascript/dashboard/i18n/locale/fi/sla.json +++ b/app/javascript/dashboard/i18n/locale/fi/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/fi/snooze.json b/app/javascript/dashboard/i18n/locale/fi/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/fi/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/fi/teamsSettings.json b/app/javascript/dashboard/i18n/locale/fi/teamsSettings.json index 6b8c89789..aec3a5833 100644 --- a/app/javascript/dashboard/i18n/locale/fi/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/fi/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", + "AGENT": "Edustajat", "EMAIL": "Sähköposti", "BUTTON_TEXT": "Lisää edustaja", "ADD_AGENTS": "Adding Agents to your Team...", diff --git a/app/javascript/dashboard/i18n/locale/fr/agentBots.json b/app/javascript/dashboard/i18n/locale/fr/agentBots.json index 99142ad27..915adb649 100644 --- a/app/javascript/dashboard/i18n/locale/fr/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/fr/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Chargement de l'éditeur...", "DESCRIPTION": "Les bots agents sont comme les membres les plus formidables de votre équipe. Ils peuvent gérer les petites tâches, vous permettant ainsi de vous concentrer sur ce qui compte vraiment. Essayez-les. Vous pouvez gérer vos bots depuis cette page ou en créer de nouveaux en cliquant sur le bouton 'Ajouter un bot'.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "Bot système", "GLOBAL_BOT_BADGE": "Système", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Récupération des bots...", "TABLE_HEADER": { "DETAILS": "Détails du bot", - "URL": "URL du Webhook" + "URL": "URL du Webhook", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fr/agentMgmt.json b/app/javascript/dashboard/i18n/locale/fr/agentMgmt.json index f0bca3e22..d3bb0a880 100644 --- a/app/javascript/dashboard/i18n/locale/fr/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrateur", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Il n'y a aucun agent associé à ce compte", "TITLE": "Gérer les agents de votre équipe", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Impossible de se connecter au serveur Woot, veuillez réessayer plus tard" } }, + "SEARCH_PLACEHOLDER": "Chercher des agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Aucun résultat trouvé." }, diff --git a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json index 3fa91fa64..f5a68599b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Récupération des attributs personnalisés", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Rechercher des attributs...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Activer la validation Regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/fr/automation.json b/app/javascript/dashboard/i18n/locale/fr/automation.json index 985f9f35a..a43e34cfa 100644 --- a/app/javascript/dashboard/i18n/locale/fr/automation.json +++ b/app/javascript/dashboard/i18n/locale/fr/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatisations", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Ajouter une règle d'automatisation", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Récupération des règles d'automatisation", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Ajouter une règle d'automatisation", "SUBMIT": "Créer", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nom", - "DESCRIPTION": "Description", "ACTIVE": "Actif", - "CREATED_ON": "Créé le" + "CREATED_ON": "Créé le", + "ACTIONS": "Actions" }, "404": "Aucune règle d'automatisation trouvée" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Ajouter une note privée", "CHANGE_PRIORITY": "Modifier la priorité", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Ouvrir la conversation" + "OPEN_CONVERSATION": "Ouvrir la conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Boite de réception", diff --git a/app/javascript/dashboard/i18n/locale/fr/bulkActions.json b/app/javascript/dashboard/i18n/locale/fr/bulkActions.json index 772e00ffe..b9a8f645b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fr/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Le statut de la conversation a été mis à jour avec succès.", "UPDATE_FAILED": "Impossible de mettre à jour les conversations, veuillez réessayer." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assigner une étiquette", "NO_LABELS_FOUND": "Aucune étiquette trouvée", diff --git a/app/javascript/dashboard/i18n/locale/fr/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/fr/cannedMgmt.json index 28c29309d..e5524e845 100644 --- a/app/javascript/dashboard/i18n/locale/fr/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Réponses standardisées", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Ajouter une réponse prédéfinie", "LOADING": "Récupération des réponses prédéfinies...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Il n'y a aucun élément correspondant à cette requête.", "LIST": { "404": "Il n'y a aucune réponse standardisée disponible dans ce compte.", diff --git a/app/javascript/dashboard/i18n/locale/fr/chatlist.json b/app/javascript/dashboard/i18n/locale/fr/chatlist.json index dcaf26810..5126c29f7 100644 --- a/app/javascript/dashboard/i18n/locale/fr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/fr/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Réponse en attente : La plus courte en premier" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json index 22684d6e6..baded39db 100644 --- a/app/javascript/dashboard/i18n/locale/fr/contact.json +++ b/app/javascript/dashboard/i18n/locale/fr/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Aucun contact ne correspond à votre recherche 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "Aucun contact n'est actif pour le moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assigner des étiquettes", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "À:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Objet :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Cci:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Cci" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json index da74fce54..f1c87af24 100644 --- a/app/javascript/dashboard/i18n/locale/fr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Ce message n'est pas pris en charge. Vous pouvez voir ce message sur l'application Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ce message n'est pas pris en charge. Vous pouvez voir ce message sur l'application Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Le message a bien été supprimé", "FAIL_DELETE_MESSSAGE": "Impossible de supprimer le message ! Veuillez réessayez", "NO_RESPONSE": "Pas de réponse", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Impossible d'assigner l'étiquette. Veuillez réessayer." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Équipe assignée «{team}» à la conversation id {conversationId}", "FAILED": "Impossible d'assigner l'équipe. Veuillez réessayer." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Désactiver la signature", "MSG_INPUT": "Maj + entrée pour une nouvelle ligne. Commencez par '/' pour sélectionner une réponse standardisée.", "PRIVATE_MSG_INPUT": "Maj + entrée pour une nouvelle ligne. Cela ne sera visible que par les agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "La signature du message n'est pas configurée, veuillez le configurer dans les paramètres du profil.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Cliquez ici pour mettre à jour", "WHATSAPP_TEMPLATES": "Modèles WhatsApp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Glissez et déposez ici pour lier", "START_AUDIO_RECORDING": "Démarrer l'enregistrement audio", "STOP_AUDIO_RECORDING": "Arrêter l'enregistrement audio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "À", "ADD_BCC": "Ajouter cci", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation supprimée avec succès", "FAIL_DELETE_CONVERSATION": "Impossible de supprimer la conversation ! Veuillez réessayer", "FILE_SIZE_LIMIT": "Le fichier dépasse la limite de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} pour les pièces jointes", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Impossible d'envoyer ce message, veuillez réessayer plus tard", "SENT_BY": "Envoyé par:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Impossible d'envoyer le message ! Réessayez", "TRY_AGAIN": "Réessayer", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Annuler", "SEND_EMAIL_SUCCESS": "La transcription du chat a été envoyée avec succès", "SEND_EMAIL_ERROR": "Une erreur est survenue, veuillez réessayer", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Envoyer la transcription au client", "SEND_TO_AGENT": "Envoyer la transcription à l'agent assigné", diff --git a/app/javascript/dashboard/i18n/locale/fr/customRole.json b/app/javascript/dashboard/i18n/locale/fr/customRole.json index 32b7c9f37..d8220b1f7 100644 --- a/app/javascript/dashboard/i18n/locale/fr/customRole.json +++ b/app/javascript/dashboard/i18n/locale/fr/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Il n'y a aucun élément correspondant à cette requête.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/fr/datePicker.json b/app/javascript/dashboard/i18n/locale/fr/datePicker.json index bdec99942..8fd56423a 100644 --- a/app/javascript/dashboard/i18n/locale/fr/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/fr/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Appliquer", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "3 derniers mois", "LAST_6_MONTHS": "6 derniers mois", "LAST_YEAR": "Année dernière", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Plage de date personnalisée" } } diff --git a/app/javascript/dashboard/i18n/locale/fr/general.json b/app/javascript/dashboard/i18n/locale/fr/general.json index a97743c6f..492ed2b51 100644 --- a/app/javascript/dashboard/i18n/locale/fr/general.json +++ b/app/javascript/dashboard/i18n/locale/fr/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Fermer", "BETA": "Bêta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Oui", + "NO": "Non" } } diff --git a/app/javascript/dashboard/i18n/locale/fr/generalSettings.json b/app/javascript/dashboard/i18n/locale/fr/generalSettings.json index 664d04eda..63ac2ea73 100644 --- a/app/javascript/dashboard/i18n/locale/fr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/fr/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Rechercher ou aller à", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Général", "REPORTS": "Rapports", diff --git a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json index 0b41f6da7..95996ce4d 100644 --- a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Erreur lors de la suppression de l’article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Veuillez ajouter le titre et le contenu de l'article puis vous seul pouvez mettre à jour les paramètres" }, diff --git a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json index 6b1b2d342..a9ba2d18c 100644 --- a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Boîtes de réception", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Utilisez uniquement le nom d'entreprise configuré comme nom d'expéditeur dans l'en-tête du courriel." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configurez votre nom d'entreprise", + "BUTTON_TEXT": "Configurez votre nom d'entreprise", "PLACEHOLDER": "Entrez le nom de votre entreprise", "SAVE_BUTTON_TEXT": "Enregistrer" } @@ -589,8 +592,10 @@ "DISABLED": "Désactivé" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Activé", - "DISABLED": "Désactivé" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Activer" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Activer/Désactiver l'affichage du nom de l'agent dans l'e-mail, si désactivé, il affichera le nom de l'entreprise", "ENABLE_CONTINUITY_VIA_EMAIL": "Activer la continuité de la conversation par e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Les conversations se poursuivront par courrier électronique si l'adresse e-mail du contact est disponible.", - "LOCK_TO_SINGLE_CONVERSATION": "Verrouiller à une seule conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Activer ou désactiver plusieurs conversations pour le même contact dans cette boîte de réception", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Paramètres de boîtes de réception", "INBOX_UPDATE_SUB_TEXT": "Mettre à jour les paramètres de votre boîte de réception", "AUTO_ASSIGNMENT_SUB_TEXT": "Activer ou désactiver l'affectation automatique de nouvelles conversations aux agents ajoutés à cette boîte de réception.", @@ -758,6 +765,7 @@ "LABEL": "Centre d'aide", "PLACEHOLDER": "Sélectionnez le centre d'aide", "SELECT_PLACEHOLDER": "Sélectionnez le centre d'aide", + "NONE": "Aucun", "REMOVE": "Supprimer le centre d'aide", "SUB_TEXT": "Attachez un centre d'aide avec la boîte de réception" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Veuillez entrer une valeur supérieure à 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limiter le nombre maximum de conversations de cette boîte de réception qui peuvent être assignées automatiquement à un agent" }, + "ASSIGNMENT": { + "TITLE": "Konversationsauftrag", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Actif", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Annuler", + "CONFIRM_DELETE": "Supprimer", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Réautoriser", "SUBTITLE": "Votre connexion Facebook a expiré, veuillez reconnecter votre page Facebook pour continuer les services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Retour" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Message d'indisponibilité pour les visiteurs", "TOGGLE_HELP": "Activer la disponibilité professionnelle montrera les heures disponibles sur le widget chat en direct même si tous les agents sont hors ligne. En dehors des heures disponibles, les visiteurs peuvent être avertis avec un message et un formulaire de préconversation.", "DAY": { + "DAY": "Jour", + "AVAILABILITY": "Disponibilité", + "HOURS": "Heures", "ENABLE": "Activer la disponibilité pour ce jour", "UNAVAILABLE": "Non disponible", - "HOURS": "heures", "VALIDATION_ERROR": "L'heure de début doit être avant l'heure de fermeture.", "CHOOSE": "Sélectionner" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "En une journée" }, "WIDGET_COLOR_LABEL": "Couleur du Widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Position de la bulle du widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Type de bulle de widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Discutez avec nous", - "LABEL": "Titre du Widget Bubble Launcher", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Discutez avec nous" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Par défaut", - "CHAT": "Discussion" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Répond généralement en quelques minutes", diff --git a/app/javascript/dashboard/i18n/locale/fr/integrationApps.json b/app/javascript/dashboard/i18n/locale/fr/integrationApps.json index aa2fc22fd..7fd0223f4 100644 --- a/app/javascript/dashboard/i18n/locale/fr/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/fr/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Récupération des intégrations", "NO_HOOK_CONFIGURED": "Aucune intégration {integrationId} n'est configurée dans ce compte.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Activé", "DISABLED": "Désactivé" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Récupération des webhooks de l'intégration", "INBOX": "Boîte de réception", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Supprimer" } diff --git a/app/javascript/dashboard/i18n/locale/fr/integrations.json b/app/javascript/dashboard/i18n/locale/fr/integrations.json index b3ec7a784..f0ee975c7 100644 --- a/app/javascript/dashboard/i18n/locale/fr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fr/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Événements suivis", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Annuler", "DESC": "Les événements Webhook vous fournissent des informations en temps réel sur ce qui se passe dans votre compte Chatwoot. Veuillez entrer une URL valide pour configurer un callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Supprimer", "DELETE_CONFIRMATION": { "TITLE": "Supprimer l'intégration", @@ -145,7 +160,29 @@ "EXPAND": "Développer", "MAKE_FRIENDLY": "Modifier la tonalité du message en mode convivial", "MAKE_FORMAL": "Utiliser une tonalité formelle", - "SIMPLIFY": "Simplifier" + "SIMPLIFY": "Simplifier", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professionnel", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Amical" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Contenu du brouillon", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Les applications du tableau de bord

Les applications du tableau de bord permettent aux organisations d'intégrer une application dans le tableau de bord Chatwoot pour fournir le contexte aux agents d'assistance client. Cette fonctionnalité vous permet de créer une application indépendamment et d'intégrer cela dans le tableau de bord pour fournir les informations de l'utilisateur, leurs commandes, ou leur historique de paiement précédent.

Lorsque vous intégrez votre application en utilisant le tableau de bord dans Chatwoot, votre application obtiendra le contexte de la conversation et le contact comme un événement de fenêtre. Implémentez un listener pour l'événement message sur votre page pour recevoir le contexte.

Pour ajouter une nouvelle application de tableau de bord, cliquez sur le bouton 'Ajouter une nouvelle application de tableau de bord'.

", "DESCRIPTION": "Les applications du tableau de bord permettent aux organisations d'intégrer une application dans le tableau de bord pour fournir le contexte des agents d'assistance client. Cette fonctionnalité vous permet de créer une application de manière indépendante et d'intégrer les informations de l'utilisateur, leurs commandes ou leur historique de paiement précédent.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Il n'y a pas encore d'applications de tableau de bord configurées sur ce compte", "LOADING": "Récupération des applications du tableau de bord ...", "TABLE_HEADER": { "NAME": "Nom", - "ENDPOINT": "Terminaison" + "ENDPOINT": "Terminaison", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Editer l'application", "DELETE_TOOLTIP": "Supprimer l'application" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/fr/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/fr/labelsMgmt.json index 27c0e5ad3..bdaf46270 100644 --- a/app/javascript/dashboard/i18n/locale/fr/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Récupération des étiquettes", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Rechercher des étiquettes...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Il n'y a aucun élément correspondant à cette requête", "LIST": { "404": "Il n'y a aucune étiquette disponible dans ce compte.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nom", "DESCRIPTION": "Description", - "COLOR": "Couleur" + "COLOR": "Couleur", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fr/macros.json b/app/javascript/dashboard/i18n/locale/fr/macros.json index 20623d702..d61e849d8 100644 --- a/app/javascript/dashboard/i18n/locale/fr/macros.json +++ b/app/javascript/dashboard/i18n/locale/fr/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Ajouter une macro", "HEADER_BTN_TXT_SAVE": "Enregistrer une macro", "LOADING": "Récupération des macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Une erreur s'est produite. Veuillez réessayer", "ORDER_INFO": "Les macros s'exécuteront dans l'ordre où vous ajoutez vos actions. Vous pouvez les réorganiser en les glissant par la poignée à côté de chaque nœud.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nom", "CREATED BY": "Créé par", "LAST_UPDATED_BY": "Dernière mise à jour par", - "VISIBILITY": "Visibilité" + "VISIBILITY": "Visibilité", + "ACTIONS": "Actions" }, "404": "Aucune macro trouvée" }, diff --git a/app/javascript/dashboard/i18n/locale/fr/mfa.json b/app/javascript/dashboard/i18n/locale/fr/mfa.json index e540427ad..f9a59d131 100644 --- a/app/javascript/dashboard/i18n/locale/fr/mfa.json +++ b/app/javascript/dashboard/i18n/locale/fr/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/fr/report.json b/app/javascript/dashboard/i18n/locale/fr/report.json index 5c41536e9..8d610113d 100644 --- a/app/javascript/dashboard/i18n/locale/fr/report.json +++ b/app/javascript/dashboard/i18n/locale/fr/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Chargement des données du graphique ...", "NO_ENOUGH_DATA": "Nous n'avons pas reçu assez de points de données pour générer un rapport. Veuillez réessayer plus tard.", - "DOWNLOAD_AGENT_REPORTS": "Télécharger les rapports de l'agent", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Impossible de récupérer les données, veuillez réessayer ultérieurement.", "SUMMARY_FETCHING_FAILED": "Impossible de récupérer le résumé, veuillez réessayer plus tard.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Présentation des agents", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Chargement des données du graphique ...", "NO_ENOUGH_DATA": "Nous n'avons pas reçu assez de points de données pour générer un rapport. Veuillez réessayer plus tard.", "DOWNLOAD_AGENT_REPORTS": "Télécharger les rapports de l'agent", "FILTER_DROPDOWN_LABEL": "Sélectionner un agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Chercher des agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Nous n'avons pas reçu assez de points de données pour générer un rapport. Veuillez réessayer plus tard.", "DOWNLOAD_LABEL_REPORTS": "Télécharger les rapports d'étiquettes", "FILTER_DROPDOWN_LABEL": "Sélectionnez l'étiquette", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Rechercher des étiquettes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Sélectionner la boîte de réception", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Présentation de l'équipe", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Chargement des données du graphique ...", "NO_ENOUGH_DATA": "Nous n'avons pas reçu assez de points de données pour générer un rapport. Veuillez réessayer plus tard.", "DOWNLOAD_TEAM_REPORTS": "Télécharger les rapports d'équipe", "FILTER_DROPDOWN_LABEL": "Choisis une équipe", + "FILTERS": { + "ADD_FILTER": "Ajouter un filtre", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Chercher des équipes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Rapports CSAT", - "NO_RECORDS": "Il n'y a aucune réponse à l'enquête CSAT disponible.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Télécharger les rapports CSAT", "DOWNLOAD_FAILED": "Le téléchargement des rapports CSAT a échoué", "FILTERS": { + "ADD_FILTER": "Ajouter un filtre", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Chercher des agents", + "INBOXES": "Search inboxes", + "TEAMS": "Chercher des équipes", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choisissez des agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Boîte de réception" + }, + "TEAMS": { + "LABEL": "Équipes" + }, + "RATINGS": { + "LABEL": "Note" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Agent assigné", + "AGENT_NAME": "Agent", "RATING": "Note", - "FEEDBACK_TEXT": "Commentaire sur la rétroaction" - } + "FEEDBACK_TEXT": "Commentaire sur la rétroaction", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Réponses totales", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Taux de réponse", "TOOLTIP": "Nombre total de réponses / Nombre total de messages de l'enquête CSAT envoyés * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Enregistrer", + "CANCEL": "Annuler", + "SAVING": "Enregistrement en cours...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json index 1213d1fbe..15dceb726 100644 --- a/app/javascript/dashboard/i18n/locale/fr/settings.json +++ b/app/javascript/dashboard/i18n/locale/fr/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Télécharger", "UPLOADING": "Téléversement...", - "INSTAGRAM_STORY_UNAVAILABLE": "Cette Story n'est plus disponible." + "INSTAGRAM_STORY_UNAVAILABLE": "Cette Story n'est plus disponible.", + "INSTAGRAM_STORY_REPLY": "A répondu à votre histoire:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Afficher sur la carte" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Lire la documentation", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Fonctionnalités", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Facturation", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Rechercher des attributs" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Reprendre la conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Reprendre la conversation", + "CANCEL": "Annuler" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Oui", + "NO": "Non" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Oh oh ! Nous n'avons pas trouvé de compte Chatwoot. Veuillez créer un nouveau compte pour continuer.", "NEW_ACCOUNT": "Nouveau compte", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Annuler" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/fr/signup.json b/app/javascript/dashboard/i18n/locale/fr/signup.json index 64b2a5a1a..1d3aa0d4f 100644 --- a/app/javascript/dashboard/i18n/locale/fr/signup.json +++ b/app/javascript/dashboard/i18n/locale/fr/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Créer un compte", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Inscription", "TESTIMONIAL_HEADER": "Il suffit d'une étape pour avancer", "TESTIMONIAL_CONTENT": "Vous n'êtes plus qu'à un pas d'engager vos clients, de les fidéliser et d'en trouver de nouveaux.", diff --git a/app/javascript/dashboard/i18n/locale/fr/sla.json b/app/javascript/dashboard/i18n/locale/fr/sla.json index a864ed3c3..388265561 100644 --- a/app/javascript/dashboard/i18n/locale/fr/sla.json +++ b/app/javascript/dashboard/i18n/locale/fr/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/fr/snooze.json b/app/javascript/dashboard/i18n/locale/fr/snooze.json new file mode 100644 index 000000000..39ea74496 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/fr/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "heures", + "DAY": "jour", + "DAYS": "jours", + "WEEK": "jour", + "WEEKS": "weeks", + "MONTH": "semaine", + "MONTHS": "months", + "YEAR": "mois", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "suivant", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "demain", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "semaine prochaine", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "jour", + "DAY": "jour" + } +} diff --git a/app/javascript/dashboard/i18n/locale/fr/teamsSettings.json b/app/javascript/dashboard/i18n/locale/fr/teamsSettings.json index 8adba8b41..89e547718 100644 --- a/app/javascript/dashboard/i18n/locale/fr/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/fr/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Chercher des équipes...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Il n'y a aucune équipe créée sur ce compte.", "EDIT_TEAM": "Modifier l'équipe", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Impossible d'enregistrer les détails de l'équipe. Veuillez réessayer." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "COURRIEL", + "AGENT": "Agent", + "EMAIL": "Courriel", "BUTTON_TEXT": "Ajouter des agents", "ADD_AGENTS": "Ajout d'agents à votre équipe...", "SELECT": "sélectionner", diff --git a/app/javascript/dashboard/i18n/locale/he/agentBots.json b/app/javascript/dashboard/i18n/locale/he/agentBots.json index 0b527be34..a0787013f 100644 --- a/app/javascript/dashboard/i18n/locale/he/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/he/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "טוען עורך...", "DESCRIPTION": "בוטים של סוכנים הם כמו החברים הכי נפלאים בצוות שלכם. הם יכולים להתמודד עם הדברים הקטנים, כך שאתם יכולים להתמקד בדברים החשובים. נסו אותם. אתם יכולים לנהל את הבוטים שלכם מדף זה או ליצור חדשים באמצעות כפתור 'הוסף בוט'.", "LEARN_MORE": "למד על בוטי סוכנים", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "בוט מערכת", "GLOBAL_BOT_BADGE": "מערכת", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "טוען בוטים...", "TABLE_HEADER": { "DETAILS": "פרטי בוט", - "URL": "כתובת URL של ווב הוק" + "URL": "כתובת URL של ווב הוק", + "ACTIONS": "פעולות" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/he/agentMgmt.json b/app/javascript/dashboard/i18n/locale/he/agentMgmt.json index 7634f2309..777acd1fc 100644 --- a/app/javascript/dashboard/i18n/locale/he/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "מנהל", "AGENT": "סוכן" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "אין סוכנים המקושרים לחשבון זה", "TITLE": "נהל סוכנים בצוות שלך", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "לא ניתן להתחבר לשרת ווט, נסה שוב מאוחר יותר" } }, + "SEARCH_PLACEHOLDER": "חפש סוכנים...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "לא נמצאו תוצאות." }, diff --git a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json index 024b7056d..8dbf88721 100644 --- a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "טוען מאפיינים מותאמים אישית", "DESCRIPTION": "מאפיין מותאם אישית עוקב אחר פרטים נוספים על אנשי הקשר או השיחות שלך—כגון תוכנית המנוי או תאריך הרכישה הראשונה שלהם. אתה יכול להוסיף סוגים שונים של מאפיינים מותאמים אישית, כגון טקסט, רשימות או מספרים, כדי ללכוד את המידע הספציפי שאתה צריך.", "LEARN_MORE": "למד עוד על מאפיינים מותאמים אישית", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "חפש מאפיין...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "שיחה", "CONTACT": "איש קשר" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "אפשר אימות regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/he/automation.json b/app/javascript/dashboard/i18n/locale/he/automation.json index ecb982c08..c93ce37ad 100644 --- a/app/javascript/dashboard/i18n/locale/he/automation.json +++ b/app/javascript/dashboard/i18n/locale/he/automation.json @@ -3,8 +3,11 @@ "HEADER": "אוטומציה", "DESCRIPTION": "אוטומציה יכולה להחליף ולזרז תהליכים קיימים שדורשים מאמץ ידני, כגון הוספת תוויות והקצאת שיחות לסוכן המתאים ביותר. זה מאפשר לצוות להתמקד בחוזקות שלו תוך כדי הפחתת הזמן המושקע במשימות שגרתיות.", "LEARN_MORE": "למד עוד על אוטומציה", - "HEADER_BTN_TXT": "הוסף כלל אוטומציה", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "טוען כללי אוטומציה", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "הוסף כלל אוטומציה", "SUBMIT": "צור", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "שם", - "DESCRIPTION": "תיאור", "ACTIVE": "פעיל", - "CREATED_ON": "נוצר ב" + "CREATED_ON": "נוצר ב", + "ACTIONS": "פעולות" }, "404": "לא נמצאו כללי אוטומציה" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "הוסף הערה פרטית", "CHANGE_PRIORITY": "שנה עדיפות", "ADD_SLA": "הוסף SLA", - "OPEN_CONVERSATION": "פתח שיחה" + "OPEN_CONVERSATION": "פתח שיחה", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "הודעה נכנסת", diff --git a/app/javascript/dashboard/i18n/locale/he/bulkActions.json b/app/javascript/dashboard/i18n/locale/he/bulkActions.json index 183f1bf6b..f975ff9a2 100644 --- a/app/javascript/dashboard/i18n/locale/he/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/he/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "סטאטוס השיחה שונה בהצלחה.", "UPDATE_FAILED": "העדכון של השיחות נכשל. אנא נסה שוב." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "הקצה תוויות", "NO_LABELS_FOUND": "לא נמצאו תוויות", diff --git a/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json index 6b770ef07..990f3c7af 100644 --- a/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "תגובות מוכנות", "LEARN_MORE": "למד עוד על תגובות שמורות", "DESCRIPTION": "תגובות מוכנות הן תבניות תשובה כתובות מראש שמסייעות לך להגיב במהירות לשיחה. סוכנים יכולים להקליד את התו '/' ואחריו קוד מקוצר כדי להכניס תגובה מוכנה במהלך השיחה. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "הוסף תגובה שמורה", "LOADING": "מאחזר תגובות שמורות...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "אין פריטים התואמים לשאילתה זו.", "LIST": { "404": "אין תגובות מוכנות זמינות בחשבון זה.", diff --git a/app/javascript/dashboard/i18n/locale/he/chatlist.json b/app/javascript/dashboard/i18n/locale/he/chatlist.json index 7fd79b796..13235c5b5 100644 --- a/app/javascript/dashboard/i18n/locale/he/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/he/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "ממתין לתגובה: הקצר ביותר תחילה" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/he/contact.json b/app/javascript/dashboard/i18n/locale/he/contact.json index 055508590..af89a1f60 100644 --- a/app/javascript/dashboard/i18n/locale/he/contact.json +++ b/app/javascript/dashboard/i18n/locale/he/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "הוסף אינסטגרם" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "אין אנשי קשר שתואמים לחיפוש שלך 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "טען עוד" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "הקצה תוויות", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "אין תיבות דואר נכנס זמינות כדי להתחיל שיחה עם איש קשר זה.", "CONTACT_SELECTOR": { "LABEL": "אל:", - "TAG_INPUT_PLACEHOLDER": "חפש איש קשר לפי שם, דוא\"ל או מספר טלפון", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "יוצר איש קשר..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "נושא :", "SUBJECT_PLACEHOLDER": "הזן את נושא הדוא\"ל שלך כאן", "CC_LABEL": "עותק:", - "CC_PLACEHOLDER": "חפש איש קשר לפי כתובת הדוא\"ל שלו", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "עותק מוסתר:", - "BCC_PLACEHOLDER": "חפש איש קשר לפי כתובת הדוא\"ל שלו", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "עותק מוסתר" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/he/conversation.json b/app/javascript/dashboard/i18n/locale/he/conversation.json index f4c1cd3c1..1bd688522 100644 --- a/app/javascript/dashboard/i18n/locale/he/conversation.json +++ b/app/javascript/dashboard/i18n/locale/he/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "הודעה זו אינה נתמכת. תוכל לצפות בהודעה זו באפליקציית Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "הודעה זו אינה נתמכת. תוכל לצפות בהודעה זו באפליקציית Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "ההודעה נמחקה בהצלחה", "FAIL_DELETE_MESSSAGE": "לא ניתן למחוק את ההודעה! נסה שוב", "NO_RESPONSE": "אין תגובה", @@ -173,6 +174,10 @@ "SUCCESFUL": "הוקצתה תווית #{labelName} לשיחה מזהה {conversationId}", "FAILED": "לא ניתן לקשר שורה. אנא נסו שנית" }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "הצוות {team} קושר לשיחה מספר {conversationId}", "FAILED": "השמה לצוות לא הצליחה, בבקשה נסה שנית." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "נטרל חתימה", "MSG_INPUT": "Shift + Enter עבור שורה חדשה. התחל עם '/' כדי לבחור תגובה מוכנה.", "PRIVATE_MSG_INPUT": "Shift + Enter עבור שורה חדשה. זה יהיה גלוי רק לסוכנים", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "חתימת הודעה אינה מוגדרת, נא הגדר אותה בהגדרות הפרופיל.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "לחץ כאן כדי לעדכן", "WHATSAPP_TEMPLATES": "תבניות וואטסאפ" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "גרור ושחרר כאן להוספת קובץ מצורף", "START_AUDIO_RECORDING": "התחל הקלטת אודיו", "STOP_AUDIO_RECORDING": "עצור הקלטת אודיו", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "אל", "ADD_BCC": "הוסף bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "השיחה נמחקה בהצלחה", "FAIL_DELETE_CONVERSATION": "לא ניתן למחוק את השיחה! נסה שוב", "FILE_SIZE_LIMIT": "הקובץ גדול מ{MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE}MB מגבלת העלאה", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "לא ניתן לשלוח הודעה, אנא נסה שוב מאוחר יותר", "SENT_BY": "נשלח על ידי:", "BOT": "בוט", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "לא ניתן לשלוח הודעה! נסה שוב", "TRY_AGAIN": "נסה שוב", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "ביטול", "SEND_EMAIL_SUCCESS": "תמליל השיחה נשלח בהצלחה", "SEND_EMAIL_ERROR": "היתה שגיאה, בקשה נסה שוב", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "שלח תמליל ללקוח", "SEND_TO_AGENT": "שלח תמליל לסוכן המשוייך לשיחה", diff --git a/app/javascript/dashboard/i18n/locale/he/customRole.json b/app/javascript/dashboard/i18n/locale/he/customRole.json index 0be63e3b8..1aac4e5ce 100644 --- a/app/javascript/dashboard/i18n/locale/he/customRole.json +++ b/app/javascript/dashboard/i18n/locale/he/customRole.json @@ -3,8 +3,11 @@ "HEADER": "תפקידים מותאמים אישית", "LEARN_MORE": "למד עוד על תפקידים מותאמים אישית", "DESCRIPTION": "תפקידים מותאמים אישית הם תפקידים שנוצרים על ידי הבעלים או המנהל של החשבון. ניתן להקצות תפקידים אלה לסוכנים כדי להגדיר את הגישה וההרשאות שלהם בתוך החשבון. ניתן ליצור תפקידים מותאמים אישית עם הרשאות ורמות גישה ספציפיות שיתאימו לדרישות הארגון.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "הוסף תפקיד מותאם אישית", "LOADING": "מאחזר תפקידים מותאמים אישית...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "אין פריטים התואמים לשאילתה זו.", "PAYWALL": { "TITLE": "שדרג כדי ליצור תפקידים מותאמים אישית", diff --git a/app/javascript/dashboard/i18n/locale/he/datePicker.json b/app/javascript/dashboard/i18n/locale/he/datePicker.json index 0e8b27080..0d96f7fb8 100644 --- a/app/javascript/dashboard/i18n/locale/he/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/he/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "להגיש מועמדות", "CLEAR_BUTTON": "נקה", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "3 החודשים האחרונים", "LAST_6_MONTHS": "6 החודשים האחרונים", "LAST_YEAR": "שנה שעברה", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "החודש", "CUSTOM_RANGE": "טווח תאריכים מותאם אישית" } } diff --git a/app/javascript/dashboard/i18n/locale/he/general.json b/app/javascript/dashboard/i18n/locale/he/general.json index 03b74a08f..e0bff0379 100644 --- a/app/javascript/dashboard/i18n/locale/he/general.json +++ b/app/javascript/dashboard/i18n/locale/he/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "סגור", "BETA": "בטא", - "BETA_DESCRIPTION": "תכונה זו נמצאת בגרסת בטא ועשויה להשתנות ככל שנשפר אותה." + "BETA_DESCRIPTION": "תכונה זו נמצאת בגרסת בטא ועשויה להשתנות ככל שנשפר אותה.", + "ACCEPT": "Accept", + "DISCARD": "בטל", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "כן", + "NO": "לא" } } diff --git a/app/javascript/dashboard/i18n/locale/he/generalSettings.json b/app/javascript/dashboard/i18n/locale/he/generalSettings.json index ca14e8968..b0e4747a7 100644 --- a/app/javascript/dashboard/i18n/locale/he/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/he/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "חפש או קפוץ ל", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "כללי", "REPORTS": "דוחות", diff --git a/app/javascript/dashboard/i18n/locale/he/helpCenter.json b/app/javascript/dashboard/i18n/locale/he/helpCenter.json index 0cf481180..fedc6ab6f 100644 --- a/app/javascript/dashboard/i18n/locale/he/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/he/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "שגיאה בעת מחיקת מאמר" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "אנא הוסף את כותרת המאמר והתוכן ואז רק אתה יכול לעדכן את ההגדרות" }, diff --git a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json index 4ed1ec7bb..bc556fa06 100644 --- a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "תיבות דואר נכנס", "DESCRIPTION": "ערוץ הוא אמצעי התקשורת שלקוח שלך בוחר כדי ליצור איתך אינטראקציה. תיבת דואר נכנס היא המקום שבו אתה מנהל אינטראקציות עבור ערוץ ספציפי. היא יכולה לכלול תקשורת ממקורות שונים כגון דוא\"ל, צ'אט חי ומדיה חברתית.", "LEARN_MORE": "למד עוד על תיבות דואר נכנס", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "תיבת הדואר הנכנס שלך מנותקת. לא תקבל הודעות חדשות עד שתאשר אותה מחדש.", "CLICK_TO_RECONNECT": "לחץ כאן כדי להתחבר מחדש.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "השתמש רק בשם העסק שהוגדר כשם השולח בכותרת הדוא\"ל." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ הגדר את שם העסק שלך", + "BUTTON_TEXT": "הגדר את שם העסק שלך", "PLACEHOLDER": "הזן את שם העסק שלך", "SAVE_BUTTON_TEXT": "שמור" } @@ -589,8 +592,10 @@ "DISABLED": "כבוי" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "מופעל", - "DISABLED": "כבוי" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "אפשר" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "תקינות חשבון", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "נהל את חשבון WhatsApp שלך", "DESCRIPTION": "סקור את מצב חשבון WhatsApp שלך, מגבלות הודעות ואיכות. עדכן הגדרות או פתור בעיות במידת הצורך", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "אפשר המשך שיחה באמצעות הדוא\"ל", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "שיחות ימשיכו באמצעות הדוא\"ל אם לאיש הקשר קיימת כתובת דוא\"ל תקנית.", - "LOCK_TO_SINGLE_CONVERSATION": "נעל לשיחה בודדת", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "הפעל או השבת מספר שיחות עבור אותו איש קשר בתיבת הדואר הנכנס הזו", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "הגדרות תיבת דואר נכנס", "INBOX_UPDATE_SUB_TEXT": "עדכן את הגדרות תיבת הדואר הנכנס שלך", "AUTO_ASSIGNMENT_SUB_TEXT": "אפשר או השבת את ההקצאה האוטומטית של שיחות חדשות לסוכנים שנוספו לתיבת הדואר הנכנס הזו.", @@ -758,6 +765,7 @@ "LABEL": "מרכז עזרה", "PLACEHOLDER": "בחר מרכז עזרה", "SELECT_PLACEHOLDER": "בחר מרכז עזרה", + "NONE": "כלום", "REMOVE": "הסר מרכז עזרה", "SUB_TEXT": "צרף מרכז עזרה לתיבת הדואר הנכנס" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "אנא הזן ערך גדול מ-0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "הגבלת המספר המרבי של שיחות מתיבת הדואר הנכנס הזו שניתן להקצות אוטומטית לסוכן" }, + "ASSIGNMENT": { + "TITLE": "שיוך שיחה", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "מחק מדיניות", + "POLICY_LABEL": "מדיניות הקצאה", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "פעיל", + "INACTIVE": "לא פעיל" + }, + "PRIORITY": { + "EARLIEST_CREATED": "נוצר מוקדם ביותר", + "LONGEST_WAITING": "המתנה הארוכה ביותר" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin (סבב)", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "לא נמצאו מדיניות הקצאה", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "ביטול", + "CONFIRM_DELETE": "מחק", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "הרשאה מחדש", "SUBTITLE": "פג תוקף החיבור שלך לפייסבוק, אנא חבר מחדש את דף הפייסבוק שלך כדי להמשיך בשירותים", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "חזור" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "כלל סקר", "DESCRIPTION_PREFIX": "שלח את הסקר אם השיחה", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "בחר תוויות" }, "NOTE": "הערה: סקרי CSAT נשלחים פעם אחת בלבד לכל שיחה", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "הגדרות CSAT עודכנו בהצלחה", "ERROR_MESSAGE": "לא הצלחנו לעדכן את הגדרות CSAT. אנא נסה שוב מאוחר יותר." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "הודעה לא זמינה למבקרים", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "יום", + "AVAILABILITY": "זמינות", + "HOURS": "שעות", "ENABLE": "אפשר זמינות ליום זה", "UNAVAILABLE": "אינו זמין", - "HOURS": "שעות", "VALIDATION_ERROR": "שעת ההתחלה צריכה להיות לפני שעת הסגירה.", "CHOOSE": "בחר" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "ביום" }, "WIDGET_COLOR_LABEL": "צבע יישומון", - "WIDGET_BUBBLE_POSITION_LABEL": "מיקום בועת יישומון", - "WIDGET_BUBBLE_TYPE_LABEL": "סוג בועת יישומון", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "סוג:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "דבר איתנו", - "LABEL": "כותרת מפעיל בועות יישומון", + "LABEL": "Launcher Title", "PLACE_HOLDER": "דבר איתנו" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "ברירת מחדל", - "CHAT": "צ'אט" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "זמן מענה טיפוסי תוך כמה דקות", diff --git a/app/javascript/dashboard/i18n/locale/he/integrationApps.json b/app/javascript/dashboard/i18n/locale/he/integrationApps.json index c54067a30..571b85e4a 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/he/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "שליפת אינטגרציות", "NO_HOOK_CONFIGURED": "אין {integrationId} אינטגרציות מוגדרות בחשבון זה.", "HEADER": "יישומים", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "חיפוש...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "מופעל", "DISABLED": "כבוי" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "הוצאת קרס אינטגרציה", "INBOX": "תיבת הדואר הנכנס", + "ACTIONS": "פעולות", "DELETE": { "BUTTON_TEXT": "מחק" } diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json index 59a69cc27..0dca2241c 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrations.json +++ b/app/javascript/dashboard/i18n/locale/he/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "מחק אינטגרציה של Shopify", "MESSAGE": "האם אתה בטוח שברצונך למחוק את האינטגרציה של Shopify?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot משתלב עם כלים ושירותים מרובים כדי לשפר את יעילות הצוות שלך. חקור את הרשימה למטה כדי להגדיר את האפליקציות המועדפות עליך.", "LEARN_MORE": "למד עוד על אינטגרציות", "LOADING": "מאחזר אינטגרציות", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain אינו מופעל בחשבונך.", "CLICK_HERE_TO_CONFIGURE": "לחץ כאן כדי להגדיר", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "אירועים מנויים", "LEARN_MORE": "למד עוד על Webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "ביטול", "DESC": "אירועי Webhook מספקים לך מידע בזמן אמת על מה שקורה בחשבון Chatwoot שלך. אנא הזן כתובת אתר חוקית כדי להגדיר התקשרות חוזרת.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "מחק", "DELETE_CONFIRMATION": { "TITLE": "מחק את האינטגרציה", @@ -145,7 +160,29 @@ "EXPAND": "הרחב", "MAKE_FRIENDLY": "שנה את טון ההודעה לידידותי", "MAKE_FORMAL": "השתמש בטון רשמי", - "SIMPLIFY": "פשט" + "SIMPLIFY": "פשט", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "מקצועי", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "ידידותי" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "טיוטת תוכן", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

אפליקציות לוח מחוונים

אפליקציות לוח מחוונים מאפשרות לארגונים להטמיע אפליקציה בתוך לוח המחוונים של Chatwoot כדי לספק את ההקשר לסוכני תמיכת לקוחות. תכונה זו מאפשרת לך ליצור אפליקציה באופן עצמאי ולהטמיע אותה בתוך לוח המחוונים כדי לספק מידע על המשתמש, ההזמנות שלו או היסטוריית התשלומים הקודמת שלו.

כאשר תטמיע את האפליקציה שלך באמצעות לוח המחוונים ב-Chatwoot, האפליקציה שלך תהיה קבל את ההקשר של השיחה והקשר כאירוע חלון. הטמיע מאזין לאירוע ההודעה בדף שלך כדי לקבל את ההקשר.

כדי להוסיף אפליקציית לוח מחוונים חדשה, לחץ על הלחצן 'הוסף אפליקציית לוח מחוונים חדשה'.

", "DESCRIPTION": "אפליקציות לוח מחוונים מאפשרות לארגונים להטמיע אפליקציה בתוך לוח המחוונים כדי לספק את ההקשר לסוכני תמיכת לקוחות. תכונה זו מאפשרת לך ליצור אפליקציה באופן עצמאי ולהטמיע אותה כדי לספק מידע על המשתמש, ההזמנות שלהם או היסטוריית התשלומים הקודמת שלהם.", "LEARN_MORE": "למד עוד על אפליקציות לוח מחוונים", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "אין עדיין אפליקציות לוח מחוונים מוגדרות בחשבון זה", "LOADING": "מביא אפליקציות לוח מחוונים...", "TABLE_HEADER": { "NAME": "שם", - "ENDPOINT": "נקודת קצה" + "ENDPOINT": "נקודת קצה", + "ACTIONS": "פעולות" }, "EDIT_TOOLTIP": "ערוך אפליקציה", "DELETE_TOOLTIP": "מחק אפליקציה" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "מאחזר בעיות Linear...", "LOADING_ERROR": "אירעה שגיאה באחזור בעיות Linear, אנא נסה שוב", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "האם אתה בטוח שברצונך למחוק את האינטגרציה של Notion?", "MESSAGE": "מחיקת אינטגרציה זו תסיר את הגישה למרחב העבודה שלך ב-Notion ותפסיק את כל הפונקציונליות הקשורה.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "תוכל לשנות או לבטל את התוכנית שלך בכל עת" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "שדרג את התוכנית שלך כדי לקבל גישה לעוזרים שלנו, ל-Copilot ועוד.", "ASK_ADMIN": "אנא פנה למנהל המערכת שלך לצורך השדרוג." }, diff --git a/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json index 493613e41..d1317bfb7 100644 --- a/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "מביא תוויות", "DESCRIPTION": "תוויות עוזרות לך לסווג ולתעדף שיחות ולידים. תוכל להקצות תווית לשיחה או לאיש קשר באמצעות החלונית הצדדית.", "LEARN_MORE": "למד עוד על תוויות", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "חפש תוויות...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "אין פריטים התואמים לשאילתה זו", "LIST": { "404": "אין תוויות זמינות בחשבון זה.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "שם", "DESCRIPTION": "תיאור", - "COLOR": "צֶבַע" + "COLOR": "צֶבַע", + "ACTION": "פעולות" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/he/macros.json b/app/javascript/dashboard/i18n/locale/he/macros.json index 30f33615a..41365acd0 100644 --- a/app/javascript/dashboard/i18n/locale/he/macros.json +++ b/app/javascript/dashboard/i18n/locale/he/macros.json @@ -3,9 +3,12 @@ "HEADER": "מאקרו", "DESCRIPTION": "מאקרו הוא קבוצה של פעולות שמורות המסייעות לסוכני שירות לקוחות להשלים משימות בקלות. הסוכנים יכולים להגדיר קבוצה של פעולות כמו תיוג שיחה בתווית, שליחת תמלול דוא\"ל, עדכון תכונה מותאמת אישית וכו', והם יכולים להפעיל פעולות אלה בלחיצה אחת.", "LEARN_MORE": "למד עוד על מאקרואים", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "הוסף מאקרו חדש", "HEADER_BTN_TXT_SAVE": "שמור מאקרו", "LOADING": "מביא פקודות מאקרו", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "משהו השתבש. אנא נסה שוב", "ORDER_INFO": "פקודות מאקרו יפעלו לפי הסדר שתוסיף את הפעולות שלך. תוכל לסדר אותם מחדש על ידי גרירתם על ידי הידית לצד כל צומת.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "שם", "CREATED BY": "נוצר על ידי", "LAST_UPDATED_BY": "עודכן לאחרונה על ידי", - "VISIBILITY": "רְאוּת" + "VISIBILITY": "רְאוּת", + "ACTIONS": "פעולות" }, "404": "לא נמצאו פקודות מאקרו" }, diff --git a/app/javascript/dashboard/i18n/locale/he/mfa.json b/app/javascript/dashboard/i18n/locale/he/mfa.json index 90cb31404..0533cf425 100644 --- a/app/javascript/dashboard/i18n/locale/he/mfa.json +++ b/app/javascript/dashboard/i18n/locale/he/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "סטטוס אימות", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/he/report.json b/app/javascript/dashboard/i18n/locale/he/report.json index 57b4311c3..a80c5bee4 100644 --- a/app/javascript/dashboard/i18n/locale/he/report.json +++ b/app/javascript/dashboard/i18n/locale/he/report.json @@ -3,7 +3,7 @@ "HEADER": "שיחות", "LOADING_CHART": "טוען נתוני תרשים...", "NO_ENOUGH_DATA": "לא קיבלנו מספיק נקודות נתונים כדי להפיק דוח, אנא נסה שוב מאוחר יותר.", - "DOWNLOAD_AGENT_REPORTS": "הורד דוחות סוכן", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "אחזור הנתונים נכשל, אנא נסה שוב מאוחר יותר.", "SUMMARY_FETCHING_FAILED": "אחזור הסיכום נכשל, אנא נסה שוב מאוחר יותר.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "סקירה כללית של סוכנים", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "טוען נתוני תרשים...", "NO_ENOUGH_DATA": "לא קיבלנו מספיק נקודות נתונים כדי להפיק דוח, אנא נסה שוב מאוחר יותר.", "DOWNLOAD_AGENT_REPORTS": "הורד דוחות סוכן", "FILTER_DROPDOWN_LABEL": "בחר סוכן", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "חפש סוכנים" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "שיחות", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "לא קיבלנו מספיק נקודות נתונים כדי להפיק דוח, אנא נסה שוב מאוחר יותר.", "DOWNLOAD_LABEL_REPORTS": "הורד דוחות תווית", "FILTER_DROPDOWN_LABEL": "בחר תווית", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "חפש תוויות" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "שיחות", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "בחר תיבת דואר", "ALL_INBOXES": "כל תיבות הדואר הנכנס", "SEARCH_INBOX": "חפש תיבת דואר נכנס", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "שיחות", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "סקירת צוות", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "טוען נתוני תרשים...", "NO_ENOUGH_DATA": "לא קיבלנו מספיק נקודות נתונים כדי להפיק דוח, אנא נסה שוב מאוחר יותר.", "DOWNLOAD_TEAM_REPORTS": "הורד דוחות צוות", "FILTER_DROPDOWN_LABEL": "תבחר קבוצה", + "FILTERS": { + "ADD_FILTER": "הוסף מסנן", + "CLEAR_ALL": "נקה הכל", + "NO_FILTER": "אין מסננים זמינים", + "INPUT_PLACEHOLDER": { + "TEAMS": "חפש צוותים" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "שיחות", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "דוחות CSAT", - "NO_RECORDS": "אין תשובות לסקר CSAT זמינות.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "הורד דוחות CSAT", "DOWNLOAD_FAILED": "הורדת דוחות CSAT נכשלה", "FILTERS": { + "ADD_FILTER": "הוסף מסנן", + "CLEAR_ALL": "נקה הכל", + "NO_FILTER": "אין מסננים זמינים", + "INPUT_PLACEHOLDER": { + "AGENTS": "חפש סוכנים", + "INBOXES": "Search inboxes", + "TEAMS": "חפש צוותים", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "בחר סוכנים" + "LABEL": "סוכן" + }, + "INBOXES": { + "LABEL": "תיבת הדואר הנכנס" + }, + "TEAMS": { + "LABEL": "צוות" + }, + "RATINGS": { + "LABEL": "דירוג" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "איש קשר", - "AGENT_NAME": "סוכן מוקצה", + "AGENT_NAME": "סוכן", "RATING": "דירוג", - "FEEDBACK_TEXT": "הערת משוב" - } + "FEEDBACK_TEXT": "הערת משוב", + "CONVERSATION": "שיחה", + "CUSTOMER": "Customer", + "RESPONSE": "תגובה", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "סה\"כ תגובות", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "שיעור תגובה", "TOOLTIP": "מספר כולל של תגובות / מספר כולל של הודעות סקר CSAT שנשלחו * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "שמור", + "CANCEL": "ביטול", + "SAVING": "שומר...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "שדרג עכשיו", + "CANCEL_ANYTIME": "תוכל לשנות או לבטל את התוכנית שלך בכל עת" } } }, diff --git a/app/javascript/dashboard/i18n/locale/he/settings.json b/app/javascript/dashboard/i18n/locale/he/settings.json index a6a8c6ff1..317e096e6 100644 --- a/app/javascript/dashboard/i18n/locale/he/settings.json +++ b/app/javascript/dashboard/i18n/locale/he/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "הורד", "UPLOADING": "מעלה...", - "INSTAGRAM_STORY_UNAVAILABLE": "הסיפור הזה כבר לא זמין." + "INSTAGRAM_STORY_UNAVAILABLE": "הסיפור הזה כבר לא זמין.", + "INSTAGRAM_STORY_REPLY": "השיב/ה לסטורי שלך:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "ראה במפה" @@ -378,7 +379,57 @@ "INFO_SHORT": "סמן אוטומטית כלא מקוון כאשר אינך משתמש באפליקציה." }, "DOCS": "קרא מסמכים", - "SECURITY": "אבטחה" + "SECURITY": "אבטחה", + "CAPTAIN_AI": "קפטן", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "עוזר", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "מאפיינים", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "חיוב", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "חפש מאפיין" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "פתור את השיחה", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "פתור את השיחה", + "CANCEL": "ביטול" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "בחר אפשרות" + }, + "CHECKBOX": { + "YES": "כן", + "NO": "לא" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "שדרג עכשיו", + "CANCEL_ANYTIME": "תוכל לשנות או לבטל את התוכנית שלך בכל עת" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "אנא פנה למנהל המערכת שלך לצורך השדרוג." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "אה הו! לא הצלחנו למצוא חשבונות Chatwoot. נא ליצור חשבון חדש כדי להמשיך.", "NEW_ACCOUNT": "חשבון חדש", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "צור מדיניות", "API": { "SUCCESS_MESSAGE": "מדיניות ההקצאה נוצרה בהצלחה", - "ERROR_MESSAGE": "יצירת מדיניות ההקצאה נכשלה" + "ERROR_MESSAGE": "יצירת מדיניות ההקצאה נכשלה", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "המשך", "CANCEL_BUTTON_LABEL": "ביטול" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "מדיניות ההקצאה עודכנה בהצלחה", "ERROR_MESSAGE": "עדכון מדיניות ההקצאה נכשל" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "מאוזן", - "DESCRIPTION": "הקצה שיחות על בסיס קיבולת זמינה." + "DESCRIPTION": "הקצה שיחות על בסיס קיבולת זמינה.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "הסוכן הוסר מהמדיניות בהצלחה", "ERROR_MESSAGE": "הסרת הסוכן מהמדיניות נכשלה" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/he/signup.json b/app/javascript/dashboard/i18n/locale/he/signup.json index 0755f7768..702b7be96 100644 --- a/app/javascript/dashboard/i18n/locale/he/signup.json +++ b/app/javascript/dashboard/i18n/locale/he/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "צור חשבון", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "הירשם", "TESTIMONIAL_HEADER": "כל מה שצריך זה צעד אחד כדי להתקדם", "TESTIMONIAL_CONTENT": "אתה במרחק צעד אחד מלהפעיל את הלקוחות שלך, לשמר אותם ולמצוא חדשים.", diff --git a/app/javascript/dashboard/i18n/locale/he/sla.json b/app/javascript/dashboard/i18n/locale/he/sla.json index 5bc4a25de..ad95b92fa 100644 --- a/app/javascript/dashboard/i18n/locale/he/sla.json +++ b/app/javascript/dashboard/i18n/locale/he/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "צור מדיניות SLA חדשה", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "למד עוד על SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "מאחזר SLA", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "שדרג כדי ליצור SLA", "AVAILABLE_ON": "תכונת SLA זמינה רק בתוכניות Business ו-Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "אין SLA זמין בחשבון זה.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "בעיות שהועלו על ידי לקוחות Enterprise, הדורשות תשומת לב מיידית.", "TITLE_2": "Enterprise P1", "DESC_2": "בעיות שהועלו על ידי לקוחות Enterprise, שיש לאשר במהירות." }, - "BUSINESS_HOURS_ON": "שעות פעילות מופעלות", - "BUSINESS_HOURS_OFF": "שעות פעילות מושבתות", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "סף זמן תגובה ראשונה", "NRT": "סף זמן תגובה הבאה", diff --git a/app/javascript/dashboard/i18n/locale/he/snooze.json b/app/javascript/dashboard/i18n/locale/he/snooze.json new file mode 100644 index 000000000..358275d42 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/he/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "דקות", + "HOUR": "hour", + "HOURS": "שעות", + "DAY": "יום", + "DAYS": "ימים", + "WEEK": "יום", + "WEEKS": "weeks", + "MONTH": "שבוע", + "MONTHS": "months", + "YEAR": "חודש", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "מחר", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "שבוע הבא", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "מתוך", + "AFTER": "after", + "WEEK": "יום", + "DAY": "יום" + } +} diff --git a/app/javascript/dashboard/i18n/locale/he/teamsSettings.json b/app/javascript/dashboard/i18n/locale/he/teamsSettings.json index 16785a0b7..3fdaa1e68 100644 --- a/app/javascript/dashboard/i18n/locale/he/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/he/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "מאחזר צוותים", "DESCRIPTION": "צוותים מאפשרים לך לארגן סוכנים לקבוצות על בסיס תחומי האחריות שלהם. סוכן יכול להשתייך למספר צוותים. בעבודה שיתופית, תוכל להקצות שיחות לצוותים ספציפיים.", "LEARN_MORE": "למד עוד על צוותים", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "חפש צוותים...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "לא נוצרו צוותים בחשבון זה.", "EDIT_TEAM": "ערוך צוות", @@ -65,7 +68,7 @@ }, "AGENTS": { "AGENT": "סוכן", - "EMAIL": "מייל", + "EMAIL": "אימייל", "BUTTON_TEXT": "הוסף נציגים", "ADD_AGENTS": "הוספת סוכנים לצוות שלך...", "SELECT": "בחר", diff --git a/app/javascript/dashboard/i18n/locale/hi/agentBots.json b/app/javascript/dashboard/i18n/locale/hi/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/hi/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/hi/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hi/agentMgmt.json b/app/javascript/dashboard/i18n/locale/hi/agentMgmt.json index a1356f425..c90a429aa 100644 --- a/app/javascript/dashboard/i18n/locale/hi/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/hi/automation.json b/app/javascript/dashboard/i18n/locale/hi/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/hi/automation.json +++ b/app/javascript/dashboard/i18n/locale/hi/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/hi/bulkActions.json b/app/javascript/dashboard/i18n/locale/hi/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/hi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hi/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/hi/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/hi/cannedMgmt.json index 3bc60c569..05c05c0c6 100644 --- a/app/javascript/dashboard/i18n/locale/hi/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/hi/chatlist.json b/app/javascript/dashboard/i18n/locale/hi/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/hi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hi/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json index cd188d027..b69f88a97 100644 --- a/app/javascript/dashboard/i18n/locale/hi/contact.json +++ b/app/javascript/dashboard/i18n/locale/hi/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/hi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/hi/customRole.json b/app/javascript/dashboard/i18n/locale/hi/customRole.json index 1f397424d..6c9b164fc 100644 --- a/app/javascript/dashboard/i18n/locale/hi/customRole.json +++ b/app/javascript/dashboard/i18n/locale/hi/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/hi/datePicker.json b/app/javascript/dashboard/i18n/locale/hi/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/hi/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/hi/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/hi/general.json b/app/javascript/dashboard/i18n/locale/hi/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/hi/general.json +++ b/app/javascript/dashboard/i18n/locale/hi/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/hi/generalSettings.json b/app/javascript/dashboard/i18n/locale/hi/generalSettings.json index 5f278fef9..e97d8bc55 100644 --- a/app/javascript/dashboard/i18n/locale/hi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hi/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json index 328ab88f4..e7384d963 100644 --- a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json index e4acfe9a0..e9591e182 100644 --- a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/hi/integrationApps.json b/app/javascript/dashboard/i18n/locale/hi/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/hi/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/hi/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/hi/integrations.json b/app/javascript/dashboard/i18n/locale/hi/integrations.json index c4d915418..90a04a797 100644 --- a/app/javascript/dashboard/i18n/locale/hi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hi/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/hi/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/hi/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/hi/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hi/macros.json b/app/javascript/dashboard/i18n/locale/hi/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/hi/macros.json +++ b/app/javascript/dashboard/i18n/locale/hi/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/hi/mfa.json b/app/javascript/dashboard/i18n/locale/hi/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/hi/mfa.json +++ b/app/javascript/dashboard/i18n/locale/hi/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/hi/report.json b/app/javascript/dashboard/i18n/locale/hi/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/hi/report.json +++ b/app/javascript/dashboard/i18n/locale/hi/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json index 6b94a34f1..805ffee46 100644 --- a/app/javascript/dashboard/i18n/locale/hi/settings.json +++ b/app/javascript/dashboard/i18n/locale/hi/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hi/signup.json b/app/javascript/dashboard/i18n/locale/hi/signup.json index aa96873e1..746ca0999 100644 --- a/app/javascript/dashboard/i18n/locale/hi/signup.json +++ b/app/javascript/dashboard/i18n/locale/hi/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/hi/sla.json b/app/javascript/dashboard/i18n/locale/hi/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/hi/sla.json +++ b/app/javascript/dashboard/i18n/locale/hi/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/hi/snooze.json b/app/javascript/dashboard/i18n/locale/hi/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/hi/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/hi/teamsSettings.json b/app/javascript/dashboard/i18n/locale/hi/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/hi/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/hi/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/hr/agentBots.json b/app/javascript/dashboard/i18n/locale/hr/agentBots.json index 545a7a57e..018cfee80 100644 --- a/app/javascript/dashboard/i18n/locale/hr/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/hr/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Otvaranje Editora...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Dohvat Botova...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Radnje" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hr/agentMgmt.json b/app/javascript/dashboard/i18n/locale/hr/agentMgmt.json index ba6eceeda..87d8fe921 100644 --- a/app/javascript/dashboard/i18n/locale/hr/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/hr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hr/attributesMgmt.json index 2add7c435..ea593f67f 100644 --- a/app/javascript/dashboard/i18n/locale/hr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/hr/automation.json b/app/javascript/dashboard/i18n/locale/hr/automation.json index 6172de951..95d4d7b10 100644 --- a/app/javascript/dashboard/i18n/locale/hr/automation.json +++ b/app/javascript/dashboard/i18n/locale/hr/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Ime", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Radnje" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Promjena prioriteta", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Otvori razgovor" + "OPEN_CONVERSATION": "Otvori razgovor", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/hr/bulkActions.json b/app/javascript/dashboard/i18n/locale/hr/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/hr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hr/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/hr/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/hr/cannedMgmt.json index 48a5f1137..93a70501d 100644 --- a/app/javascript/dashboard/i18n/locale/hr/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Saznajte više o unaprijed pripremljenim odgovorima", "DESCRIPTION": "Unaprijed pripremljeni odgovori su već napisani predlošci za odgovore koji vam pomažu da brzo odgovorite na razgovor. Agenti mogu upisati znak '/' nakon kojeg slijedi kratki kod za umetanje unaprijed pripremljenog odgovora tijekom razgovora.", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Ne postoji rezultat za zadano pretraživanje.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/hr/chatlist.json b/app/javascript/dashboard/i18n/locale/hr/chatlist.json index 1625c714e..f3db115ad 100644 --- a/app/javascript/dashboard/i18n/locale/hr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hr/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/hr/contact.json b/app/javascript/dashboard/i18n/locale/hr/contact.json index 759e700e6..f8386b234 100644 --- a/app/javascript/dashboard/i18n/locale/hr/contact.json +++ b/app/javascript/dashboard/i18n/locale/hr/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/hr/conversation.json b/app/javascript/dashboard/i18n/locale/hr/conversation.json index d14f64b2d..4a5e6cdde 100644 --- a/app/javascript/dashboard/i18n/locale/hr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hr/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Predlošci" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Odustani", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/hr/customRole.json b/app/javascript/dashboard/i18n/locale/hr/customRole.json index f6a41cc62..ea2e4e739 100644 --- a/app/javascript/dashboard/i18n/locale/hr/customRole.json +++ b/app/javascript/dashboard/i18n/locale/hr/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Ne postoji rezultat za zadano pretraživanje.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/hr/datePicker.json b/app/javascript/dashboard/i18n/locale/hr/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/hr/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/hr/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/hr/general.json b/app/javascript/dashboard/i18n/locale/hr/general.json index 46c9a4ebd..86fd8676b 100644 --- a/app/javascript/dashboard/i18n/locale/hr/general.json +++ b/app/javascript/dashboard/i18n/locale/hr/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/hr/generalSettings.json b/app/javascript/dashboard/i18n/locale/hr/generalSettings.json index 29f00256e..3e62ba3a5 100644 --- a/app/javascript/dashboard/i18n/locale/hr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hr/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json index 77200354c..bb66783bf 100644 --- a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json index 1576edc83..fc52a8bb9 100644 --- a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Centar za pomoć", "PLACEHOLDER": "Odaberi centar za pomoć", "SELECT_PLACEHOLDER": "Odaberi centar za pomoć", + "NONE": "None", "REMOVE": "Makni Centar za Pomoć", "SUB_TEXT": "Pridruži Centar za Pomoć inbox-u" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Odustani", + "CONFIRM_DELETE": "Izbriši", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Čavrljajte s nama", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Čavrljajte s nama" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Obično odgovara za nekoliko minuta", diff --git a/app/javascript/dashboard/i18n/locale/hr/integrationApps.json b/app/javascript/dashboard/i18n/locale/hr/integrationApps.json index 44200fb70..32c6c380c 100644 --- a/app/javascript/dashboard/i18n/locale/hr/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/hr/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Radnje", "DELETE": { "BUTTON_TEXT": "Izbriši" } diff --git a/app/javascript/dashboard/i18n/locale/hr/integrations.json b/app/javascript/dashboard/i18n/locale/hr/integrations.json index 44b906008..5a2822b54 100644 --- a/app/javascript/dashboard/i18n/locale/hr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hr/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Odustani", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Izbriši", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesionalno", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Prijateljski" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Ime", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Radnje" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/hr/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/hr/labelsMgmt.json index 78489efb4..7b1347730 100644 --- a/app/javascript/dashboard/i18n/locale/hr/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Ime", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Radnje" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hr/macros.json b/app/javascript/dashboard/i18n/locale/hr/macros.json index 0334a5a45..bb81f8cb9 100644 --- a/app/javascript/dashboard/i18n/locale/hr/macros.json +++ b/app/javascript/dashboard/i18n/locale/hr/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Ime", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Radnje" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/hr/mfa.json b/app/javascript/dashboard/i18n/locale/hr/mfa.json index 6ecba6b70..8201b7be6 100644 --- a/app/javascript/dashboard/i18n/locale/hr/mfa.json +++ b/app/javascript/dashboard/i18n/locale/hr/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/hr/report.json b/app/javascript/dashboard/i18n/locale/hr/report.json index c31c93369..f9fa93091 100644 --- a/app/javascript/dashboard/i18n/locale/hr/report.json +++ b/app/javascript/dashboard/i18n/locale/hr/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Dodaj filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Dodaj filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Tim" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Odustani", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/hr/settings.json b/app/javascript/dashboard/i18n/locale/hr/settings.json index fc1420e0e..319481096 100644 --- a/app/javascript/dashboard/i18n/locale/hr/settings.json +++ b/app/javascript/dashboard/i18n/locale/hr/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Prenosim...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Pročitaj članke", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Naplata", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Odustani" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "Novi račun", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Odustani" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hr/signup.json b/app/javascript/dashboard/i18n/locale/hr/signup.json index 9b2ff2cf1..ee8f92d85 100644 --- a/app/javascript/dashboard/i18n/locale/hr/signup.json +++ b/app/javascript/dashboard/i18n/locale/hr/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/hr/sla.json b/app/javascript/dashboard/i18n/locale/hr/sla.json index 126e93d17..2b5679ab8 100644 --- a/app/javascript/dashboard/i18n/locale/hr/sla.json +++ b/app/javascript/dashboard/i18n/locale/hr/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/hr/snooze.json b/app/javascript/dashboard/i18n/locale/hr/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/hr/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/hr/teamsSettings.json b/app/javascript/dashboard/i18n/locale/hr/teamsSettings.json index c27ffe9b7..ebcbb0b6a 100644 --- a/app/javascript/dashboard/i18n/locale/hr/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/hr/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-pošta", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/hu/agentBots.json b/app/javascript/dashboard/i18n/locale/hu/agentBots.json index 9e01f7629..12e650448 100644 --- a/app/javascript/dashboard/i18n/locale/hu/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/hu/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Szerkesztő betöltése...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Rendszer", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Botok hívása...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Műveletek" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hu/agentMgmt.json b/app/javascript/dashboard/i18n/locale/hu/agentMgmt.json index 75eb07d74..d4b9d6295 100644 --- a/app/javascript/dashboard/i18n/locale/hu/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Adminisztrátor", "AGENT": "Ügynök" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Ehhez a fiókhoz nincs ügynök rendelve", "TITLE": "A csapatod ügynökeinek kezelése", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nem sikerült csatlakozni a Woot szerverhez, kérjük próbáld később" } }, + "SEARCH_PLACEHOLDER": "Ügynökök keresése...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nincs találat." }, diff --git a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json index 054e778a8..79373d986 100644 --- a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Vonzó egyedi tulajdonság", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Tulajdonságok keresése...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Beszélgetés", "CONTACT": "Kontakt" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/hu/automation.json b/app/javascript/dashboard/i18n/locale/hu/automation.json index a75c77e6b..bdd2d6cd8 100644 --- a/app/javascript/dashboard/i18n/locale/hu/automation.json +++ b/app/javascript/dashboard/i18n/locale/hu/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatizáció", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Automatikus szabály hozzáadása", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Automatizálási szabályok betöltése", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Automatikus szabály hozzáadása", "SUBMIT": "Létrehozás", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Név", - "DESCRIPTION": "Leírás", "ACTIVE": "Aktív", - "CREATED_ON": "Létrehozva" + "CREATED_ON": "Létrehozva", + "ACTIONS": "Műveletek" }, "404": "Nem található automatizált szabály" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Prioritás megváltoztatása", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Beszélgetés megnyitása" + "OPEN_CONVERSATION": "Beszélgetés megnyitása", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/hu/bulkActions.json b/app/javascript/dashboard/i18n/locale/hu/bulkActions.json index 569388e34..b9fa2ebed 100644 --- a/app/javascript/dashboard/i18n/locale/hu/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hu/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Beszélgetés státusza sikeresen frissítve ", "UPDATE_FAILED": "Nem sikerült frissíteni a beszélgetéseket. Kérjük, próbálja újra." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Címkék hozzárendelése", "NO_LABELS_FOUND": "Nem találtunk címkét", diff --git a/app/javascript/dashboard/i18n/locale/hu/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/hu/cannedMgmt.json index 727b87662..ff1c8ecf7 100644 --- a/app/javascript/dashboard/i18n/locale/hu/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Mentett válaszok", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Sablon válasz hozzáadása", "LOADING": "Sablon válaszok lekérése...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Nincs megfelelő elem.", "LIST": { "404": "Nincs megfelelő mentett válasz ebben a fiókban.", diff --git a/app/javascript/dashboard/i18n/locale/hu/chatlist.json b/app/javascript/dashboard/i18n/locale/hu/chatlist.json index 07be33a51..5dffe7d1c 100644 --- a/app/javascript/dashboard/i18n/locale/hu/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hu/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Függőben lévő válasz: Legrövidebb először" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json index 1c4437b06..0ef163f1e 100644 --- a/app/javascript/dashboard/i18n/locale/hu/contact.json +++ b/app/javascript/dashboard/i18n/locale/hu/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Nincs a keresésnek megfelelő kontakt 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Cimke hozzáadása", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Ide:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Tárgy :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Másolat:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Titkos másolat:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Titkos másolat" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json index 715f04a41..91e21e8df 100644 --- a/app/javascript/dashboard/i18n/locale/hu/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Ez az üzenet nem támogatott. Ezt az üzenetet a Facebook Messenger alkalmazásban tekintheti meg.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ez az üzenet nem támogatott. Ezt az üzenetet az Instagram alkalmazásban tekintheti meg.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Üzenet törölve", "FAIL_DELETE_MESSSAGE": "Nem tudtad törölni az üzenetet! Próbáld újra", "NO_RESPONSE": "Nincs válasz", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nem sikerült hozzárendelni címkét. Kérlek, próbáld újra." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Nem sikerült hozzárendelni csoporthoz. Kérlek, próbáld újra." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Aláírás kikapcsolása", "MSG_INPUT": "Shift + enter új sorért. Kezdj a '/'-el mentett válasz kiválasztásához.", "PRIVATE_MSG_INPUT": "Shift + enter új sorért. Ezt csak ügynökök láthatják", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Üzenet aláírása nem változott, kérlek, változtasd meg a profilod beállításaiban. ", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Frissítéshez kattints ide", "WHATSAPP_TEMPLATES": "Whatsapp sablonok" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Helyezd ide a csatolmányt", "START_AUDIO_RECORDING": "Hangfelvétel indítása", "STOP_AUDIO_RECORDING": "Hangfelvétel leállítása", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "Címzett", "ADD_BCC": "Titkos másolat hozzáadása", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "A file mérete meghaladja a {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} limitet", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nem tudsz üzenetet küldeni, kérlek, próbáld újra", "SENT_BY": "Küldő:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nem sikerült elküldeni az üzenetet! Próbáld újra.", "TRY_AGAIN": "újra", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Mégse", "SEND_EMAIL_SUCCESS": "A beszélgetés jegyzet sikeresen elküldve", "SEND_EMAIL_ERROR": "Hiba történt, kérjük próbáld újra", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "A beszélgetés jegyzet elküldése az ügyfélnek", "SEND_TO_AGENT": "A beszélgetés jegyzet elküldése a hozzárendelt ügynöknek", diff --git a/app/javascript/dashboard/i18n/locale/hu/customRole.json b/app/javascript/dashboard/i18n/locale/hu/customRole.json index 352bc3d75..178a1b3c4 100644 --- a/app/javascript/dashboard/i18n/locale/hu/customRole.json +++ b/app/javascript/dashboard/i18n/locale/hu/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Nincs megfelelő elem.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/hu/datePicker.json b/app/javascript/dashboard/i18n/locale/hu/datePicker.json index 8bdfab28b..04cc6a9d1 100644 --- a/app/javascript/dashboard/i18n/locale/hu/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/hu/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Alkalmaz", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Elmúlt 3 hónapban", "LAST_6_MONTHS": "Elmúlt 6 hónapban", "LAST_YEAR": "Elmúlt 1 évben", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Egyedi időszak" } } diff --git a/app/javascript/dashboard/i18n/locale/hu/general.json b/app/javascript/dashboard/i18n/locale/hu/general.json index 6f066181d..0ba3d5f3a 100644 --- a/app/javascript/dashboard/i18n/locale/hu/general.json +++ b/app/javascript/dashboard/i18n/locale/hu/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Bezárás", "BETA": "Béta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Igen", + "NO": "Nem" } } diff --git a/app/javascript/dashboard/i18n/locale/hu/generalSettings.json b/app/javascript/dashboard/i18n/locale/hu/generalSettings.json index 83e2e727e..fe041fecb 100644 --- a/app/javascript/dashboard/i18n/locale/hu/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hu/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Keresés vagy ugrás ide:", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Általános", "REPORTS": "Jelentések", diff --git a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json index 13cd495b1..2f06635db 100644 --- a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Hiba a cikk törlésekor" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Kérjük, adj hozzá a cikk címét és tartalmát, ezután csak Te tudod majd frissíteni a beállításokat" }, diff --git a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json index 1ed0d14dd..29ebdf544 100644 --- a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Fiókok", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Csak a konfigurált cégnevet használja feladói névként az e-mail fejlécében." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "Üzleti nevének konfigurálása", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Adja meg vállalkozásának nevét", "SAVE_BUTTON_TEXT": "Mentés" } @@ -589,8 +592,10 @@ "DISABLED": "Letiltva" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Engedélyezve", - "DISABLED": "Letiltva" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Engedélyezés" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Az ügynök nevének megjelenítésének engedélyezése/letiltása az e-mailben, ha le van tiltva, akkor a cég neve jelenik meg", "ENABLE_CONTINUITY_VIA_EMAIL": "Beszélgetés folytatásának engedélyezése emailen keresztül", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "A beszélgetések e-mailben folytatódnak, ha elérhető a kapcsolattartási e-mail cím.", - "LOCK_TO_SINGLE_CONVERSATION": "Egyetlen beszélgetés zárolása", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Több beszélgetés engedélyezése vagy letiltása ugyanahhoz a névjegyhez ebben a postafiókban", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Fiókbeállítások", "INBOX_UPDATE_SUB_TEXT": "Frissítsd az inbox beállításaidat", "AUTO_ASSIGNMENT_SUB_TEXT": "Bekapcsolása vagy kikapcsolása az inboxhoz kapcsolódó automatikus ügynökhozzárendelésnek új beszélgetések esetén.", @@ -758,6 +765,7 @@ "LABEL": "Súgóközpont", "PLACEHOLDER": "Súgóközpont kiválasztása", "SELECT_PLACEHOLDER": "Súgóközpont kiválasztása", + "NONE": "Nincs", "REMOVE": "Súgóközpont eltávolítása", "SUB_TEXT": "Súgóközpont csatolása a fiókhoz" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Kérlek 0-nál magasabb értéket adj meg", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Korlátozza az ebből a postafiókból érkező beszélgetések maximális számát, amelyek automatikusan hozzárendelhetők egy ügynökhöz" }, + "ASSIGNMENT": { + "TITLE": "Beszélgetés hozzárendelés", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktív", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Mégse", + "CONFIRM_DELETE": "Törlés", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Újraengedélyezés", "SUBTITLE": "A Facebook kapcsolatod lejárt, kérjük kapcsold össze oldalad újra a szolgáltatás folytatásához", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Visszaugrás" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Nem elérhető üzenetek a vendégek számára", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Nap", + "AVAILABILITY": "Elérhetőség", + "HOURS": "Hours", "ENABLE": "Elérhetőség bekapcsolása erre a napra", "UNAVAILABLE": "Nem elérhető", - "HOURS": "óra", "VALIDATION_ERROR": "A kezés idejének a zárás ideje előttinek kell lennie.", "CHOOSE": "Kiválasztás" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Egy napon belül" }, "WIDGET_COLOR_LABEL": "Widget szín", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget buborék pozíciója", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget buborék típusa", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Típus:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chatelj velünk", - "LABEL": "Widget buborék indító címe", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chatelj velünk" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Alapértelmezett", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Néhány percen belül válaszol", diff --git a/app/javascript/dashboard/i18n/locale/hu/integrationApps.json b/app/javascript/dashboard/i18n/locale/hu/integrationApps.json index 455dadd2d..4b397270b 100644 --- a/app/javascript/dashboard/i18n/locale/hu/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/hu/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Integrációk lekérése", "NO_HOOK_CONFIGURED": "Ebben a fiókban nincs beállítva {integrationId} integráció", "HEADER": "Alkalmazások", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Engedélyezve", "DISABLED": "Letiltva" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Integrációs hookok betöltése", "INBOX": "Fiók", + "ACTIONS": "Műveletek", "DELETE": { "BUTTON_TEXT": "Törlés" } diff --git a/app/javascript/dashboard/i18n/locale/hu/integrations.json b/app/javascript/dashboard/i18n/locale/hu/integrations.json index 80552228b..2f75d7f62 100644 --- a/app/javascript/dashboard/i18n/locale/hu/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hu/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Feliratkozott események", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Mégse", "DESC": "Webhook események valós idejű információt adnak arról, hogy mi történik a Chatwoot fiókodban. Kérünk a visszahívás beállításánál egy helyes URL-t adj meg.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Törlés", "DELETE_CONFIRMATION": { "TITLE": "Az integráció törlése", @@ -145,7 +160,29 @@ "EXPAND": "Kiegészítés", "MAKE_FRIENDLY": "Legyen személyes hangvételű", "MAKE_FORMAL": "Legyen hivatalos hangvételű", - "SIMPLIFY": "Egyszerűsít" + "SIMPLIFY": "Egyszerűsít", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professzionális", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Barátságos" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Vázlatos szöveg", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Irányítópult-alkalmazások

Az irányítópult-alkalmazások segítségével a szervezetek beágyazhatnak egy alkalmazást a Chatwoot irányítópultjába, hogy kontextust biztosítsanak az ügyfélszolgálati ügynökök számára. Ezzel a funkcióval önállóan hozhat létre alkalmazást, és beágyazhatja azt az irányítópultba, hogy megadja a felhasználói információkat, rendeléseiket vagy korábbi fizetési előzményeiket.

Ha beágyazza alkalmazását a Chatwoot irányítópultjával, az alkalmazás ablakeseményként kapja meg a beszélgetés és a kapcsolatfelvétel kontextusát. Helyezzen el egy figyelőt az üzeneteseményhez az oldalon, hogy megkapja a kontextust.

Új irányítópult-alkalmazás hozzáadásához kattintson az „Új irányítópult-alkalmazás hozzáadása” gombra.

", "DESCRIPTION": "Az irányítópult-alkalmazások segítségével a szervezetek beágyazhatnak egy alkalmazást az irányítópultba, hogy kontextust biztosítsanak az ügyfélszolgálati ügynökök számára. Ez a funkció lehetővé teszi, hogy önállóan hozzon létre egy alkalmazást, és beágyazza azt, hogy megadja a felhasználói információkat, rendeléseiket vagy korábbi fizetési előzményeiket.\n", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Ebben a fiókban még nincsenek konfigurálva kezdőlapi-alkalmazások", "LOADING": "Kezdőlapi alkalmazások lekérése...", "TABLE_HEADER": { "NAME": "Név", - "ENDPOINT": "Végpont" + "ENDPOINT": "Végpont", + "ACTIONS": "Műveletek" }, "EDIT_TOOLTIP": "App szerkesztése", "DELETE_TOOLTIP": "App törlése" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/hu/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/hu/labelsMgmt.json index a3ca1b33d..e4ee526a0 100644 --- a/app/javascript/dashboard/i18n/locale/hu/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Cimkék letöltése", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Címkék keresése...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Nincs megfelelő elem", "LIST": { "404": "Nincs megfelelő cimke ebben a fiókban.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Név", "DESCRIPTION": "Leírás", - "COLOR": "Szín" + "COLOR": "Szín", + "ACTION": "Műveletek" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hu/macros.json b/app/javascript/dashboard/i18n/locale/hu/macros.json index 3c8d0e930..3e3facdb8 100644 --- a/app/javascript/dashboard/i18n/locale/hu/macros.json +++ b/app/javascript/dashboard/i18n/locale/hu/macros.json @@ -3,9 +3,12 @@ "HEADER": "Makrók", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Új makró hozzáadása", "HEADER_BTN_TXT_SAVE": "Makró mentése", "LOADING": "Makrók lekérdezése", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Valami elromlott, kérjük töltsd próbáld újra", "ORDER_INFO": "A makrók a műveletek hozzáadásának sorrendjében fognak futni. A makrókat áthúzással át tudod rendezni.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Név", "CREATED BY": "Létrehozta", "LAST_UPDATED_BY": "Utoljára szerkesztette:", - "VISIBILITY": "Láthatóság" + "VISIBILITY": "Láthatóság", + "ACTIONS": "Műveletek" }, "404": "Nem találtunk makrót" }, diff --git a/app/javascript/dashboard/i18n/locale/hu/mfa.json b/app/javascript/dashboard/i18n/locale/hu/mfa.json index 479656236..1117ec281 100644 --- a/app/javascript/dashboard/i18n/locale/hu/mfa.json +++ b/app/javascript/dashboard/i18n/locale/hu/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/hu/report.json b/app/javascript/dashboard/i18n/locale/hu/report.json index 45e014b95..2595a0a5b 100644 --- a/app/javascript/dashboard/i18n/locale/hu/report.json +++ b/app/javascript/dashboard/i18n/locale/hu/report.json @@ -3,7 +3,7 @@ "HEADER": "Beszélgetések", "LOADING_CHART": "Táblázat adatok betöltése...", "NO_ENOUGH_DATA": "Nem érkezett elég adat hogy jelentést generáljunk, kérjük próbáld később.", - "DOWNLOAD_AGENT_REPORTS": "Ügynök jelentések letöltése", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Sikertelen adatlekérés, kérlek próbáld újra később.", "SUMMARY_FETCHING_FAILED": "Sikertelen összefoglaló lekérés, kérlek próbáld újra később.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Ügynök áttekintés", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Táblázat adatok betöltése...", "NO_ENOUGH_DATA": "Nem érkezett elég adat hogy jelentést generáljunk, kérjük próbáld később.", "DOWNLOAD_AGENT_REPORTS": "Ügynök jelentések letöltése", "FILTER_DROPDOWN_LABEL": "Ügynök kiválasztása", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Ügynökök keresése" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Beszélgetések", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Nem érkezett elég adat hogy jelentést generáljunk, kérjük próbáld később.", "DOWNLOAD_LABEL_REPORTS": "Címkejelentések letöltése", "FILTER_DROPDOWN_LABEL": "Cimke választása", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Címkék keresése" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Beszélgetések", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Válassz egy fiókot", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Beszélgetések", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Csapat áttekintés", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Táblázat adatok betöltése...", "NO_ENOUGH_DATA": "Nem érkezett elég adat hogy jelentést generáljunk, kérjük próbáld később.", "DOWNLOAD_TEAM_REPORTS": "Csapat riport letöltése", "FILTER_DROPDOWN_LABEL": "Csapat kiválasztása", + "FILTERS": { + "ADD_FILTER": "Szűrő hozzáadása", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Csapatok keresése" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Beszélgetések", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT riportok", - "NO_RECORDS": "Nem állnak rendelkezésre CSAT-felmérés válaszai.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "CSAT jelentés letöltése", "DOWNLOAD_FAILED": "Sikertelen a CSAT jelentés letöltése", "FILTERS": { + "ADD_FILTER": "Szűrő hozzáadása", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Ügynökök keresése", + "INBOXES": "Search inboxes", + "TEAMS": "Csapatok keresése", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Ügynökök választása" + "LABEL": "Ügynök" + }, + "INBOXES": { + "LABEL": "Fiók" + }, + "TEAMS": { + "LABEL": "Csapat" + }, + "RATINGS": { + "LABEL": "Értékelés" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontakt", - "AGENT_NAME": "Hozzárendelt ügynök", + "AGENT_NAME": "Ügynök", "RATING": "Értékelés", - "FEEDBACK_TEXT": "Visszajelző komment" - } + "FEEDBACK_TEXT": "Visszajelző komment", + "CONVERSATION": "Beszélgetés", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Összes válasz", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Válaszarány", "TOOLTIP": "Válaszok teljes száma / Az elküldött CSAT felmérési üzenetek teljes száma * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Mentés", + "CANCEL": "Mégse", + "SAVING": "Mentés...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json index b5e46e85c..4a530b0fc 100644 --- a/app/javascript/dashboard/i18n/locale/hu/settings.json +++ b/app/javascript/dashboard/i18n/locale/hu/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Letöltés", "UPLOADING": "Feltöltés...", - "INSTAGRAM_STORY_UNAVAILABLE": "Ez a story már nem érhető el." + "INSTAGRAM_STORY_UNAVAILABLE": "Ez a story már nem érhető el.", + "INSTAGRAM_STORY_REPLY": "Válaszolt a storydra:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Mutasd térképen" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Dokumentum olvasása", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Lehetőségek", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Számlázás", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Tulajdonságok keresése" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Beszélgetés megoldása", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Beszélgetés megoldása", + "CANCEL": "Mégse" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Igen", + "NO": "Nem" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uppsz! Nem találtunk egyetlen Chatwoot-fiókot sem. A folytatáshoz kérlek hozz létre egy új fiókot.", "NEW_ACCOUNT": "Új fiók", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Mégse" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hu/signup.json b/app/javascript/dashboard/i18n/locale/hu/signup.json index 01e0cfa50..c9f35486e 100644 --- a/app/javascript/dashboard/i18n/locale/hu/signup.json +++ b/app/javascript/dashboard/i18n/locale/hu/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Fiók létrehozása", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Regisztrálás", "TESTIMONIAL_HEADER": "Már csak egy lépés van hátra", "TESTIMONIAL_CONTENT": "Már csak egy lépésre vagy!", diff --git a/app/javascript/dashboard/i18n/locale/hu/sla.json b/app/javascript/dashboard/i18n/locale/hu/sla.json index 00f4ae872..64e56d2d8 100644 --- a/app/javascript/dashboard/i18n/locale/hu/sla.json +++ b/app/javascript/dashboard/i18n/locale/hu/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/hu/snooze.json b/app/javascript/dashboard/i18n/locale/hu/snooze.json new file mode 100644 index 000000000..25a940758 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/hu/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "óra", + "DAY": "nap", + "DAYS": "days", + "WEEK": "day", + "WEEKS": "weeks", + "MONTH": "week", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "holnap", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "jövő héten", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "day", + "DAY": "nap" + } +} diff --git a/app/javascript/dashboard/i18n/locale/hu/teamsSettings.json b/app/javascript/dashboard/i18n/locale/hu/teamsSettings.json index f6062b3e5..9704acfcf 100644 --- a/app/javascript/dashboard/i18n/locale/hu/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/hu/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Csapatok keresése...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Ebben a fiókban nincs csapat létrehozva.", "EDIT_TEAM": "Csapat szerkesztése", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nem sikerült a csapat részleteinek mentése. Kérjük próbáld újra." }, "AGENTS": { - "AGENT": "ÜGYNÖK", - "EMAIL": "EMAIL", + "AGENT": "Ügynök", + "EMAIL": "E-mail", "BUTTON_TEXT": "Ügynök Hozzádása", "ADD_AGENTS": "Ügynökök hozzáadása a csapathoz...", "SELECT": "kiválasztás", diff --git a/app/javascript/dashboard/i18n/locale/hy/agentBots.json b/app/javascript/dashboard/i18n/locale/hy/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/hy/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/hy/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hy/agentMgmt.json b/app/javascript/dashboard/i18n/locale/hy/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/hy/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/hy/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hy/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/hy/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/hy/automation.json b/app/javascript/dashboard/i18n/locale/hy/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/hy/automation.json +++ b/app/javascript/dashboard/i18n/locale/hy/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/hy/bulkActions.json b/app/javascript/dashboard/i18n/locale/hy/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/hy/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hy/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/hy/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/hy/cannedMgmt.json index 3bc60c569..05c05c0c6 100644 --- a/app/javascript/dashboard/i18n/locale/hy/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/hy/chatlist.json b/app/javascript/dashboard/i18n/locale/hy/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/hy/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/hy/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/hy/contact.json b/app/javascript/dashboard/i18n/locale/hy/contact.json index 5aa225446..6b1900def 100644 --- a/app/javascript/dashboard/i18n/locale/hy/contact.json +++ b/app/javascript/dashboard/i18n/locale/hy/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/hy/conversation.json b/app/javascript/dashboard/i18n/locale/hy/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/hy/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hy/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/hy/customRole.json b/app/javascript/dashboard/i18n/locale/hy/customRole.json index ca01a1eeb..3bdc371e4 100644 --- a/app/javascript/dashboard/i18n/locale/hy/customRole.json +++ b/app/javascript/dashboard/i18n/locale/hy/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/hy/datePicker.json b/app/javascript/dashboard/i18n/locale/hy/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/hy/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/hy/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/hy/general.json b/app/javascript/dashboard/i18n/locale/hy/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/hy/general.json +++ b/app/javascript/dashboard/i18n/locale/hy/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/hy/generalSettings.json b/app/javascript/dashboard/i18n/locale/hy/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/hy/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/hy/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json index 7aaed0119..eba31c982 100644 --- a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/hy/integrationApps.json b/app/javascript/dashboard/i18n/locale/hy/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/hy/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/hy/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/hy/integrations.json b/app/javascript/dashboard/i18n/locale/hy/integrations.json index 983953180..a1ce02d11 100644 --- a/app/javascript/dashboard/i18n/locale/hy/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hy/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/hy/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/hy/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/hy/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hy/macros.json b/app/javascript/dashboard/i18n/locale/hy/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/hy/macros.json +++ b/app/javascript/dashboard/i18n/locale/hy/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/hy/mfa.json b/app/javascript/dashboard/i18n/locale/hy/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/hy/mfa.json +++ b/app/javascript/dashboard/i18n/locale/hy/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/hy/report.json b/app/javascript/dashboard/i18n/locale/hy/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/hy/report.json +++ b/app/javascript/dashboard/i18n/locale/hy/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/hy/settings.json b/app/javascript/dashboard/i18n/locale/hy/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/hy/settings.json +++ b/app/javascript/dashboard/i18n/locale/hy/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/hy/signup.json b/app/javascript/dashboard/i18n/locale/hy/signup.json index f6a6e5b2b..fa4322493 100644 --- a/app/javascript/dashboard/i18n/locale/hy/signup.json +++ b/app/javascript/dashboard/i18n/locale/hy/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/hy/sla.json b/app/javascript/dashboard/i18n/locale/hy/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/hy/sla.json +++ b/app/javascript/dashboard/i18n/locale/hy/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/hy/snooze.json b/app/javascript/dashboard/i18n/locale/hy/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/hy/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/hy/teamsSettings.json b/app/javascript/dashboard/i18n/locale/hy/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/hy/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/hy/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/id/agentBots.json b/app/javascript/dashboard/i18n/locale/id/agentBots.json index e29fa8263..2639f67b0 100644 --- a/app/javascript/dashboard/i18n/locale/id/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/id/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Memuat editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Sistem", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "URL Webhook" + "URL": "URL Webhook", + "ACTIONS": "Aksi" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/id/agentMgmt.json b/app/javascript/dashboard/i18n/locale/id/agentMgmt.json index adcd0be5a..4296cb328 100644 --- a/app/javascript/dashboard/i18n/locale/id/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agen" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Tidak ada agen yang terkait dengan akun ini", "TITLE": "Kelola agen di tim Anda", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Tidak dapat terhubung ke Server Woot, Silahkan coba lagi nanti" } }, + "SEARCH_PLACEHOLDER": "Mencari Agen...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Tidak ada hasil ditemukan." }, diff --git a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json index d989c3a36..94eb27577 100644 --- a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Mengambil atribut kustom", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Cari atribut...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Percakapan", "CONTACT": "Kontak" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/id/automation.json b/app/javascript/dashboard/i18n/locale/id/automation.json index 155d75b84..8ff80ae93 100644 --- a/app/javascript/dashboard/i18n/locale/id/automation.json +++ b/app/javascript/dashboard/i18n/locale/id/automation.json @@ -3,8 +3,11 @@ "HEADER": "Otomatisasi", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Tambah Aturan Otomatisasi", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Mengambil aturan otomatisasi", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Tambah Aturan Otomatisasi", "SUBMIT": "Buat", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nama", - "DESCRIPTION": "Deskripsi", "ACTIVE": "Aktif", - "CREATED_ON": "Dibuat pada" + "CREATED_ON": "Dibuat pada", + "ACTIONS": "Aksi" }, "404": "Tidak ada aturan otomatisasi ditemukan" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Ubah Prioritas", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Buka percakapan" + "OPEN_CONVERSATION": "Buka percakapan", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/id/bulkActions.json b/app/javascript/dashboard/i18n/locale/id/bulkActions.json index 39f035d6f..9f397da6c 100644 --- a/app/javascript/dashboard/i18n/locale/id/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/id/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Status percakapan berhasil diperbarui.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Tidak ada label", diff --git a/app/javascript/dashboard/i18n/locale/id/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/id/cannedMgmt.json index 58f77c86b..5b2333c1d 100644 --- a/app/javascript/dashboard/i18n/locale/id/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Balasan Canned", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Tidak ada item yang cocok dengan kueri ini.", "LIST": { "404": "Tidak ada balasan canned yang tersedia di akun ini.", diff --git a/app/javascript/dashboard/i18n/locale/id/chatlist.json b/app/javascript/dashboard/i18n/locale/id/chatlist.json index cea5c7ea4..2d07bd509 100644 --- a/app/javascript/dashboard/i18n/locale/id/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/id/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json index 916235b12..dada842a7 100644 --- a/app/javascript/dashboard/i18n/locale/id/contact.json +++ b/app/javascript/dashboard/i18n/locale/id/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Tidak ada kontak yang cocok dengan pencarian Anda 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Tugaskan Label", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Kepada:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Masukkan subjek :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json index d64dd82b3..db4bd4c89 100644 --- a/app/javascript/dashboard/i18n/locale/id/conversation.json +++ b/app/javascript/dashboard/i18n/locale/id/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Pesan berhasil dihapus", "FAIL_DELETE_MESSSAGE": "Tidak dapat menghapus pesan! Coba lagi", "NO_RESPONSE": "Tidak ada respon", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Tidak dapat menugaskan label. Silakan coba lagi." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Tim \"{team}\" ditugaskan ke id percakapan {conversationId}", "FAILED": "Tidak dapat menugaskan tim. Silakan coba lagi." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Nonaktifkan tanda tangan", "MSG_INPUT": "Shift + enter untuk baris baru. Mulailah dengan '/' untuk memilih Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter untuk baris baru. Ini hanya akan terlihat oleh Agen", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Tanda tangan pesan tidak dikonfigurasi, harap konfigurasikan di pengaturan profil.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klik di sini untuk memperbarui", "WHATSAPP_TEMPLATES": "Templat Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Seret dan letakkan di sini untuk melampirkan", "START_AUDIO_RECORDING": "Mulai merekam audio", "STOP_AUDIO_RECORDING": "Berhenti merekam audio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "KEPADA", "ADD_BCC": "Tambahkan bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Lampiran melebihi batas ukuran {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Tidak dapat mengirim pesan ini, mohon coba lagi nanti", "SENT_BY": "Dikirim oleh:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Tidak dapat mengirim pesan! Coba lagi", "TRY_AGAIN": "coba lagi", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Batalkan", "SEND_EMAIL_SUCCESS": "Transkrip percakapan berhasil terkirim", "SEND_EMAIL_ERROR": "Terjadi kesalahan, mohon coba lagi", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Kirim transkrip ke pelanggan", "SEND_TO_AGENT": "Kirim transkrip dari agen yang ditugaskan", diff --git a/app/javascript/dashboard/i18n/locale/id/customRole.json b/app/javascript/dashboard/i18n/locale/id/customRole.json index bd2289327..4c9a7f38b 100644 --- a/app/javascript/dashboard/i18n/locale/id/customRole.json +++ b/app/javascript/dashboard/i18n/locale/id/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Tidak ada item yang cocok dengan kueri ini.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/id/datePicker.json b/app/javascript/dashboard/i18n/locale/id/datePicker.json index aaeaf7634..1ea450d80 100644 --- a/app/javascript/dashboard/i18n/locale/id/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/id/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Terapkan", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "3 bulan terakhir", "LAST_6_MONTHS": "6 bulan terakhir", "LAST_YEAR": "Tahun terakhir", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Rentang tanggal kustom" } } diff --git a/app/javascript/dashboard/i18n/locale/id/general.json b/app/javascript/dashboard/i18n/locale/id/general.json index b727db2c2..e540bd3b9 100644 --- a/app/javascript/dashboard/i18n/locale/id/general.json +++ b/app/javascript/dashboard/i18n/locale/id/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Tutup", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ya", + "NO": "Tidak" } } diff --git a/app/javascript/dashboard/i18n/locale/id/generalSettings.json b/app/javascript/dashboard/i18n/locale/id/generalSettings.json index e540e8ecb..b658fde0e 100644 --- a/app/javascript/dashboard/i18n/locale/id/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/id/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Cari atau loncat ke", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Umum", "REPORTS": "Laporan", diff --git a/app/javascript/dashboard/i18n/locale/id/helpCenter.json b/app/javascript/dashboard/i18n/locale/id/helpCenter.json index db4b51f74..40e1f1a9d 100644 --- a/app/javascript/dashboard/i18n/locale/id/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/id/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Terjadi kesalahan saat menghapus artikel" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Harap tambahkan tajuk artikel dan konten maka hanya Anda yang dapat memperbarui pengaturan" }, diff --git a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json index 92df9bee0..5d77c510c 100644 --- a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Kotak masuk", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Simpan" } @@ -589,8 +592,10 @@ "DISABLED": "Nonaktif" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Diaktifkan", - "DISABLED": "Nonaktif" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Aktifkan" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Aktifkan kontinuitas percakapan melalui email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Percakapan akan berlanjut melalui email jika alamat email kontak tersedia.", - "LOCK_TO_SINGLE_CONVERSATION": "Kunci ke satu percakapan", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Aktifkan atau nonaktifkan beberapa percakapan untuk kontak yang sama di kotak masuk ini", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Pengaturan Kotak Masuk", "INBOX_UPDATE_SUB_TEXT": "Perbarui pengaturan kotak masuk Anda", "AUTO_ASSIGNMENT_SUB_TEXT": "Mengaktifkan atau menonaktifkan penugasan otomatis percakapan baru ke agen yang ditambahkan ke kotak masuk ini.", @@ -758,6 +765,7 @@ "LABEL": "Pusat Bantuan", "PLACEHOLDER": "Pilih Pusat Bantuan", "SELECT_PLACEHOLDER": "Pilih Pusat Bantuan", + "NONE": "Tidak ada", "REMOVE": "Hapus Pusat Bantuan", "SUB_TEXT": "Lampirkan Pusat Bantuan dengan kotak masuk" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Harap masukkan nilai yang lebih besar dari 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Batasi jumlah maksimum percakapan dari kotak masuk ini yang dapat ditetapkan secara otomatis ke agen" }, + "ASSIGNMENT": { + "TITLE": "Tugas Percakapan", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktif", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Batalkan", + "CONFIRM_DELETE": "Hapus", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Otorisasi ulang", "SUBTITLE": "Koneksi Facebook Anda telah kedaluwarsa, hubungkan kembali halaman Facebook Anda untuk melanjutkan layanan", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Kembali" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Pesan tidak tersedia untuk pengunjung", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Hari", + "AVAILABILITY": "Ketersediaan", + "HOURS": "Hours", "ENABLE": "Aktifkan ketersediaan untuk hari ini", "UNAVAILABLE": "Tidak tersedia", - "HOURS": "jam", "VALIDATION_ERROR": "Waktu mulai harus sebelum waktu tutup.", "CHOOSE": "Pilih" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Dalam sehari" }, "WIDGET_COLOR_LABEL": "Warna Widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posisi Widget Gelembung", - "WIDGET_BUBBLE_TYPE_LABEL": "Jenis Gelembung Widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipe:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat dengan kami", - "LABEL": "Judul Widget Gelembung Launcher", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat dengan kami" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Biasanya membalas dalam beberapa menit", diff --git a/app/javascript/dashboard/i18n/locale/id/integrationApps.json b/app/javascript/dashboard/i18n/locale/id/integrationApps.json index efe3e43c9..007624afb 100644 --- a/app/javascript/dashboard/i18n/locale/id/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/id/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Mengambil Integrasi", "NO_HOOK_CONFIGURED": "Tidak ada integrasi {integrationId} yang dikonfigurasi di akun ini.", "HEADER": "Aplikasi", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Diaktifkan", "DISABLED": "Nonaktif" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Mengambil hook integrasi", "INBOX": "Kotak masuk", + "ACTIONS": "Aksi", "DELETE": { "BUTTON_TEXT": "Hapus" } diff --git a/app/javascript/dashboard/i18n/locale/id/integrations.json b/app/javascript/dashboard/i18n/locale/id/integrations.json index 965e4f351..76cbabb96 100644 --- a/app/javascript/dashboard/i18n/locale/id/integrations.json +++ b/app/javascript/dashboard/i18n/locale/id/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Acara Berlangganan", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Batalkan", "DESC": "Acara Webhook memberi Anda informasi realtime tentang apa yang terjadi di akun Chatwoot Anda. Harap masukkan URL yang valid untuk mengkonfigurasi callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Hapus", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Ramah" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplikasi Dasbor

Aplikasi Dasbor memungkinkan organisasi untuk menyematkan aplikasi di dalam dasbor Chatwoot untuk menyediakan konteks bagi agen dukungan pelanggan. Fitur ini memungkinkan Anda membuat aplikasi secara independen dan menyematkannya di dalam dasbor untuk menyediakan informasi pengguna, pesanan, atau riwayat pembayaran sebelumnya.

Ketika Anda menyematkan aplikasi Anda menggunakan dasbor di Chatwoot, aplikasi Anda akan mendapatkan konteks percakapan dan kontak sebagai acara window. Implementasikan penerima untuk acara pesan di halaman Anda untuk menerima konteks.

Untuk menambahkan aplikasi dasbor baru, klik tombol 'Tambahkan aplikasi dasbor baru'.

", "DESCRIPTION": "Aplikasi Dasbor memungkinkan organisasi untuk menyematkan aplikasi di dalam dasbor untuk menyediakan konteks bagi agen dukungan pelanggan. Fitur ini memungkinkan Anda membuat aplikasi secara independen dan menyematkannya untuk menyediakan informasi pengguna, pesanan, atau riwayat pembayaran sebelumnya.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Belum ada aplikasi dasbor yang dikonfigurasi untuk akun ini", "LOADING": "Mengambil aplikasi dasbor...", "TABLE_HEADER": { "NAME": "Nama", - "ENDPOINT": "Titik akhir" + "ENDPOINT": "Titik akhir", + "ACTIONS": "Aksi" }, "EDIT_TOOLTIP": "Edit aplikasi", "DELETE_TOOLTIP": "Hapus aplikasi" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/id/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/id/labelsMgmt.json index 133e3e54a..fa2dd52d9 100644 --- a/app/javascript/dashboard/i18n/locale/id/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Mengambil label", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Cari label...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Tidak ada item yang cocok dengan kueri ini", "LIST": { "404": "Tidak ada label yang tersedia di akun ini.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nama", "DESCRIPTION": "Deskripsi", - "COLOR": "Warna" + "COLOR": "Warna", + "ACTION": "Aksi" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/id/macros.json b/app/javascript/dashboard/i18n/locale/id/macros.json index 4d39b93d5..ff9b66392 100644 --- a/app/javascript/dashboard/i18n/locale/id/macros.json +++ b/app/javascript/dashboard/i18n/locale/id/macros.json @@ -3,9 +3,12 @@ "HEADER": "Makro", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Tambahkan makro baru", "HEADER_BTN_TXT_SAVE": "Simpan makro", "LOADING": "Mengambil makro", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Terjadi kesalahan. Silakan coba lagi", "ORDER_INFO": "Makro akan dijalankan sesuai dengan urutan penambahan tindakan-tindakan Anda. Anda dapat mengatur ulang tindakan-tindakan tersebut dengan menggesernya menggunakan pegangan di sebelah setiap node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nama", "CREATED BY": "Dibuat oleh", "LAST_UPDATED_BY": "Terakhir diperbarui oleh", - "VISIBILITY": "Visibilitas" + "VISIBILITY": "Visibilitas", + "ACTIONS": "Aksi" }, "404": "Tidak ditemukan makro" }, diff --git a/app/javascript/dashboard/i18n/locale/id/mfa.json b/app/javascript/dashboard/i18n/locale/id/mfa.json index dee8f80e1..9d89d2e8b 100644 --- a/app/javascript/dashboard/i18n/locale/id/mfa.json +++ b/app/javascript/dashboard/i18n/locale/id/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/id/report.json b/app/javascript/dashboard/i18n/locale/id/report.json index 35393f1da..bee3aa28b 100644 --- a/app/javascript/dashboard/i18n/locale/id/report.json +++ b/app/javascript/dashboard/i18n/locale/id/report.json @@ -3,7 +3,7 @@ "HEADER": "Percakapan", "LOADING_CHART": "Memuat data grafik...", "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", - "DOWNLOAD_AGENT_REPORTS": "Unduh laporan agen", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Gagal mengambil data, silakan coba lagi nanti.", "SUMMARY_FETCHING_FAILED": "Gagal mengambil ringkasan, silakan coba lagi nanti.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Gambaran Agen", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Memuat data grafik...", "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", "DOWNLOAD_AGENT_REPORTS": "Unduh laporan agen", "FILTER_DROPDOWN_LABEL": "Pilih Agen", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Mencari Agen" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", "DOWNLOAD_LABEL_REPORTS": "Unduh laporan label", "FILTER_DROPDOWN_LABEL": "Pilih label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Cari label" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Pilih kotak masuk", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Gambaran Tim", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Memuat data grafik...", "NO_ENOUGH_DATA": "Kami belum menerima cukup data untuk membuat laporan, Silakan coba lagi nanti.", "DOWNLOAD_TEAM_REPORTS": "Unduh laporan tim", "FILTER_DROPDOWN_LABEL": "Pilih Tim", + "FILTERS": { + "ADD_FILTER": "Tambah filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Mencari tim" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Percakapan", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Laporan CSAT", - "NO_RECORDS": "Tidak ada respons survey CSAT yang tersedia.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Unduh Laporan CSAT", "DOWNLOAD_FAILED": "Gagal mengunduh Laporan CSAT", "FILTERS": { + "ADD_FILTER": "Tambah filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Mencari Agen", + "INBOXES": "Search inboxes", + "TEAMS": "Mencari tim", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Pilih Agen" + "LABEL": "Agen" + }, + "INBOXES": { + "LABEL": "Kotak masuk" + }, + "TEAMS": { + "LABEL": "Tim" + }, + "RATINGS": { + "LABEL": "Penilaian" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontak", - "AGENT_NAME": "Agen yang ditugaskan", + "AGENT_NAME": "Agen", "RATING": "Peringkat", - "FEEDBACK_TEXT": "Komentar umpan balik" - } + "FEEDBACK_TEXT": "Komentar umpan balik", + "CONVERSATION": "Percakapan", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total respons", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Peringkat respons", "TOOLTIP": "Total jumlah respons / Total jumlah pesan survey CSAT yang terkirim * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Simpan", + "CANCEL": "Batalkan", + "SAVING": "Menyimpan...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json index efbc1930b..93bb7fb58 100644 --- a/app/javascript/dashboard/i18n/locale/id/settings.json +++ b/app/javascript/dashboard/i18n/locale/id/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Unduh", "UPLOADING": "Mengunggah...", - "INSTAGRAM_STORY_UNAVAILABLE": "Cerita ini tidak lagi tersedia." + "INSTAGRAM_STORY_UNAVAILABLE": "Cerita ini tidak lagi tersedia.", + "INSTAGRAM_STORY_REPLY": "Membalas cerita Anda:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Lihat di peta" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Baca dokumen", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Fitur", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Pembayaran", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Cari atribut" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Selesaikan percakapan", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Selesaikan percakapan", + "CANCEL": "Batalkan" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ya", + "NO": "Tidak" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! Kami tidak dapat menemukan akun Chatwoot apa pun. Harap buat akun baru untuk melanjutkan.", "NEW_ACCOUNT": "Akun Baru", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Batalkan" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/id/signup.json b/app/javascript/dashboard/i18n/locale/id/signup.json index dac2beec5..b580845a0 100644 --- a/app/javascript/dashboard/i18n/locale/id/signup.json +++ b/app/javascript/dashboard/i18n/locale/id/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Buat akun", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Daftar", "TESTIMONIAL_HEADER": "Hanya butuh satu langkah untuk maju", "TESTIMONIAL_CONTENT": "Anda hanya tinggal selangkah lagi untuk berinteraksi dengan pelanggan Anda, mempertahankan mereka, dan menemukan yang baru.", diff --git a/app/javascript/dashboard/i18n/locale/id/sla.json b/app/javascript/dashboard/i18n/locale/id/sla.json index 053d13498..2635f7bab 100644 --- a/app/javascript/dashboard/i18n/locale/id/sla.json +++ b/app/javascript/dashboard/i18n/locale/id/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/id/snooze.json b/app/javascript/dashboard/i18n/locale/id/snooze.json new file mode 100644 index 000000000..7b6703a08 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/id/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "jam", + "DAY": "hari", + "DAYS": "days", + "WEEK": "day", + "WEEKS": "weeks", + "MONTH": "week", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "besok", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "minggu depan", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "day", + "DAY": "hari" + } +} diff --git a/app/javascript/dashboard/i18n/locale/id/teamsSettings.json b/app/javascript/dashboard/i18n/locale/id/teamsSettings.json index 4894ecb07..cd551726d 100644 --- a/app/javascript/dashboard/i18n/locale/id/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/id/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Mencari tim...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Belum ada tim yang dibuat pada akun ini.", "EDIT_TEAM": "Edit Tim", diff --git a/app/javascript/dashboard/i18n/locale/is/agentBots.json b/app/javascript/dashboard/i18n/locale/is/agentBots.json index 3086c7959..31fe17975 100644 --- a/app/javascript/dashboard/i18n/locale/is/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/is/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Aðgerðir" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/is/agentMgmt.json b/app/javascript/dashboard/i18n/locale/is/agentMgmt.json index c782fa874..8eb017f11 100644 --- a/app/javascript/dashboard/i18n/locale/is/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Stjórnandi", "AGENT": "Þjónustufulltrúi" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Það eru engir þjónustufulltrúar tengdir við þennan reikning", "TITLE": "Umsýsla þjónustufulltrúa í þínu teymi", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Náði ekki að tengjast við netþjóna Woot, vinsamlegast reynið aftur" } }, + "SEARCH_PLACEHOLDER": "Leita að þjónustufulltrúum...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Engar niðurstöður fundust." }, diff --git a/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json index 84f083763..e4b20122e 100644 --- a/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Leita í eiginleikum...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/is/automation.json b/app/javascript/dashboard/i18n/locale/is/automation.json index b183ba597..d6d5c1ae8 100644 --- a/app/javascript/dashboard/i18n/locale/is/automation.json +++ b/app/javascript/dashboard/i18n/locale/is/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nafn", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Aðgerðir" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Opna samtal" + "OPEN_CONVERSATION": "Opna samtal", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/is/bulkActions.json b/app/javascript/dashboard/i18n/locale/is/bulkActions.json index 91c4458ec..4a62fcc66 100644 --- a/app/javascript/dashboard/i18n/locale/is/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/is/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Engar merkingar fundust", diff --git a/app/javascript/dashboard/i18n/locale/is/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/is/cannedMgmt.json index 10a215cde..b6a783711 100644 --- a/app/javascript/dashboard/i18n/locale/is/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Stöðluð svör", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Það eru engin atriði sem passa við þessa fyrirspurn.", "LIST": { "404": "Það eru engin stöðluð svör aðgengileg á þessum reikning.", diff --git a/app/javascript/dashboard/i18n/locale/is/chatlist.json b/app/javascript/dashboard/i18n/locale/is/chatlist.json index 44ec15817..0593cad1d 100644 --- a/app/javascript/dashboard/i18n/locale/is/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/is/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/is/contact.json b/app/javascript/dashboard/i18n/locale/is/contact.json index 6cca35038..8ee019720 100644 --- a/app/javascript/dashboard/i18n/locale/is/contact.json +++ b/app/javascript/dashboard/i18n/locale/is/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Engir tengiliðir fundust", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Til:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Viðfangsefni :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/is/conversation.json b/app/javascript/dashboard/i18n/locale/is/conversation.json index 3f42732c9..cf447402b 100644 --- a/app/javascript/dashboard/i18n/locale/is/conversation.json +++ b/app/javascript/dashboard/i18n/locale/is/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Skilaboðum eytt", "FAIL_DELETE_MESSSAGE": "Gat ekki eytt skilaboðum! Reynið aftur", "NO_RESPONSE": "Ekkert svar", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Úthlutaði teymi #{team} á samtalsauðkenni {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter fyrir nýja línu. Byrjaðu á '/' til að velja tilbúið svar.", "PRIVATE_MSG_INPUT": "Shift + enter fyrir nýja línu. Þetta verður aðeins sýnilegt fyrir þjónustufulltrúa", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Skilaboðundirskrift er ekki stillt, vinsamlegast stilltu hana í prófílstillingum.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Dragðu og slepptu viðhenginu hingað", "START_AUDIO_RECORDING": "Hefja hljóðupptöku", "STOP_AUDIO_RECORDING": "Stoppa hljóðupptöku", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Bæta við bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Skráin fer framyfir hámarksstærð viðhengja ({MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE})", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Ekki er hægt að senda þessi skilaboð, vinsamlegast reyndu aftur síðar", "SENT_BY": "Sent af:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Tókst ekki að senda skilaboð! Reyndu aftur", "TRY_AGAIN": "reyna aftur", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Hætta við", "SEND_EMAIL_SUCCESS": "Afritið af samtalinu var sent", "SEND_EMAIL_ERROR": "Það kom villa, vinsamlegas reyndu aftur", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Senda afritið á viðskiptavinin", "SEND_TO_AGENT": "Sendu afritið til úthlutaðs þjónustufulltrúa", diff --git a/app/javascript/dashboard/i18n/locale/is/customRole.json b/app/javascript/dashboard/i18n/locale/is/customRole.json index 10e1aae86..93b5c2e44 100644 --- a/app/javascript/dashboard/i18n/locale/is/customRole.json +++ b/app/javascript/dashboard/i18n/locale/is/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Það eru engin atriði sem passa við þessa fyrirspurn.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/is/datePicker.json b/app/javascript/dashboard/i18n/locale/is/datePicker.json index 90bf342a9..11844dcc7 100644 --- a/app/javascript/dashboard/i18n/locale/is/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/is/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Síðustu 3 mánuði", "LAST_6_MONTHS": "Síðustu 6 mánuði", "LAST_YEAR": "Síðasta ár", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/is/general.json b/app/javascript/dashboard/i18n/locale/is/general.json index d1c1a4668..f9dfc99e4 100644 --- a/app/javascript/dashboard/i18n/locale/is/general.json +++ b/app/javascript/dashboard/i18n/locale/is/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Já", + "NO": "Nei" } } diff --git a/app/javascript/dashboard/i18n/locale/is/generalSettings.json b/app/javascript/dashboard/i18n/locale/is/generalSettings.json index 6c7af2ba0..4ba79e75c 100644 --- a/app/javascript/dashboard/i18n/locale/is/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/is/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Leita eða stökkva til", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Almennar", "REPORTS": "Skýrslur", diff --git a/app/javascript/dashboard/i18n/locale/is/helpCenter.json b/app/javascript/dashboard/i18n/locale/is/helpCenter.json index 878352846..8026a3816 100644 --- a/app/javascript/dashboard/i18n/locale/is/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/is/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Vinsamlegast bættu við fyrirsögn greinarinnar og innihaldi þá er aðeins þú sem getur uppfært stillingarnar" }, diff --git a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json index e545296a7..6ded7422c 100644 --- a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Innhólf", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Slökkt" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Virkt", - "DISABLED": "Slökkt" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Virkja" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Samtöl halda áfram með tölvupósti ef tengiliðanetfangið er tiltækt.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Kveikja eða slökkva á samtíma samtölum fyrir sama tengilið í þessu innhólfi", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Virkja eða slökkva á sjálfvirkri úthlutun nýrra samtöla til umboðsmanna sem bætt er við þetta innhólf.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Enginn", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Takmarkaðu hámarksfjölda samtala úr þessu innhólfi sem hægt er að úthluta sjálfkrafa á þjónustufulltrúa" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Hætta við", + "CONFIRM_DELETE": "Eyða", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Endurauðkenna", "SUBTITLE": "Facebook tengingin þín er útrunnin, vinsamlegast tengdu Facebook síðuna þína aftur til að halda áfram þjónustu", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Dagur", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Upphafstími ætti að vera fyrir lokunartíma.", "CHOOSE": "Velja" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Eftir sólarhring" }, "WIDGET_COLOR_LABEL": "Litur Widgets", - "WIDGET_BUBBLE_POSITION_LABEL": "Staðsetning Widget Blöðru", - "WIDGET_BUBBLE_TYPE_LABEL": "Tegund Widget Blöðru", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Spjallaðu við okkur", - "LABEL": "Titill Widget Blöðru", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Spjallaðu við okkur" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Svarar iðulega innan nokkura mínútna", diff --git a/app/javascript/dashboard/i18n/locale/is/integrationApps.json b/app/javascript/dashboard/i18n/locale/is/integrationApps.json index 94a3b065e..def80a909 100644 --- a/app/javascript/dashboard/i18n/locale/is/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/is/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "Það eru engar {integrationId} samþættingar stilltar á þessum reikningi.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Virkt", "DISABLED": "Slökkt" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Innhólf", + "ACTIONS": "Aðgerðir", "DELETE": { "BUTTON_TEXT": "Eyða" } diff --git a/app/javascript/dashboard/i18n/locale/is/integrations.json b/app/javascript/dashboard/i18n/locale/is/integrations.json index aa164a4fc..8df6b59df 100644 --- a/app/javascript/dashboard/i18n/locale/is/integrations.json +++ b/app/javascript/dashboard/i18n/locale/is/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Hætta við", "DESC": "Vefkróks (e. Webhook) viðburðir veita þér rauntíma upplýsingar um hvað er að gerast á Chatwoot reikningnum þínum. Vinsamlega sláðu inn gilda vefslóð til að stilla svarhringingu (e. callback).", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Eyða", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Mælaborðsforrit

Mælaborðsforrit gera fyrirtækjum kleift að innsteypa (e. embed) forrit inn í Chatwoot mælaborðið til að veita þjónustufulltrúum samhengi. Þessi eiginleiki gerir þér kleift að búa til forrit sjálfstætt og innsteypa það inn í mælaborðið til að veita notendaupplýsingar, pantanir þeirra eða fyrri greiðsluferla.

Þegar þú innsteypir forritið þitt með því að nota mælaborðið í Chatwoot mun forritið þitt fáðu samhengi samtalsins og sambandsins sem gluggaviðburð (e. window event). Settu upp hlustanda fyrir skilaboðaviðburðinn á síðunni þinni til að fá samhengið.

Til að bæta við nýju stjórnborðsforriti skaltu smella á hnappinn 'Bæta við nýju stjórnborðsforriti'.

", "DESCRIPTION": "Mælaborðsforrit gera fyrirtækjum kleift að innsteypa (e. embed) forrit inn í mælaborðið til að veita þjónustufulltrúa samhengi. Þessi eiginleiki gerir þér kleift að búa til forrit sjálfstætt og innsteypa það inn til að veita notendaupplýsingar, pantanir þeirra eða fyrri greiðsluferil.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Engin mælaborðsforrit eru stillt á þessum reikningi ennþá", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Nafn", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Aðgerðir" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/is/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/is/labelsMgmt.json index ad4a5b2fe..74990673b 100644 --- a/app/javascript/dashboard/i18n/locale/is/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Leita að merkingum...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Það eru engin atriði sem passa við þessa fyrirspurn", "LIST": { "404": "Engar merkingar eru tiltækir á þessum reikningi.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nafn", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Aðgerðir" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/is/macros.json b/app/javascript/dashboard/i18n/locale/is/macros.json index 2e9daa248..4d5bb632f 100644 --- a/app/javascript/dashboard/i18n/locale/is/macros.json +++ b/app/javascript/dashboard/i18n/locale/is/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Fjölvi mun keyra í þeirri röð sem þú bætir við aðgerðum þínum. Þú getur endurraðað þeim með því að draga þau í handfangið við hlið hverrar nóðu.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nafn", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Aðgerðir" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/is/mfa.json b/app/javascript/dashboard/i18n/locale/is/mfa.json index aa7da19b6..bd7eb5cec 100644 --- a/app/javascript/dashboard/i18n/locale/is/mfa.json +++ b/app/javascript/dashboard/i18n/locale/is/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/is/report.json b/app/javascript/dashboard/i18n/locale/is/report.json index 923b60935..f6bd509b2 100644 --- a/app/javascript/dashboard/i18n/locale/is/report.json +++ b/app/javascript/dashboard/i18n/locale/is/report.json @@ -3,7 +3,7 @@ "HEADER": "Samtöl", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "Við höfum ekki fengið nógu marga gagnapunkta til að búa til skýrslu, vinsamlegast reyndu aftur síðar.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "Við höfum ekki fengið nógu marga gagnapunkta til að búa til skýrslu, vinsamlegast reyndu aftur síðar.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Veldu Þjónustufulltrúa", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Leita að þjónustufulltrúum" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtöl", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Við höfum ekki fengið nógu marga gagnapunkta til að búa til skýrslu, vinsamlegast reyndu aftur síðar.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Leita að merkingum" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtöl", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtöl", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "Við höfum ekki fengið nógu marga gagnapunkta til að búa til skýrslu, vinsamlegast reyndu aftur síðar.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Leita að teymum" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtöl", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "Engin svör við CSAT könnun eru fáanleg.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Leita að þjónustufulltrúum", + "INBOXES": "Search inboxes", + "TEAMS": "Leita að teymum", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Þjónustufulltrúi" + }, + "INBOXES": { + "LABEL": "Innhólf" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Þjónustufulltrúi", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Heildarfjöldi svara / Heildarfjöldi sendra CSAT könnunarskilaboða * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Hætta við", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/is/settings.json b/app/javascript/dashboard/i18n/locale/is/settings.json index 2d3c2b638..e470fc11f 100644 --- a/app/javascript/dashboard/i18n/locale/is/settings.json +++ b/app/javascript/dashboard/i18n/locale/is/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Sækja", "UPLOADING": "Hleður upp...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Fídusar", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Leita í eiginleikum" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Leysa samtal", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Leysa samtal", + "CANCEL": "Hætta við" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Já", + "NO": "Nei" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh ó! Við fundum enga Chatwoot reikninga. Vinsamlegast búðu til nýjan reikning til að halda áfram.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Hætta við" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/is/signup.json b/app/javascript/dashboard/i18n/locale/is/signup.json index e199471d2..7a7965142 100644 --- a/app/javascript/dashboard/i18n/locale/is/signup.json +++ b/app/javascript/dashboard/i18n/locale/is/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Nýskráning", "TESTIMONIAL_HEADER": "Það þarf aðeins eitt skref framávið", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/is/sla.json b/app/javascript/dashboard/i18n/locale/is/sla.json index aa7c06a15..f24c8793c 100644 --- a/app/javascript/dashboard/i18n/locale/is/sla.json +++ b/app/javascript/dashboard/i18n/locale/is/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/is/snooze.json b/app/javascript/dashboard/i18n/locale/is/snooze.json new file mode 100644 index 000000000..4a26b8809 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/is/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "dagur", + "WEEKS": "weeks", + "MONTH": "vika", + "MONTHS": "months", + "YEAR": "mánuður", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "dagur", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/is/teamsSettings.json b/app/javascript/dashboard/i18n/locale/is/teamsSettings.json index bb87ccf87..ba151639c 100644 --- a/app/javascript/dashboard/i18n/locale/is/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/is/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Leita að teymum...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Það eru engin teymi til á þessum reikningi.", "EDIT_TEAM": "Breyta teymi", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Ekki tókst að vista teymisupplýsingarnar. Reyndu aftur." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "NETFANG", + "AGENT": "Þjónustufulltrúi", + "EMAIL": "Tölvupóstfang", "BUTTON_TEXT": "Bæta við þjónustufulltrúum", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/it/agentBots.json b/app/javascript/dashboard/i18n/locale/it/agentBots.json index 36cd36b1f..55cc5de67 100644 --- a/app/javascript/dashboard/i18n/locale/it/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/it/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Caricamento editor...", "DESCRIPTION": "Gli Agent Bot sono membri virtuali del tuo team: gestiscono le attività di routine, lasciandoti più tempo per ciò che conta. Puoi gestirli da questa pagina o crearne di nuovi con il pulsante “Aggiungi Bot”.", "LEARN_MORE": "Informazioni sugli agent bot", + "COUNT": "{n} bot | {n} bot", + "SEARCH_PLACEHOLDER": "Cerca bot...", + "NO_RESULTS": "Nessun bot trovato corrispondente alla tua ricerca", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Caricamento bot...", "TABLE_HEADER": { "DETAILS": "Dettagli Bot", - "URL": "URL Webhook" + "URL": "URL Webhook", + "ACTIONS": "Azioni" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/it/agentMgmt.json b/app/javascript/dashboard/i18n/locale/it/agentMgmt.json index 22a38f4c7..55437209f 100644 --- a/app/javascript/dashboard/i18n/locale/it/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Amministratore", "AGENT": "Operatore" }, + "COUNT": "{n} operatore | {n} operatori", "LIST": { "404": "Non ci sono operatori associati a questo account", "TITLE": "Gestisci gli operatori nel tuo team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Impossibile connettersi al server Woot, riprova più tardi" } }, + "SEARCH_PLACEHOLDER": "Cerca operatori...", + "NO_RESULTS": "Nessun operatore trovato corrispondente alla tua ricerca", "SEARCH": { "NO_RESULTS": "Nessun risultato trovato." }, diff --git a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json index f23da232a..41e661e4d 100644 --- a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Caricamento attributi personalizzati", "DESCRIPTION": "Un attributo personalizzato tiene traccia di informazioni aggiuntive sui tuoi contatti o sulle conversazioni — ad esempio il piano di abbonamento o la data del primo acquisto. Puoi aggiungere diversi tipi di attributi personalizzati, come testo, elenchi o numeri, per raccogliere le informazioni specifiche di cui hai bisogno.", "LEARN_MORE": "Scopri di più sugli attributi personalizzati", + "COUNT": "{n} attributo | {n} attributi", + "SEARCH_PLACEHOLDER": "Cerca attributi...", + "NO_RESULTS": "Nessun attributo trovato corrispondente alla tua ricerca", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversazione", "CONTACT": "Contatto" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Abilita convalida espressione regolare" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Risoluzione" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/it/automation.json b/app/javascript/dashboard/i18n/locale/it/automation.json index b4d400e5a..e9e67cd07 100644 --- a/app/javascript/dashboard/i18n/locale/it/automation.json +++ b/app/javascript/dashboard/i18n/locale/it/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automazioni", "DESCRIPTION": "Le automazioni possono sostituire e semplificare i processi esistenti che richiedono azioni manuale, ad esempio l'aggiunta di etichette e l'assegnazione di conversazioni all'operatore più adatto. Grazie alle automazioni i team possono concentrarsi sui propri punti di forza e ridurre il tempo dedicato alle attività ripetitive.", "LEARN_MORE": "Scopri di più sulle automazioni", - "HEADER_BTN_TXT": "Aggiungi Regola di Automazione", + "COUNT": "{n} automazione | {n} automazioni", + "HEADER_BTN_TXT": "Crea Automazione", "LOADING": "Caricamento regole di automazione", + "SEARCH_PLACEHOLDER": "Cerca regole di automazione...", + "NO_RESULTS": "Nessuna regola di automazione trovata corrispondente alla tua ricerca", "ADD": { "TITLE": "Aggiungi Regola di Automazione", "SUBMIT": "Crea", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nome", - "DESCRIPTION": "Descrizione", "ACTIVE": "Attiva", - "CREATED_ON": "Creata il" + "CREATED_ON": "Creata il", + "ACTIONS": "Azioni" }, "404": "Nessuna regola di automazione trovata" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Aggiungi una Nota Privata", "CHANGE_PRIORITY": "Modifica Priorità", "ADD_SLA": "Aggiungi SLA", - "OPEN_CONVERSATION": "Riapri conversazione" + "OPEN_CONVERSATION": "Riapri conversazione", + "PENDING_CONVERSATION": "Segna conversazione come in sospeso" }, "MESSAGE_TYPES": { "INCOMING": "Messaggio in Arrivo", diff --git a/app/javascript/dashboard/i18n/locale/it/bulkActions.json b/app/javascript/dashboard/i18n/locale/it/bulkActions.json index 55431f7f2..fe3c2b4d9 100644 --- a/app/javascript/dashboard/i18n/locale/it/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/it/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Stato della conversazione aggiornato correttamente.", "UPDATE_FAILED": "Impossibile aggiornare le conversazioni. Riprova." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Impossibile risolvere le conversazioni a causa di attributi richiesti mancanti", + "PARTIAL_SUCCESS": "Alcune conversazioni necessitano di attributi richiesti per essere risolte, perciò sono state saltate" + }, "LABELS": { "ASSIGN_LABELS": "Assegna etichette", "NO_LABELS_FOUND": "Nessuna etichetta trovata", diff --git a/app/javascript/dashboard/i18n/locale/it/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/it/cannedMgmt.json index 69273f65b..3927203d9 100644 --- a/app/javascript/dashboard/i18n/locale/it/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Risposte Predefinite", "LEARN_MORE": "Scopri di più sulle risposte predefinite", "DESCRIPTION": "Le Risposte Predefinite sono modelli di risposte preparate che ti aiutano a rispondere rapidamente alle conversazioni. Gli operatori possono digitare il carattere '/' seguito dallo shortcode per inserire una risposta predefinita durante una conversazione. ", + "COUNT": "{n} risposta predefinita | {n} risposte predefinite", "HEADER_BTN_TXT": "Aggiungi risposta predefinita", "LOADING": "Caricamento risposte predefinite...", + "SEARCH_PLACEHOLDER": "Cerca Risposte Predefinite...", + "NO_RESULTS": "Nessuna Risposta Predefinita trovata corrispondente alla tua ricerca", "SEARCH_404": "Non ci sono elementi che corrispondono a questa richiesta.", "LIST": { "404": "Non ci sono risposte predefinite disponibili in questo account.", diff --git a/app/javascript/dashboard/i18n/locale/it/chatlist.json b/app/javascript/dashboard/i18n/locale/it/chatlist.json index 0e0c7f597..5d96f5bec 100644 --- a/app/javascript/dashboard/i18n/locale/it/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/it/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "In attesa di risposta: prima meno tempo in attesa" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priorità: prima le più importanti, Data creazione: prima le più vecchie" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/it/companies.json b/app/javascript/dashboard/i18n/locale/it/companies.json index 96c4d3823..bb80dd9c7 100644 --- a/app/javascript/dashboard/i18n/locale/it/companies.json +++ b/app/javascript/dashboard/i18n/locale/it/companies.json @@ -7,7 +7,7 @@ "NAME": "Nome", "DOMAIN": "Dominio", "CREATED_AT": "Creata alle", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Numero contatti" } }, "ORDER": { diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json index 710a694cf..892de6660 100644 --- a/app/javascript/dashboard/i18n/locale/it/contact.json +++ b/app/javascript/dashboard/i18n/locale/it/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Aggiungi Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Aggiungi Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Aggiungi TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Nessun contatto corrisponde alla tua ricerca 🔍", "LIST_EMPTY_STATE_TITLE": "Nessun contatto disponibile in questa vista 📋", "ACTIVE_EMPTY_STATE_TITLE": "Nessun contatto attivo al momento 🌙" - } + }, + "LOAD_MORE": "Carica altro" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assegna Etichette", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "Non ci sono inbox disponibili per avviare una conversazione con questo contatto.", "CONTACT_SELECTOR": { "LABEL": "A:", - "TAG_INPUT_PLACEHOLDER": "Cerca un contatto tramite nome, email o numero di telefono", + "TAG_INPUT_PLACEHOLDER": "Inserisci almeno 2 caratteri per cercare per nome, email o numero di telefono", "CONTACT_CREATING": "Creazione contatto..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Oggetto :", "SUBJECT_PLACEHOLDER": "Inserisci qui l'oggetto email", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Cerca un contatto con il suo indirizzo email", + "CC_PLACEHOLDER": "Inserisci almeno 2 caratteri per cercare via email", "BCC_LABEL": "Ccn:", - "BCC_PLACEHOLDER": "Cerca un contatto con il suo indirizzo email", + "BCC_PLACEHOLDER": "Inserisci almeno 2 caratteri per cercare via email", "BCC_BUTTON": "Ccn" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json index fdc691c0e..2d881b17d 100644 --- a/app/javascript/dashboard/i18n/locale/it/conversation.json +++ b/app/javascript/dashboard/i18n/locale/it/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app Facebook / Instagram.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app TikTok.", "SUCCESS_DELETE_MESSAGE": "Messaggio eliminato con successo", "FAIL_DELETE_MESSSAGE": "Impossibile eliminare il messaggio! Riprova", "NO_RESPONSE": "Nessuna risposta", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assegnata etichetta #{labelName} alla conversazione id {conversationId}", "FAILED": "Impossibile assegnare l'etichetta. Per favore riprova." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Rimossa etichetta #{labelName} dalla conversazione id {conversationId}", + "FAILED": "Impossibile rimuovere l'etichetta. Riprova." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assegnato il team \"{team}\" alla conversazione id {conversationId}", "FAILED": "Impossibile assegnare il team. Riprova." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disabilita firma", "MSG_INPUT": "Premi MAIUSC + INVIO per andare a capo. Digita '/' per inserire una Risposta Predefinita.", "PRIVATE_MSG_INPUT": "Premi MAIUSC + INVIO per andare a capo. Sarà visibile solo agli Operatori", + "MESSAGING_RESTRICTED": "Non è possibile rispondere a questa conversazione", + "MESSAGING_RESTRICTED_WHATSAPP": "Puoi rispondere solamente con un messaggio modello: la finestra di 24 ore di WhatsApp è scaduta", + "MESSAGING_RESTRICTED_API": "Puoi rispondere solamente con un messaggio modello: la finestra di messaggistica è scaduta", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "La firma del messaggio non è configurata, configurala nelle impostazioni del profilo.", + "COPILOT_MSG_INPUT": "Dai ulteriori istruzioni a Copilot o fai un’altra richiesta. Premi Invio per inviare il messaggio successivo", "CLICK_HERE": "Clicca qui per aggiornare", "WHATSAPP_TEMPLATES": "Modelli Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Trascina qui per allegare", "START_AUDIO_RECORDING": "Avvia registrazione audio", "STOP_AUDIO_RECORDING": "Interrompi registrazione audio", - "": "", + "COPILOT_THINKING": "Copilot sta pensando", "EMAIL_HEAD": { "TO": "A", "ADD_BCC": "Aggiungi Ccn", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversazione eliminata con successo", "FAIL_DELETE_CONVERSATION": "Impossibile eliminare la conversazione! Riprova", "FILE_SIZE_LIMIT": "Il file supera il limite di {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB per l'allegato", + "FILE_TYPE_NOT_SUPPORTED": "I file di tipo {fileName} non sono supportati in questa conversazione", "MESSAGE_ERROR": "Impossibile inviare questo messaggio, riprova più tardi", "SENT_BY": "Inviato da:", "BOT": "Bot", + "NATIVE_APP": "App nativa", + "NATIVE_APP_ADVISORY": "Questo messaggio è stato inviato da un'app nativa. Rispondi da qui per mantenere la finestra del messaggio.", "SEND_FAILED": "Impossibile inviare il messaggio! Riprova", "TRY_AGAIN": "riprova", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Annulla", "SEND_EMAIL_SUCCESS": "La trascrizione della chat è stata inviata con successo", "SEND_EMAIL_ERROR": "Si è verificato un errore, riprova", + "SEND_EMAIL_PAYMENT_REQUIRED": "La trascrizione email non è disponibile sul tuo piano attuale. Per favore aggiorna per utilizzare questa funzionalità.", "FORM": { "SEND_TO_CONTACT": "Invia la trascrizione al cliente", "SEND_TO_AGENT": "Invia la trascrizione all'operatore assegnato", diff --git a/app/javascript/dashboard/i18n/locale/it/customRole.json b/app/javascript/dashboard/i18n/locale/it/customRole.json index 6e6203cf1..6c883f8ea 100644 --- a/app/javascript/dashboard/i18n/locale/it/customRole.json +++ b/app/javascript/dashboard/i18n/locale/it/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Ruoli Personalizzati", "LEARN_MORE": "Scopri di più sui ruoli personalizzati", "DESCRIPTION": "I ruoli personalizzati sono ruoli creati dal proprietario o amministratore dell'account. Questi ruoli possono essere assegnati agli operatori per definire i loro accessi e i loro permessi all'interno dell'account. I ruoli personalizzati possono essere creati con permessi e livelli di accesso specifici per soddisfare le esigenze dell'organizzazione.", + "COUNT": "{n} ruolo personalizzato | {n} ruoli personalizzati", "HEADER_BTN_TXT": "Aggiungi ruolo personalizzato", "LOADING": "Caricamento ruoli personalizzati...", + "SEARCH_PLACEHOLDER": "Cerca ruoli personalizzati...", + "NO_RESULTS": "Nessun ruolo personalizzato trovato corrispondente alla tua ricerca", "SEARCH_404": "Non ci sono elementi che corrispondono a questa richiesta.", "PAYWALL": { "TITLE": "Aggiorna per creare ruoli personalizzati", diff --git a/app/javascript/dashboard/i18n/locale/it/datePicker.json b/app/javascript/dashboard/i18n/locale/it/datePicker.json index de8850b70..7af7f7a7d 100644 --- a/app/javascript/dashboard/i18n/locale/it/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/it/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Periodo precedente", + "NEXT_PERIOD": "Periodo successivo", + "WEEK_NUMBER": "Settimana #{weekNumber}", "APPLY_BUTTON": "Applica", "CLEAR_BUTTON": "Rimuovi", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Ultimi 3 mesi", "LAST_6_MONTHS": "Ultimi 6 mesi", "LAST_YEAR": "Ultimo anno", + "THIS_WEEK": "Questa settimana", + "MONTH_TO_DATE": "Questo mese", "CUSTOM_RANGE": "Intervallo di date personalizzato" } } diff --git a/app/javascript/dashboard/i18n/locale/it/general.json b/app/javascript/dashboard/i18n/locale/it/general.json index 00f724b7b..e052fef78 100644 --- a/app/javascript/dashboard/i18n/locale/it/general.json +++ b/app/javascript/dashboard/i18n/locale/it/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Chiudi", "BETA": "Beta", - "BETA_DESCRIPTION": "Questa funzione è in beta e può subire variazioni mentre la miglioriamo." + "BETA_DESCRIPTION": "Questa funzione è in beta e può subire variazioni mentre la miglioriamo.", + "ACCEPT": "Accetta", + "DISCARD": "Annulla", + "PREFERRED": "Preferito" + }, + "CHOICE_TOGGLE": { + "YES": "Sì", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/it/generalSettings.json b/app/javascript/dashboard/i18n/locale/it/generalSettings.json index 1b84b3b3c..5b12db78b 100644 --- a/app/javascript/dashboard/i18n/locale/it/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/it/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Cerca o vai a", + "SNOOZE_PLACEHOLDER": "Digita un momento, ad esempio domani, tra 2 ore, venerdì prossimo, il 15 gennaio, ecc...", "SECTIONS": { "GENERAL": "Generale", "REPORTS": "Report", diff --git a/app/javascript/dashboard/i18n/locale/it/helpCenter.json b/app/javascript/dashboard/i18n/locale/it/helpCenter.json index 920199cca..78add9aaa 100644 --- a/app/javascript/dashboard/i18n/locale/it/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/it/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Errore durante l'eliminazione dell'articolo" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Impossibile riordinare gli articoli. Riprova." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Impossibile riordinare le categorie. Riprova." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Si prega di aggiungere l'intestazione e il contenuto dell'articolo quindi solo è possibile aggiornare le impostazioni" }, diff --git a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json index 0963fd3f3..923339125 100644 --- a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inbox", "DESCRIPTION": "Un canale è il mezzo di comunicazione che il cliente usa per interagire con te. Una Inbox è lo spazio in cui gestisci le interazioni di uno specifico canale. Può includere comunicazioni provenienti da diverse fonti, come email, live chat e social media.", "LEARN_MORE": "Scopri di più sulle Inbox", + "COUNT": "{n} inbox | {n} inbox", + "SEARCH_PLACEHOLDER": "Ricerca Inbox...", + "NO_RESULTS": "Nessuna inbox trovata corrispondente alla tua ricerca", "RECONNECTION_REQUIRED": "La tua Inbox è disconnessa. Non riceverai nuovi messaggi finché non la autorizzerai nuovamente.", "CLICK_TO_RECONNECT": "Clicca qui per riconnetterti.", "WHATSAPP_REGISTRATION_INCOMPLETE": "La registrazione di WhatsApp Business non è completa. Si prega di controllare lo stato del nome visualizzato in Meta Business Manager prima di riconnettersi.", @@ -575,7 +578,7 @@ "SUBTITLE": "Utilizza solo il nome dell'azienda come nome mittente nell'intestazione dell'email." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configura il tuo nome azienda", + "BUTTON_TEXT": "Configura il tuo nome azienda", "PLACEHOLDER": "Inserisci il nome della tua azienda", "SAVE_BUTTON_TEXT": "Salva" } @@ -589,8 +592,10 @@ "DISABLED": "Disabilitato" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Abilitato", - "DISABLED": "Disabilitato" + "ENABLED": "Riapri la stessa conversazione", + "DISABLED": "Crea una nuova conversazione", + "ENABLED_DESCRIPTION": "Quando un contatto invia un nuovo messaggio, la conversazione precedente viene riaperta.", + "DISABLED_DESCRIPTION": "Viene creata una nuova conversazione ogni volta dopo la risoluzione della precedente." }, "ENABLE_HMAC": { "LABEL": "Abilita" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Preferenze Canali", + "WIDGET_FEATURES": "Funzionalità Widget", "ACCOUNT_HEALTH": { "TITLE": "Gestisci il tuo account WhatsApp", "DESCRIPTION": "Controlla lo stato del tuo account WhatsApp, i limiti di messaggi e la qualità. Aggiorna le impostazioni o risolvi i problemi se necessario", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Abilita/Disabilita la visualizzazione del nome dell'Operatore nelle email. Se disabilitato, verrà mostrato il nome dell'azienda", "ENABLE_CONTINUITY_VIA_EMAIL": "Abilita la continuità della conversazione via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Le conversazioni continueranno via email se l'indirizzo email del contatto è disponibile.", - "LOCK_TO_SINGLE_CONVERSATION": "Limita ad una conversazione unica", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Abilita o disabilita conversazioni multiple per lo stesso contatto in questa Inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Routing Conversazioni", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Gestisci come vengono create le conversazioni per i contatti esistenti", "INBOX_UPDATE_TITLE": "Impostazioni Inbox", "INBOX_UPDATE_SUB_TEXT": "Aggiorna le impostazioni inbox", "AUTO_ASSIGNMENT_SUB_TEXT": "Abilita o disabilita l'assegnazione automatica di nuove conversazioni agli agenti aggiunti a questa casella.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Seleziona Help Center", "SELECT_PLACEHOLDER": "Seleziona Help Center", + "NONE": "Nessuno", "REMOVE": "Rimuovi Help Center", "SUB_TEXT": "Allega un Help Center con la Inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Inserisci un valore maggiore di 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limita il numero massimo di conversazioni da questa casella di posta che possono essere assegnate automaticamente ad un agente" }, + "ASSIGNMENT": { + "TITLE": "Assegnazione Conversazione", + "DESCRIPTION": "Assegna automaticamente le conversazioni in entrata agli operatori disponibili in base ai criteri di assegnazione", + "ENABLE_AUTO_ASSIGNMENT": "Abilita assegnazione automatica delle conversazioni", + "DEFAULT_RULES_TITLE": "Regole di assegnazione predefinite", + "DEFAULT_RULES_DESCRIPTION": "Usa il comportamento di assegnazione predefinito per tutte le conversazioni", + "DEFAULT_RULE_1": "Prima le conversazioni create per prime", + "DEFAULT_RULE_2": "Distribuzione round robin", + "CUSTOMIZE_WITH_POLICY": "Personalizza con policy di assegnazione", + "USING_POLICY": "Policy di assegnazione personalizzata in uso per questa inbox", + "CUSTOMIZE_POLICY": "Personalizza con policy di assegnazione", + "DELETE_POLICY": "Elimina policy", + "POLICY_LABEL": "Policy di assegnazione", + "ASSIGNMENT_ORDER_LABEL": "Ordine di assegnazione", + "ASSIGNMENT_METHOD_LABEL": "Metodo di assegnazione", + "POLICY_STATUS": { + "ACTIVE": "Attiva", + "INACTIVE": "Inattive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Creata prima", + "LONGEST_WAITING": "Attesa più lunga" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Assegnazione bilanciata" + }, + "UPGRADE_PROMPT": "Le policy di assegnazione personalizzate sono disponibili nel piano Business", + "UPGRADE_TO_BUSINESS": "Aggiorna a Business", + "DEFAULT_POLICY_LINKED": "Policy predefinita collegata", + "DEFAULT_POLICY_DESCRIPTION": "Collega una policy di assegnazione personalizzata per impostare come le conversazioni devono essere assegnate agli operatori in questa inbox.", + "LINK_EXISTING_POLICY": "Collega policy esistente", + "CREATE_NEW_POLICY": "Crea nuova policy", + "NO_POLICIES": "Nessuna policy di assegnazione trovata", + "VIEW_ALL_POLICIES": "Mostra tutte le policy", + "CURRENT_BEHAVIOR": "Stai utilizzando le regole di assegnazione predefinite:", + "LINK_SUCCESS": "Policy di assegnazione collegata correttamente", + "LINK_ERROR": "Impossibile collegare la policy di assegnazione" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Eliminare la policy di assegnazione?", + "DELETE_CONFIRM_MESSAGE": "Vuoi davvero rimuovere questa policy di assegnazione da questa inbox? La inbox tornerà alle regole di assegnazione predefinite.", + "CANCEL": "Annulla", + "CONFIRM_DELETE": "Elimina", + "DELETE_SUCCESS": "Policy di assegnazione rimossa correttamente", + "DELETE_ERROR": "Impossibile rimuovere la policy di assegnazione" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Riautorizza", "SUBTITLE": "La tua connessione a Facebook è scaduta, ricollegati alla tua pagina Facebook per continuare i servizi", @@ -837,6 +892,20 @@ "CONFIRM": "Crea nuovo modello", "CANCEL": "Torna indietro" }, + "UTILITY_ANALYZER": { + "ACTION": "Verifica idoneità Utility", + "HELPER_NOTE": "Verifica questo messaggio prima di inviare la richiesta per aumentare le probabilità che venga classificato come Utility.\nIl sistema crea un template CSAT dedicato con pulsanti per la raccolta feedback e lo invia come Utility; Meta potrebbe comunque riclassificarlo come Marketing in base al contenuto.", + "RESULT_LABEL": "Previsione categoria Meta", + "GUIDANCE_NOTE": "Si tratta di una verifica orientativa, non di una garanzia di approvazione da parte di Meta.", + "SUGGESTION_LABEL": "Suggerisci riscrittura conforme a Utility", + "APPLY": "Usa questa versione", + "ERROR_MESSAGE": "Impossibile analizzare il messaggio. Riprova.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Probabile Utility", + "LIKELY_MARKETING": "Probabile Marketing", + "UNCLEAR": "Classificazione incerta" + } + }, "SURVEY_RULE": { "LABEL": "Regola sondaggio", "DESCRIPTION_PREFIX": "Invia il sondaggio se la conversazione", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "seleziona etichette" }, "NOTE": "Nota: I sondaggi CSAT vengono inviati solo una volta per conversazione", - "WHATSAPP_NOTE": "Nota: Creeremo un modello e lo invieremo a WhatsApp per l'approvazione. Dopo essere stati approvati, i sondaggi saranno inviati solo una volta per conversazione, in base alle regole dei sondaggi.", + "WHATSAPP_NOTE": "Nota: al salvataggio, il sistema crea un template CSAT dedicato in WhatsApp (utilizzato per raccogliere valutazioni e feedback nei report) e lo invia come Utility per l’approvazione. Meta potrebbe comunque classificarlo come Marketing in base al contenuto. Dopo l’approvazione, il sondaggio viene inviato una sola volta per conversazione, secondo la regola impostata.", "API": { "SUCCESS_MESSAGE": "Impostazioni CSAT aggiornate correttamente", "ERROR_MESSAGE": "Impossibile aggiornare le impostazioni CSAT. Riprova più tardi." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Messaggio non disponibile per i visitatori", "TOGGLE_HELP": "Abilitare la disponibilità aziendale mostrerà le ore disponibili sul widget live chat anche se tutti gli operatori sono offline. Al di fuori delle ore di disponibilità gli utenti possono essere avvisati con un messaggio ed un modulo pre-chat.", "DAY": { + "DAY": "Giorno", + "AVAILABILITY": "Disponibilità", + "HOURS": "Ore", "ENABLE": "Abilita disponibilità per questo giorno", "UNAVAILABLE": "Non disponibile", - "HOURS": "ore", "VALIDATION_ERROR": "L'orario di inizio deve essere prima dell'orario di chiusura.", "CHOOSE": "Scegli" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In un giorno" }, "WIDGET_COLOR_LABEL": "Colore del widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posizione della bubble del widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Tipo di bubble del widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Posizione:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipo:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chatta con noi", - "LABEL": "Titolo del launcher della bubble del widget", + "LABEL": "Titolo del Launcher", "PLACE_HOLDER": "Chatta con noi" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Predefinito", - "CHAT": "Chat" + "CHAT": "Modalità Chat" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "In genere risponde in pochi minuti", diff --git a/app/javascript/dashboard/i18n/locale/it/integrationApps.json b/app/javascript/dashboard/i18n/locale/it/integrationApps.json index 0c7592443..ad210082c 100644 --- a/app/javascript/dashboard/i18n/locale/it/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/it/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Caricamento Integrazioni", "NO_HOOK_CONFIGURED": "Non ci sono integrazioni {integrationId} configurate in questo account.", "HEADER": "Applicazioni", + "COUNT": "{n} integrazione | {n} integrazioni", + "SEARCH_PLACEHOLDER": "Cerca...", + "NO_RESULTS": "Nessun risultato trovato corrispondente alla tua ricerca", "STATUS": { "ENABLED": "Abilitato", "DISABLED": "Disabilitato" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Caricamento hook integrazioni", "INBOX": "Inbox", + "ACTIONS": "Azioni", "DELETE": { "BUTTON_TEXT": "Elimina" } diff --git a/app/javascript/dashboard/i18n/locale/it/integrations.json b/app/javascript/dashboard/i18n/locale/it/integrations.json index c93f6905e..c39f064fa 100644 --- a/app/javascript/dashboard/i18n/locale/it/integrations.json +++ b/app/javascript/dashboard/i18n/locale/it/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Elimina Integrazione Shopify", "MESSAGE": "Sei sicuro di voler eliminare l'integrazione Shopify?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot si integra con più strumenti e servizi per migliorare l'efficienza del tuo team. Esplora l'elenco qui sotto per configurare le tue app preferite.", "LEARN_MORE": "Scopri di più sulle integrazioni", "LOADING": "Caricamento integrazioni", + "SEARCH_PLACEHOLDER": "Cerca integrazioni...", + "NO_RESULTS": "Nessuna integrazione trovata corrispondente alla tua ricerca", "CAPTAIN": { "DISABLED": "Captain non è abilitato sul tuo account.", "CLICK_HERE_TO_CONFIGURE": "Clicca qui per configurare", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Eventi Sottoscritti", "LEARN_MORE": "Scopri di più sui webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copia secret negli appunti", + "COPY_SUCCESS": "Secret copiato negli appunti", + "TOGGLE": "Cambia visibilità secret", + "CREATED_DESC": "Il tuo webhook è stato creato. Usa il secret qui sotto per verificare le signature del webhook. Per favore copialo ora — lo puoi ritrovare più tardi nel modulo di modifica webhook.", + "DONE": "Fatto" + }, + "COUNT": "{n} webhook | {n} webhook", + "SEARCH_PLACEHOLDER": "Cerca webhook...", + "NO_RESULTS": "Nessun webhook trovato corrispondente alla tua ricerca", "FORM": { "CANCEL": "Annulla", "DESC": "Gli eventi Webhook ti forniscono le informazioni in tempo reale su ciò che sta accadendo nel tuo account Chatwoot. Per favore inserisci un URL valido per configurare un callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Elimina", "DELETE_CONFIRMATION": { "TITLE": "Elimina l'integrazione", @@ -145,7 +160,29 @@ "EXPAND": "Espandi", "MAKE_FRIENDLY": "Cambia il tono del messaggio in amichevole", "MAKE_FORMAL": "Usa un tono formale", - "SIMPLIFY": "Semplifica" + "SIMPLIFY": "Semplifica", + "CONFIDENT": "Usa un tono sicuro", + "PROFESSIONAL": "Usa un tono professionale", + "CASUAL": "Usa un tono informale", + "STRAIGHTFORWARD": "Usa un tono diretto" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Migliora la risposta", + "IMPROVE_REPLY_SELECTION": "Migliora il testo selezionato", + "CHANGE_TONE": { + "TITLE": "Cambia tono", + "OPTIONS": { + "PROFESSIONAL": "Professionale", + "CASUAL": "Informale", + "STRAIGHTFORWARD": "Diretto", + "CONFIDENT": "Sicuro", + "FRIENDLY": "Amichevole" + } + }, + "GRAMMAR": "Correggi grammatica e ortografia", + "SUGGESTION": "Suggerisci una risposta", + "SUMMARIZE": "Riassumi la conversazione", + "ASK_COPILOT": "Chiedi a Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Contenuti in bozza", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

App dashboard

Le app dashboard consentono alle organizzazioni di incorporare un'applicazione all'interno di Chatwoot per fornire informazioni aggiuntive agli operatorii. Questa funzione consente di creare un'applicazione in modo indipendente e incorporata all'interno della dashboard per fornire informazioni degli utenti, ad esempio ordini o pagamenti effettuati.

Quando integri la tua applicazione usando la dashboard Chatwoot, la tua applicazione avrà il context della conversazione e del contatto come evento window. Implementa un listener per l'evento del messaggio sulla tua pagina per ricevere i dati.

Per aggiungere una nuova app dashboard, clicca sul pulsante 'Aggiungi una nuova app dashboard'.

", "DESCRIPTION": "Le app dashboard consentono alle organizzazioni di incorporare un'applicazione all'interno della dashboard per fornire dati aggiuntivi agli operatori. Questa funzione consente di creare un'applicazione in modo indipendente e incorporarla per fornire informazioni sull'utente, i suoi ordini o la loro cronologia di pagamento precedente.", "LEARN_MORE": "Scopri di più sulle App Dashboard", + "COUNT": "{n} app dashboard | {n} app dashboard", + "SEARCH_PLACEHOLDER": "Cerca app dashboard...", + "NO_RESULTS": "Nessuna app dashboard trovata corrispondente alla tua ricerca", "LIST": { "404": "Non ci sono ancora app dashboard configurate su questo account", "LOADING": "Caricamento app dashboard...", "TABLE_HEADER": { "NAME": "Nome", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Azioni" }, "EDIT_TOOLTIP": "Modifica app", "DELETE_TOOLTIP": "Elimina app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Crea/collega issue Linear", "LOADING": "Caricamento issue Linear...", "LOADING_ERROR": "Si è verificato un errore nel recupero delle issue Linear, si prega di riprovare", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Sei sicuro di voler eliminare l'integrazione di Notion?", "MESSAGE": "L'eliminazione di questa integrazione rimuoverà l'accesso al tuo workspace Notion e interromperà tutte le funzionalità correlate.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Puoi modificare o annullare il tuo piano in qualsiasi momento" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI è disponibile solo nei piani Enterprise.", "UPGRADE_PROMPT": "Aggiorna il tuo piano per ottenere l'accesso ai nostri assistenti, copilot e altro ancora.", "ASK_ADMIN": "Contatta il tuo amministratore per l'aggiornamento." }, diff --git a/app/javascript/dashboard/i18n/locale/it/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/it/labelsMgmt.json index 985b86f83..751ba027e 100644 --- a/app/javascript/dashboard/i18n/locale/it/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Recupero etichette", "DESCRIPTION": "Le etichette aiutano a categorizzare e dare priorità alle conversazioni e ai lead. È possibile assegnare un'etichetta a una conversazione o a un contatto utilizzando il pannello laterale.", "LEARN_MORE": "Maggiori informazioni sulle etichette", + "COUNT": "{n} etichetta | {n} etichette", + "SEARCH_PLACEHOLDER": "Cerca etichette...", + "NO_RESULTS": "Nessuna etichetta trovata corrispondente alla tua ricerca", "SEARCH_404": "Non ci sono elementi che corrispondono a questa richiesta", "LIST": { "404": "Non ci sono etichette disponibili in questo account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nome", "DESCRIPTION": "Descrizione", - "COLOR": "Colore" + "COLOR": "Colore", + "ACTION": "Azioni" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/it/macros.json b/app/javascript/dashboard/i18n/locale/it/macros.json index 263042a2f..1a05380ad 100644 --- a/app/javascript/dashboard/i18n/locale/it/macros.json +++ b/app/javascript/dashboard/i18n/locale/it/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macro", "DESCRIPTION": "Una macro è un insieme di azioni salvate che aiutano gli operatori del servizio clienti a completare facilmente le attività. Gli operatori possono definire un insieme di azioni, come l'aggiunta di un'etichetta a una converazione, l'invio di una trascrizione e-mail, l'aggiornamento di un attributo personalizzato, ecc. e possono eseguire queste azioni in un solo clic.", "LEARN_MORE": "Scopri di più sulle macro", + "COUNT": "{n} macro | {n} macro", "HEADER_BTN_TXT": "Aggiungi una nuova macro", "HEADER_BTN_TXT_SAVE": "Salva macro", "LOADING": "Caricamento macro", + "SEARCH_PLACEHOLDER": "Cerca macro...", + "NO_RESULTS": "Nessuna macro trovata corrispondente alla tua ricerca", "ERROR": "Qualcosa è andato storto. Riprova", "ORDER_INFO": "Le macro verranno eseguite nell'ordine in cui aggiungi le azioni. Puoi riordinarle trascinandole con la maniglia accanto ad ogni nodo.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nome", "CREATED BY": "Creata da", "LAST_UPDATED_BY": "Ultimo aggiornamento di", - "VISIBILITY": "Visibilità" + "VISIBILITY": "Visibilità", + "ACTIONS": "Azioni" }, "404": "Nessuna macro trovata" }, diff --git a/app/javascript/dashboard/i18n/locale/it/mfa.json b/app/javascript/dashboard/i18n/locale/it/mfa.json index 23d6846f7..8d705edf7 100644 --- a/app/javascript/dashboard/i18n/locale/it/mfa.json +++ b/app/javascript/dashboard/i18n/locale/it/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Autenticazione a Due Fattori", - "SUBTITLE": "Proteggi il tuo account con autenticazione basata su TOTP", + "SUBTITLE": "Proteggi il tuo account da accessi non autorizzati con l'autenticazione TOTP. Questa aggiunge un ulteriore livello di sicurezza al tuo account.", "DESCRIPTION": "Aggiungi un ulteriore livello di sicurezza al tuo account utilizzando una password monouso a tempo (TOTP)", "STATUS_TITLE": "Stato dell'Autenticazione", "STATUS_DESCRIPTION": "Gestisci le impostazioni di autenticazione a due fattori e i codici di recupero di backup", diff --git a/app/javascript/dashboard/i18n/locale/it/report.json b/app/javascript/dashboard/i18n/locale/it/report.json index 13694e2af..f00e65df8 100644 --- a/app/javascript/dashboard/i18n/locale/it/report.json +++ b/app/javascript/dashboard/i18n/locale/it/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversazioni", "LOADING_CHART": "Caricamento dati grafici...", "NO_ENOUGH_DATA": "Non ci sono abbastanza dati per generare il report, riprova più tardi.", - "DOWNLOAD_AGENT_REPORTS": "Scarica report operatori", + "DOWNLOAD_CONVERSATION_REPORTS": "Scarica report conversazioni", "DATA_FETCHING_FAILED": "Impossibile recuperare i dati, riprova più tardi.", "SUMMARY_FETCHING_FAILED": "Impossibile recuperare il riepilogo, riprova più tardi.", "METRICS": { @@ -133,6 +133,11 @@ "NO_ENOUGH_DATA": "Non ci sono abbastanza dati per generare il report, riprova più tardi.", "DOWNLOAD_AGENT_REPORTS": "Scarica report operatori", "FILTER_DROPDOWN_LABEL": "Seleziona Operatore", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Cerca operatori" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversazioni", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Non ci sono abbastanza dati per generare il report, riprova più tardi.", "DOWNLOAD_LABEL_REPORTS": "Scarica report etichette", "FILTER_DROPDOWN_LABEL": "Seleziona etichetta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Cerca etichette" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversazioni", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Seleziona Inbox", "ALL_INBOXES": "Tutte le Inbox", "SEARCH_INBOX": "Ricerca Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Ricerca Inbox" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversazioni", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Panoramica Team", - "DESCRIPTION": "Ottieni un'istantanea delle prestazioni del tuo team con metriche essenziali, tra cui conversazioni, tempi di risposta, tempi di risoluzione e casi risolti. Fare clic su un nome del team per maggiori dettagli.", + "DESCRIPTION": "Ottieni un'istantanea delle performance dei tuo team con metriche essenziali, tra cui conversazioni, tempi di risposta, tempi di risoluzione e casi risolti. Fai clic su un team per maggiori dettagli.", "LOADING_CHART": "Caricamento dati grafici...", "NO_ENOUGH_DATA": "Non ci sono abbastanza dati per generare il report, riprova più tardi.", "DOWNLOAD_TEAM_REPORTS": "Scarica report del team", "FILTER_DROPDOWN_LABEL": "Seleziona Team", + "FILTERS": { + "ADD_FILTER": "Aggiungi filtro", + "CLEAR_ALL": "Rimuovi tutto", + "NO_FILTER": "Nessun filtro disponibile", + "INPUT_PLACEHOLDER": { + "TEAMS": "Cerca team" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversazioni", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Report CSAT", - "NO_RECORDS": "Non ci sono risposte ai sondaggi CSAT disponibili.", + "NO_RECORDS": "Ancora nessuna risposta", + "NO_RECORDS_DESCRIPTION": "Le risposte dei sondaggi CSAT appariranno qui appena i clienti inizieranno a fornire feedback.", "DOWNLOAD": "Scarica report CSAT", "DOWNLOAD_FAILED": "Download dei report CSAT non riuscito", "FILTERS": { + "ADD_FILTER": "Aggiungi filtro", + "CLEAR_ALL": "Rimuovi tutto", + "NO_FILTER": "Nessun filtro disponibile", + "INPUT_PLACEHOLDER": { + "AGENTS": "Cerca operatori", + "INBOXES": "Ricerca Inbox", + "TEAMS": "Cerca team", + "RATINGS": "Cerca valutazioni" + }, "AGENTS": { - "PLACEHOLDER": "Scegli Operatori" + "LABEL": "Operatore" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Valutazione" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contatto", - "AGENT_NAME": "Operatore assegnato", + "AGENT_NAME": "Operatore", "RATING": "Valutazione", - "FEEDBACK_TEXT": "Commento del feedback" - } + "FEEDBACK_TEXT": "Commento del feedback", + "CONVERSATION": "Conversazione", + "CUSTOMER": "Cliente", + "RESPONSE": "Risposta", + "HANDLED_BY": "Gestito da" + }, + "UNKNOWN_CUSTOMER": "Cliente sconosciuto" }, + "NO_AGENT": "Nessun operatore assegnato", + "NO_FEEDBACK": "Nessun feedback fornito", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Risposte totali", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Tasso di risposta", "TOOLTIP": "Numero totale di risposte / Numero totale di messaggi di sondaggio CSAT inviati * 100" + }, + "RATING_DISTRIBUTION": "Distribuzione del rating" + }, + "REVIEW_NOTES": { + "TITLE": "Note revisione", + "PLACEHOLDER": "Aggiungi note revisione su questa valutazione...", + "SAVE": "Salva", + "CANCEL": "Annulla", + "SAVING": "Salvataggio...", + "SAVED": "Note salvate correttamente", + "SAVE_ERROR": "Impossibile salvare le note", + "UPDATED_BY": "Aggiornato da {name} {time}", + "UPDATED_BY_LABEL": "Aggiornato da", + "PAYWALL": { + "TITLE": "Aggiorna per aggiungere note revisione", + "AVAILABLE_ON": "La funzionalità note revisione è disponibile solo nei piani Business e Enterprise.", + "UPGRADE_PROMPT": "Aggiungi note di revisione interne a ogni risposta CSAT. Comprendi meglio cosa è successo davvero, individua i pattern più rapidamente e prendi decisioni migliori a partire dal feedback.", + "UPGRADE_NOW": "Aggiorna ora", + "CANCEL_ANYTIME": "Puoi modificare o annullare il tuo piano in qualsiasi momento" } } }, diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json index e57739197..b4abc7708 100644 --- a/app/javascript/dashboard/i18n/locale/it/settings.json +++ b/app/javascript/dashboard/i18n/locale/it/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Scarica", "UPLOADING": "Caricamento...", - "INSTAGRAM_STORY_UNAVAILABLE": "Questa storia non è più disponibile." + "INSTAGRAM_STORY_UNAVAILABLE": "Questa storia non è più disponibile.", + "INSTAGRAM_STORY_REPLY": "Ha risposto alla tua storia:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Vedi sulla mappa" @@ -378,7 +379,57 @@ "INFO_SHORT": "Imposta automaticamente offline quando non stai usando l'app." }, "DOCS": "Leggi i documenti", - "SECURITY": "Sicurezza" + "SECURITY": "Sicurezza", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Workflow Conversazione" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Impostazioni Captain", + "DESCRIPTION": "Configura i tuoi modelli AI e le funzionalità di Captain. La fatturazione di Captain si basa sui crediti, che ti verranno scalati per ogni azione di Captain in base al modello selezionato.", + "LOADING": "Caricamento configurazione Captain...", + "LINK_TEXT": "Scopri di più sui Crediti Captain", + "NOT_ENABLED": "Captain non è abilitato per il tuo account. Aggiorna il tuo piano per accedere alle funzionalità Captain.", + "MODEL_CONFIG": { + "TITLE": "Configurazione Modello", + "DESCRIPTION": "Seleziona modelli AI per le varie funzionalità.", + "SELECT_MODEL": "Seleziona modello", + "CREDITS_PER_MESSAGE": "{credits} crediti/messaggio", + "COMING_SOON": "In arrivo", + "EDITOR": { + "TITLE": "Funzionalità Editor", + "DESCRIPTION": "Permette smart compose, correzioni grammaticali, gestione del tono di voce e miglioramento del contenuto nell'editor dei messaggi." + }, + "ASSISTANT": { + "TITLE": "Assistente", + "DESCRIPTION": "Gestisce risposte automatizzate, riassunti delle conversazioni e suggerimenti di risposta intelligenti per le interazioni con i clienti." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Fornisce suggerimenti contestuali in tempo reale, consigli sulla knowledge base e insight proattivi durante le conversazioni." + } + }, + "FEATURES": { + "TITLE": "Funzionalità", + "DESCRIPTION": "Abilita o disabilita le funzionalità AI.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Trascrizione Audio", + "DESCRIPTION": "Converte automaticamente i messaggi vocali e le registrazioni delle chiamate in trascrizioni di testo ricercabili." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Indicizzazione Ricerca Help Center", + "DESCRIPTION": "Usa l'AI per effettuare una ricerca contestualizzata tra gli articoli dell'help center." + }, + "LABEL_SUGGESTION": { + "TITLE": "Suggerimento Etichette", + "DESCRIPTION": "Suggerisce automaticamente etichette e tag rilevanti per le conversazioni in base all'analisi e al contesto dei contenuti.", + "MODEL_TITLE": "Modello Di Suggerimento Etichette", + "MODEL_DESCRIPTION": "Seleziona il modello AI da utilizzare per analizzare le conversazioni e suggerire etichette appropriate" + } + }, + "API": { + "SUCCESS": "Impostazioni Captain aggiornate con successo.", + "ERROR": "Impossibile aggiornare le impostazioni Captain. Per favore riprova." + } }, "BILLING_SETTINGS": { "TITLE": "Fatturazione", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Workflow Conversazione", + "DESCRIPTION": "Configura regole e campi obbligatori per la risoluzione delle conversazioni." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributi richiesti per la risoluzione", + "DESCRIPTION": "Quando si risolve una conversazione, agli operatori verrà chiesto di compilare questi attributi se non sono ancora stati compilati.", + "NO_ATTRIBUTES": "Nessun attributo aggiunto", + "ADD": { + "TITLE": "Aggiungi Attributi", + "SEARCH_PLACEHOLDER": "Cerca attributi" + }, + "SAVE": { + "SUCCESS": "Attributi richiesti aggiornati", + "ERROR": "Impossibile aggiornare gli attributi richiesti, riprova" + }, + "MODAL": { + "TITLE": "Risolvi la conversazione", + "DESCRIPTION": "Inserisci i seguenti attributi personalizzati prima di risolvere questa conversazione", + "ACTIONS": { + "RESOLVE": "Risolvi la conversazione", + "CANCEL": "Annulla" + }, + "PLACEHOLDERS": { + "TEXT": "Scrivi una nota...", + "NUMBER": "Inserisci un numero", + "LINK": "Aggiungi un link", + "DATE": "Scegli una data", + "LIST": "Seleziona un'opzione" + }, + "CHECKBOX": { + "YES": "Sì", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Aggiorna per utilizzare gli attributi richiesti", + "AVAILABLE_ON": "La funzionalità Attributi di Conversazione Richiesti è disponibile solo nei piani Business e Enterprise.", + "UPGRADE_PROMPT": "Aggiorna il tuo piano per chiedere agli operatori di compilare gli attributi richiesti prima della risoluzione della conversazione.", + "UPGRADE_NOW": "Aggiorna ora", + "CANCEL_ANYTIME": "Puoi modificare o annullare il tuo piano in qualsiasi momento" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "La funzionalità Attributi di Conversazione Richiesti è disponibile solo nei piani a pagamento.", + "UPGRADE_PROMPT": "Passa a un piano a pagamento per imporre gli attributi richiesti prima della risoluzione della conversazione.", + "ASK_ADMIN": "Contatta il tuo amministratore per l'aggiornamento." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! Non abbiamo trovato alcun account Chatwoot. Si prega di creare un nuovo account per continuare.", "NEW_ACCOUNT": "Nuovo account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Crea policy", "API": { "SUCCESS_MESSAGE": "Policy di assegnazione creata con successo", - "ERROR_MESSAGE": "Impossibile creare la policy di assegnazione" + "ERROR_MESSAGE": "Impossibile creare la policy di assegnazione", + "INBOX_LINKED": "La inbox è stata collegata alla policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continua", "CANCEL_BUTTON_LABEL": "Annulla" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Collega inbox alla policy", + "DESCRIPTION": "Vuoi collegare questa inbox alla policy di assegnazione?", + "LINK_BUTTON": "Collega inbox", + "CANCEL_BUTTON": "Salta" + }, "API": { "SUCCESS_MESSAGE": "Policy di assegnazione aggiornata con successo", "ERROR_MESSAGE": "Aggiornamento della policy di assegnazione non riuscito" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Bilanciato", - "DESCRIPTION": "Assegna le conversazioni in base alla capacità disponibile." + "DESCRIPTION": "Assegna le conversazioni in base alla capacità disponibile.", + "PREMIUM_MESSAGE": "Fai l’upgrade per accedere all’assegnazione bilanciata e alla gestione della capacità degli operatori.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Operatore rimosso correttamente dalla policy", "ERROR_MESSAGE": "Impossibile rimuovere l’operatore dalla policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Limite inbox aggiunto con successo", + "ERROR_MESSAGE": "Impossibile aggiungere il limite inbox" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Limite inbox aggiornato con successo", + "ERROR_MESSAGE": "Impossibile aggiornare il limite inbox" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Limite inbox eliminato con successo", + "ERROR_MESSAGE": "Impossibile eliminare il limite inbox" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/it/signup.json b/app/javascript/dashboard/i18n/locale/it/signup.json index ab825e53c..86c8fdf2f 100644 --- a/app/javascript/dashboard/i18n/locale/it/signup.json +++ b/app/javascript/dashboard/i18n/locale/it/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Crea un account", + "GET_STARTED": "Inizia con Chatwoot", "TITLE": "Registrati", "TESTIMONIAL_HEADER": "Basta uno step per proseguire", "TESTIMONIAL_CONTENT": "Sei a un passo dal coinvolgere i tuoi clienti, fidelizzarli e trovarne di nuovi.", diff --git a/app/javascript/dashboard/i18n/locale/it/sla.json b/app/javascript/dashboard/i18n/locale/it/sla.json index 9be1f9102..478179c60 100644 --- a/app/javascript/dashboard/i18n/locale/it/sla.json +++ b/app/javascript/dashboard/i18n/locale/it/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Crea una nuova policy SLA", "DESCRIPTION": "I Service Level Agreement (SLA) sono contratti che definiscono chiare aspettative tra il team e i clienti. Stabiliscono norme per i tempi di risposta e di risoluzione, creando un quadro per la responsabilità e garantendo un'esperienza coerente e di alta qualità.", "LEARN_MORE": "Scopri di più su SLA", + "COUNT": "{n} SLA | {n} SLA", "LOADING": "Caricamento SLA", + "SEARCH_PLACEHOLDER": "Cerca SLA...", + "SEARCH": { + "NO_RESULTS": "Nessun SLA trovato corrispondente alla tua ricerca" + }, "PAYWALL": { "TITLE": "Aggiorna per creare SLA", "AVAILABLE_ON": "La funzionalità SLA è disponibile solo nei piani Business e Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "Non ci sono SLA disponibili in questo account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Orario di lavoro" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Problemi sollevati dai clienti enterprise, che richiedono un'attenzione immediata.", "TITLE_2": "Enterprise P1", "DESC_2": "Problemi sollevati dai clienti enterprise, che devono essere riconosciuti rapidamente." }, - "BUSINESS_HOURS_ON": "Orario di lavoro attivo", - "BUSINESS_HOURS_OFF": "Orario di lavoro disattivo", + "BUSINESS_HOURS_ON": "Abilitato", + "BUSINESS_HOURS_OFF": "Disabilitato", "RESPONSE_TYPES": { "FRT": "Soglia tempo di prima risposta", "NRT": "Soglia tempo di risposta successiva", diff --git a/app/javascript/dashboard/i18n/locale/it/snooze.json b/app/javascript/dashboard/i18n/locale/it/snooze.json new file mode 100644 index 000000000..2abda2fd9 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/it/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minuto", + "MINUTES": "minuti", + "HOUR": "ora", + "HOURS": "ore", + "DAY": "giorno", + "DAYS": "giorni", + "WEEK": "settimana", + "WEEKS": "settimane", + "MONTH": "mese", + "MONTHS": "mesi", + "YEAR": "anno", + "YEARS": "anni" + }, + "HALF": "mezza", + "NEXT": "prossimo", + "THIS": "questo", + "AT": "alle", + "IN": "in", + "FROM_NOW": "da adesso", + "NEXT_YEAR": "il prossimo anno", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "domani", + "DAY_AFTER_TOMORROW": "dopodomani", + "NEXT_WEEK": "prossima settimana", + "NEXT_MONTH": "il mese prossimo", + "THIS_WEEKEND": "questo fine settimana", + "NEXT_WEEKEND": "il prossimo fine settimana" + }, + "TIME_OF_DAY": { + "MORNING": "mattina", + "AFTERNOON": "pomeriggio", + "EVENING": "sera", + "NIGHT": "notte", + "NOON": "mezzogiorno", + "MIDNIGHT": "mezzanotte" + }, + "WORD_NUMBERS": { + "ONE": "uno", + "TWO": "due", + "THREE": "tre", + "FOUR": "quattro", + "FIVE": "cinque", + "SIX": "sei", + "SEVEN": "sette", + "EIGHT": "otto", + "NINE": "nove", + "TEN": "dieci", + "TWELVE": "dodici", + "FIFTEEN": "quindici", + "TWENTY": "venti", + "THIRTY": "trenta" + }, + "ORDINALS": { + "FIRST": "primo", + "SECOND": "secondo", + "THIRD": "terzo", + "FOURTH": "quarto", + "FIFTH": "quinto" + }, + "OF": "di", + "AFTER": "dopo", + "WEEK": "settimana", + "DAY": "giorno" + } +} diff --git a/app/javascript/dashboard/i18n/locale/it/teamsSettings.json b/app/javascript/dashboard/i18n/locale/it/teamsSettings.json index d83e61db2..b024117aa 100644 --- a/app/javascript/dashboard/i18n/locale/it/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/it/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Caricamento team", "DESCRIPTION": "I Team ti permettono di organizzare gli operatori in gruppi in base alle loro responsabilità. Un operatore può appartenere a più team. Quando si lavora in collaborazione, è possibile assegnare conversazioni a team specifici.", "LEARN_MORE": "Scopri di più sui team", + "COUNT": "{n} team | {n} team", + "SEARCH_PLACEHOLDER": "Cerca team...", + "NO_RESULTS": "Nessun team trovato corrispondente alla tua ricerca", "LIST": { "404": "Non ci sono team creati su questo account.", "EDIT_TEAM": "Modifica team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Impossibile salvare i dettagli del team. Riprova." }, "AGENTS": { - "AGENT": "OPERATORE", - "EMAIL": "EMAIL", + "AGENT": "Operatore", + "EMAIL": "Email", "BUTTON_TEXT": "Aggiungi operatori", "ADD_AGENTS": "Aggiungendo gli Operatori al tuo Team...", "SELECT": "seleziona", diff --git a/app/javascript/dashboard/i18n/locale/ja/agentBots.json b/app/javascript/dashboard/i18n/locale/ja/agentBots.json index 0b50ce755..776fa5517 100644 --- a/app/javascript/dashboard/i18n/locale/ja/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ja/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "エディターを読み込んでいます...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "システム", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "ボットを取得中...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "操作" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ja/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ja/agentMgmt.json index 03440c503..55d1020ed 100644 --- a/app/javascript/dashboard/i18n/locale/ja/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "管理者", "AGENT": "担当者" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "このアカウントに関連付けられている担当者はありません。", "TITLE": "チームの担当者を管理する", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Woot Serverに接続できませんでした。後でもう一度お試しください。" } }, + "SEARCH_PLACEHOLDER": "担当者を検索...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "該当する結果が見つかりませんでした。" }, diff --git a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json index 79698ca09..28fc50bba 100644 --- a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "カスタム属性を取得中", "DESCRIPTION": "カスタム属性は、連絡先や会話に関する追加の詳細(例:サブスクリプションプランや初回購入日など)を記録します。必要な情報をキャプチャするために、テキスト、リスト、数値など、さまざまなタイプのカスタム属性を追加できます。", "LEARN_MORE": "カスタム属性について詳しく学ぶ", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "属性を検索...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "会話", "CONTACT": "連絡先" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "正規表現の検証を有効にする" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ja/automation.json b/app/javascript/dashboard/i18n/locale/ja/automation.json index e293da3a9..f8def7fba 100644 --- a/app/javascript/dashboard/i18n/locale/ja/automation.json +++ b/app/javascript/dashboard/i18n/locale/ja/automation.json @@ -3,8 +3,11 @@ "HEADER": "自動化", "DESCRIPTION": "自動化は、ラベルの追加や会話を最適な担当者に割り当てるといった手動で行う必要のある既存のプロセスを置き換え、効率化することができます。これにより、チームは強みを発揮しつつ、ルーチンタスクに費やす時間を削減できます。", "LEARN_MORE": "自動化について学ぶ", - "HEADER_BTN_TXT": "自動化ルールを追加", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "自動化ルールを取得中", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "自動化ルールを追加", "SUBMIT": "作成", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "名前", - "DESCRIPTION": "説明", "ACTIVE": "有効", - "CREATED_ON": "作成日" + "CREATED_ON": "作成日", + "ACTIONS": "操作" }, "404": "自動化ルールが見つかりません" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "優先度を変更", "ADD_SLA": "SLAを追加", - "OPEN_CONVERSATION": "会話を開く" + "OPEN_CONVERSATION": "会話を開く", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ja/bulkActions.json b/app/javascript/dashboard/i18n/locale/ja/bulkActions.json index 71aa033ce..44be5fb4f 100644 --- a/app/javascript/dashboard/i18n/locale/ja/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ja/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "会話のステータスが正常に更新されました。", "UPDATE_FAILED": "会話の更新に失敗しました。再試行してください。" }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "ラベルを割り当てる", "NO_LABELS_FOUND": "ラベルが見つかりません", diff --git a/app/javascript/dashboard/i18n/locale/ja/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ja/cannedMgmt.json index 426c78097..c2178f610 100644 --- a/app/javascript/dashboard/i18n/locale/ja/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "定型文", "LEARN_MORE": "定型文について詳しく学ぶ", "DESCRIPTION": "定型文は、会話に迅速に返信するための事前に書かれた返信テンプレートです。担当者は '/' 文字の後にショートコードを入力することで、会話中に定型文を挿入できます。", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "定型文を追加", "LOADING": "定型文を取得中...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "検索内容(クエリ)に一致する項目はありませんでした。", "LIST": { "404": "このアカウントには、利用可能な定型文の回答はありません。", diff --git a/app/javascript/dashboard/i18n/locale/ja/chatlist.json b/app/javascript/dashboard/i18n/locale/ja/chatlist.json index 47205da5e..192a94140 100644 --- a/app/javascript/dashboard/i18n/locale/ja/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ja/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "保留時間: 短い順" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json index 88d0d461e..3b9bb73a7 100644 --- a/app/javascript/dashboard/i18n/locale/ja/contact.json +++ b/app/javascript/dashboard/i18n/locale/ja/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Instagramを追加" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "検索に一致する連絡先はありません 🔍", "LIST_EMPTY_STATE_TITLE": "このビューには利用可能な連絡先がありません 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "さらに読み込む" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "この連絡先と会話を開始するための利用可能なインボックスがありません。", "CONTACT_SELECTOR": { "LABEL": "宛先:", - "TAG_INPUT_PLACEHOLDER": "名前、メールアドレス、または電話番号で連絡先を検索", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "連絡先を作成中..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "件名 :", "SUBJECT_PLACEHOLDER": "メールの件名を入力", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "メールアドレスで連絡先を検索", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "メールアドレスで連絡先を検索", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json index f24d8f208..25a3d01fc 100644 --- a/app/javascript/dashboard/i18n/locale/ja/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "このメッセージはサポートされていません。Facebook / Instagram で表示できます。", "UNSUPPORTED_MESSAGE_FACEBOOK": "このメッセージはサポートされていません。Facebook Messengerでこのメッセージを表示できます。", "UNSUPPORTED_MESSAGE_INSTAGRAM": "このメッセージはサポートされていません。このメッセージは Instagram で表示できます。", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "メッセージの削除に成功", "FAIL_DELETE_MESSSAGE": "メッセージを削除できませんでした!もう一度お試しください", "NO_RESPONSE": "返信なし", @@ -173,6 +174,10 @@ "SUCCESFUL": "会話ID {conversationId} に ラベル #{labelName} を割り当てました", "FAILED": "ラベルを割り当てることができませんでした。もう一度やり直してください。" }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "会話ID {conversationId} に \"{team}\" チームを割り当てました", "FAILED": "チームを割り当てることができませんでした。もう一度お試しください。" @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "署名を無効化", "MSG_INPUT": "Shift + Enter で新しい行を作成します。「/」で開始すると、定型文回答を選択できます。", "PRIVATE_MSG_INPUT": "Shift + Enter で新しい行を作成します。これは担当者にのみ表示されます。", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "メッセージ署名が構成されていません。プロフィール設定で構成してください。", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "ここをクリックして更新", "WHATSAPP_TEMPLATES": "Whatsapp テンプレート" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "添付するにはここにドラッグ&ドロップ", "START_AUDIO_RECORDING": "音声録音を開始", "STOP_AUDIO_RECORDING": "音声録音を停止", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "宛先", "ADD_BCC": "Bcc を追加", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "ファイルが {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB の添付ファイル制限を超えています", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "このメッセージを送信できません。後でもう一度お試しください", "SENT_BY": "送信者:", "BOT": "ボット", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "メッセージを送信できませんでした!再試行してください", "TRY_AGAIN": "再試行", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "キャンセル", "SEND_EMAIL_SUCCESS": "チャットの記録は正常に送信されました", "SEND_EMAIL_ERROR": "エラーが発生しました。もう一度お試しください。", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "顧客に会話の記録を転送する", "SEND_TO_AGENT": "担当者に記録を送信する", diff --git a/app/javascript/dashboard/i18n/locale/ja/customRole.json b/app/javascript/dashboard/i18n/locale/ja/customRole.json index 05c0a47cb..8fbabb188 100644 --- a/app/javascript/dashboard/i18n/locale/ja/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ja/customRole.json @@ -3,8 +3,11 @@ "HEADER": "カスタムロール", "LEARN_MORE": "カスタムロールについて詳しく学ぶ", "DESCRIPTION": "カスタムロールは、アカウントオーナーまたは管理者によって作成されるロールです。これらのロールは、担当者に割り当てて、アカウント内でのアクセス権と権限を定義できます。カスタムロールは、組織の要件に合わせて特定の権限とアクセスレベルで作成できます。", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "カスタムロールを追加", "LOADING": "カスタムロールを取得中...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "検索内容(クエリ)に一致する項目はありませんでした。", "PAYWALL": { "TITLE": "アップグレードしてカスタムロールを作成", diff --git a/app/javascript/dashboard/i18n/locale/ja/datePicker.json b/app/javascript/dashboard/i18n/locale/ja/datePicker.json index 8df29dacf..6f71359d9 100644 --- a/app/javascript/dashboard/i18n/locale/ja/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ja/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "適用", "CLEAR_BUTTON": "クリア", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "過去 3 ヶ月", "LAST_6_MONTHS": "過去 6 ヶ月", "LAST_YEAR": "過去 1 年", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "カスタム日付範囲" } } diff --git a/app/javascript/dashboard/i18n/locale/ja/general.json b/app/javascript/dashboard/i18n/locale/ja/general.json index 053437bec..13daf31d8 100644 --- a/app/javascript/dashboard/i18n/locale/ja/general.json +++ b/app/javascript/dashboard/i18n/locale/ja/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "閉じる", "BETA": "ベータ版", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "破棄", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "はい", + "NO": "いいえ" } } diff --git a/app/javascript/dashboard/i18n/locale/ja/generalSettings.json b/app/javascript/dashboard/i18n/locale/ja/generalSettings.json index 38f0747df..69776169e 100644 --- a/app/javascript/dashboard/i18n/locale/ja/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ja/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "検索または移動", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "全般", "REPORTS": "レポート", diff --git a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json index c82866cfe..022d15038 100644 --- a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "記事の削除中にエラーが発生しました" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "記事の見出しと内容を追加してから設定を更新してください" }, diff --git a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json index bbc4a0d30..c80a9c560 100644 --- a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "受信トレイ", "DESCRIPTION": "チャンネルは、顧客があなたとやり取りするために選択する通信手段です。受信トレイは、特定のチャンネルのやり取りを管理する場所です。メール、ライブチャット、ソーシャルメディアなど、さまざまなソースからの通信を含むことができます。", "LEARN_MORE": "受信トレイについて詳しく知る", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "受信トレイが切断されました。再認証するまで新しいメッセージを受信できません。", "CLICK_TO_RECONNECT": "再接続するにはここをクリック。", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "メールヘッダーの送信者名に設定されたビジネス名のみを使用します。" }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ ビジネス名を設定する", + "BUTTON_TEXT": "ビジネス名を設定する", "PLACEHOLDER": "ビジネス名を入力してください", "SAVE_BUTTON_TEXT": "保存" } @@ -589,8 +592,10 @@ "DISABLED": "無効です" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "有効です", - "DISABLED": "無効です" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "有効にする" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "顧客満足度" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "担当者名をメールに表示するかどうかを設定します。無効にするとビジネス名が表示されます。", "ENABLE_CONTINUITY_VIA_EMAIL": "メールによる会話の継続を有効にする", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "連絡先のメールアドレスが利用可能な場合、会話はメールで継続されます。", - "LOCK_TO_SINGLE_CONVERSATION": "単一会話にロックする", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "この受信トレイで同じ連絡先に対して複数の会話を有効または無効にする", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "受信トレイの設定", "INBOX_UPDATE_SUB_TEXT": "受信トレイの設定を更新する", "AUTO_ASSIGNMENT_SUB_TEXT": "この受信トレイに追加された担当者への新しい会話の自動割り当てを有効または無効にします。", @@ -758,6 +765,7 @@ "LABEL": "ヘルプセンター", "PLACEHOLDER": "ヘルプセンターを選択", "SELECT_PLACEHOLDER": "ヘルプセンターを選択", + "NONE": "なし", "REMOVE": "ヘルプセンターを削除", "SUB_TEXT": "受信トレイにヘルプセンターを添付する" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "0より大きい値を入力してください", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "この受信トレイから担当者に自動割り当てできる会話の最大数を制限します" }, + "ASSIGNMENT": { + "TITLE": "会話の割り当て", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "有効", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "キャンセル", + "CONFIRM_DELETE": "削除", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "再認証", "SUBTITLE": "Facebookの接続が期限切れになりました。サービスを継続するには、Facebookページを再接続してください。", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "戻る" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "訪問者への不在メッセージ", "TOGGLE_HELP": "営業時間を有効にすると、すべての担当者がオフラインでもライブチャットウィジェットに利用可能時間が表示されます。利用可能時間外には、訪問者にメッセージとプレチャットフォームで警告できます。", "DAY": { + "DAY": "日", + "AVAILABILITY": "利用可能期間", + "HOURS": "Hours", "ENABLE": "この日の利用可能時間を有効にする", "UNAVAILABLE": "不在", - "HOURS": "時間", "VALIDATION_ERROR": "開始時間は終了時間より前でなければなりません。", "CHOOSE": "選択" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "1日以内" }, "WIDGET_COLOR_LABEL": "ウィジェットの色", - "WIDGET_BUBBLE_POSITION_LABEL": "ウィジェットバブルの位置", - "WIDGET_BUBBLE_TYPE_LABEL": "ウィジェットバブルのタイプ", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "タイプ:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "チャットをする", - "LABEL": "ウィジェットバブルランチャータイトル", + "LABEL": "Launcher Title", "PLACE_HOLDER": "チャットをする" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "通常数分以内にご返信します。", diff --git a/app/javascript/dashboard/i18n/locale/ja/integrationApps.json b/app/javascript/dashboard/i18n/locale/ja/integrationApps.json index c836cc1b1..575eed497 100644 --- a/app/javascript/dashboard/i18n/locale/ja/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ja/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "連携情報を取得中", "NO_HOOK_CONFIGURED": "このアカウントには{integrationId}の連携が設定されていません。", "HEADER": "アプリケーション", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "検索...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "有効", "DISABLED": "無効" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "連携設定を取得中", "INBOX": "受信トレイ", + "ACTIONS": "操作", "DELETE": { "BUTTON_TEXT": "削除" } diff --git a/app/javascript/dashboard/i18n/locale/ja/integrations.json b/app/javascript/dashboard/i18n/locale/ja/integrations.json index f83d0f848..6091540e6 100644 --- a/app/javascript/dashboard/i18n/locale/ja/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ja/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwootは、チームの効率を向上させるために複数のツールやサービスと連携します。以下のリストを探索して、お気に入りのアプリを設定してください。", "LEARN_MORE": "連携について詳しく知る", "LOADING": "連携を取得中", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captainはあなたのアカウントで有効になっていません。", "CLICK_HERE_TO_CONFIGURE": "設定するにはここをクリック", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "購読イベント", "LEARN_MORE": "Webhookについて詳しく知る", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "キャンセル", "DESC": "Webhookイベントは、Chatwootアカウントで何が起こっているかについてのリアルタイムの情報を提供します。コールバックを設定するには有効なURLを入力してください。", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "削除", "DELETE_CONFIRMATION": { "TITLE": "連携の削除", @@ -145,7 +160,29 @@ "EXPAND": "拡張", "MAKE_FRIENDLY": "メッセージのトーンをフレンドリーに変更", "MAKE_FORMAL": "フォーマルトーンを使用", - "SIMPLIFY": "簡素化" + "SIMPLIFY": "簡素化", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "プロフェッショナル", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "フレンドリー" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "下書き内容", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

ダッシュボードアプリ

ダッシュボードアプリを使用すると、組織はChatwootダッシュボード内にアプリケーションを埋め込んで、カスタマーサポート担当者にコンテキストを提供できます。この機能により、アプリケーションを独立して作成し、ユーザー情報、注文履歴、または以前の支払い履歴を提供するためにダッシュボード内に埋め込むことができます。

Chatwootのダッシュボードを使用してアプリケーションを埋め込むと、アプリケーションはウィンドウイベントとして会話と連絡先のコンテキストを取得します。ページ上でメッセージイベントのリスナーを実装してコンテキストを受信します。

新しいダッシュボードアプリを追加するには、「新しいダッシュボードアプリを追加」ボタンをクリックしてください。

", "DESCRIPTION": "ダッシュボードアプリを使用すると、組織はダッシュボード内にアプリケーションを埋め込んで、カスタマーサポート担当者にコンテキストを提供できます。この機能により、アプリケーションを独立して作成し、ユーザー情報、注文履歴、または以前の支払い履歴を提供するために埋め込むことができます。", "LEARN_MORE": "ダッシュボードアプリについて詳しく知る", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "このアカウントにはまだダッシュボードアプリが設定されていません", "LOADING": "ダッシュボードアプリを取得中...", "TABLE_HEADER": { "NAME": "名前", - "ENDPOINT": "エンドポイント" + "ENDPOINT": "エンドポイント", + "ACTIONS": "操作" }, "EDIT_TOOLTIP": "アプリを編集", "DELETE_TOOLTIP": "アプリを削除" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Linear Issueを作成/リンク", "LOADING": "Linearの課題を取得中...", "LOADING_ERROR": "Linearの課題を取得中にエラーが発生しました。もう一度お試しください", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "プランはいつでも変更またはキャンセルできます" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "アシスタント、Copilotなどにアクセスするには、プランをアップグレードしてください。", "ASK_ADMIN": "管理者にアップグレードを依頼してください。" }, diff --git a/app/javascript/dashboard/i18n/locale/ja/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ja/labelsMgmt.json index a8fdb3b4c..1af824c19 100644 --- a/app/javascript/dashboard/i18n/locale/ja/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "ラベルを取得中", "DESCRIPTION": "ラベルは会話やリードを分類し、優先順位をつけるのに役立ちます。サイドパネルを使用して会話や連絡先にラベルを割り当てることができます。", "LEARN_MORE": "ラベルについて詳しく知る", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "ラベルを検索...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "検索内容(クエリ)に一致する項目はありませんでした", "LIST": { "404": "このアカウントには利用可能なラベルがありません。", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "名前", "DESCRIPTION": "説明", - "COLOR": "色" + "COLOR": "色", + "ACTION": "操作" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ja/macros.json b/app/javascript/dashboard/i18n/locale/ja/macros.json index 39813bfb6..0a1bbbca5 100644 --- a/app/javascript/dashboard/i18n/locale/ja/macros.json +++ b/app/javascript/dashboard/i18n/locale/ja/macros.json @@ -3,9 +3,12 @@ "HEADER": "マクロ", "DESCRIPTION": "マクロは、カスタマーサービス担当者がタスクを簡単に完了できるようにする保存されたアクションのセットです。会話にラベルを付ける、メール記録を送信する、カスタム属性を更新するなどのアクションを定義でき、それらのアクションをワンクリックで実行できます。", "LEARN_MORE": "マクロについて詳しく知る", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "新しいマクロを追加", "HEADER_BTN_TXT_SAVE": "マクロを保存", "LOADING": "マクロを取得中", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "問題が発生しました。もう一度お試しください。", "ORDER_INFO": "マクロは追加したアクションの順序で実行されます。各ノード横のハンドルをドラッグして並べ替えることができます。", "ADD": { @@ -29,7 +32,8 @@ "NAME": "名前", "CREATED BY": "作成者", "LAST_UPDATED_BY": "最終更新者", - "VISIBILITY": "可視性" + "VISIBILITY": "可視性", + "ACTIONS": "操作" }, "404": "マクロが見つかりませんでした" }, diff --git a/app/javascript/dashboard/i18n/locale/ja/mfa.json b/app/javascript/dashboard/i18n/locale/ja/mfa.json index dffd3e91a..1d49489fc 100644 --- a/app/javascript/dashboard/i18n/locale/ja/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ja/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ja/report.json b/app/javascript/dashboard/i18n/locale/ja/report.json index d90524f4e..9811ee1c0 100644 --- a/app/javascript/dashboard/i18n/locale/ja/report.json +++ b/app/javascript/dashboard/i18n/locale/ja/report.json @@ -3,7 +3,7 @@ "HEADER": "会話データ", "LOADING_CHART": "グラフデータを読み込んでいます...", "NO_ENOUGH_DATA": "レポートを生成するための十分なデータポイントを受信していません。後でもう一度お試しください。", - "DOWNLOAD_AGENT_REPORTS": "担当者レポートをダウンロード", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "データの取得に失敗しました。後でもう一度お試しください。", "SUMMARY_FETCHING_FAILED": "サマリーの取得に失敗しました。後でもう一度お試しください。", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "担当者概要", - "DESCRIPTION": "会話、応答時間、解決までの時間、解決済み案件などの主要な指標で担当者のパフォーマンスを簡単に追跡できます。詳細は担当者名をクリックしてください。", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "グラフデータを読み込んでいます...", "NO_ENOUGH_DATA": "レポートを生成するための十分なデータポイントを受信していません。後でもう一度お試しください。", "DOWNLOAD_AGENT_REPORTS": "担当者レポートをダウンロード", "FILTER_DROPDOWN_LABEL": "担当者を選択", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "担当者を検索" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会話データ", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "レポートを生成するための十分なデータポイントを受信していません。後でもう一度お試しください。", "DOWNLOAD_LABEL_REPORTS": "ラベルレポートをダウンロード", "FILTER_DROPDOWN_LABEL": "ラベルを選択", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "ラベルを検索" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会話データ", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "受信トレイを選択", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会話データ", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "チーム概要", - "DESCRIPTION": "会話、応答時間、解決までの時間、解決済み案件などの重要な指標でチームのパフォーマンスのスナップショットを取得します。 詳細はチーム名をクリックしてください。", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "グラフデータを読み込んでいます...", "NO_ENOUGH_DATA": "レポートを生成するための十分なデータポイントを受信していません。後でもう一度お試しください。", "DOWNLOAD_TEAM_REPORTS": "チームレポートをダウンロード", "FILTER_DROPDOWN_LABEL": "チームを選択", + "FILTERS": { + "ADD_FILTER": "フィルターを追加", + "CLEAR_ALL": "すべてクリア", + "NO_FILTER": "利用可能なフィルターがありません", + "INPUT_PLACEHOLDER": { + "TEAMS": "チームを検索" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会話データ", @@ -402,12 +425,31 @@ }, "CSAT_REPORTS": { "HEADER": "CSATレポート", - "NO_RECORDS": "CSATアンケートの回答はありません。", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "CSATレポートをダウンロード", "DOWNLOAD_FAILED": "CSATレポートのダウンロードに失敗しました", "FILTERS": { + "ADD_FILTER": "フィルターを追加", + "CLEAR_ALL": "すべてクリア", + "NO_FILTER": "利用可能なフィルターがありません", + "INPUT_PLACEHOLDER": { + "AGENTS": "担当者を検索", + "INBOXES": "Search inboxes", + "TEAMS": "チームを検索", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "担当者を選択" + "LABEL": "担当者" + }, + "INBOXES": { + "LABEL": "受信トレイ" + }, + "TEAMS": { + "LABEL": "チーム" + }, + "RATINGS": { + "LABEL": "評価" } }, "TABLE": { @@ -415,9 +457,16 @@ "CONTACT_NAME": "連絡先", "AGENT_NAME": "担当者", "RATING": "評価", - "FEEDBACK_TEXT": "フィードバックコメント" - } + "FEEDBACK_TEXT": "フィードバックコメント", + "CONVERSATION": "会話", + "CUSTOMER": "Customer", + "RESPONSE": "回答", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "総回答数", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "回答率", "TOOLTIP": "回答数 / 送信されたCSATアンケートメッセージ数 × 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "保存", + "CANCEL": "キャンセル", + "SAVING": "保存中...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "今すぐアップグレード", + "CANCEL_ANYTIME": "プランはいつでも変更またはキャンセルできます" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json index 162d34795..bb4290648 100644 --- a/app/javascript/dashboard/i18n/locale/ja/settings.json +++ b/app/javascript/dashboard/i18n/locale/ja/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "ダウンロード", "UPLOADING": "アップロード中...", - "INSTAGRAM_STORY_UNAVAILABLE": "このストーリーはもう利用できません。" + "INSTAGRAM_STORY_UNAVAILABLE": "このストーリーはもう利用できません。", + "INSTAGRAM_STORY_REPLY": "あなたのストーリーに返信:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "地図で見る" @@ -378,7 +379,57 @@ "INFO_SHORT": "使用していない場合、自動的にオフラインにします。" }, "DOCS": "ドキュメントを読む", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "キャプテン", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "アシスタント", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "機能", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "請求設定", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "属性を検索" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "会話を解決", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "会話を解決", + "CANCEL": "キャンセル" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "オプションを選択" + }, + "CHECKBOX": { + "YES": "はい", + "NO": "いいえ" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "今すぐアップグレード", + "CANCEL_ANYTIME": "プランはいつでも変更またはキャンセルできます" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "管理者にアップグレードを依頼してください。" + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Chatwootアカウントが見つかりませんでした。続行するには新しいアカウントを作成してください。", "NEW_ACCOUNT": "新規アカウント", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "キャンセル" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ja/signup.json b/app/javascript/dashboard/i18n/locale/ja/signup.json index 19f5d28fd..aa0b74a44 100644 --- a/app/javascript/dashboard/i18n/locale/ja/signup.json +++ b/app/javascript/dashboard/i18n/locale/ja/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "アカウントを作成", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "登録", "TESTIMONIAL_HEADER": "前進するために必要なのはたった一歩", "TESTIMONIAL_CONTENT": "顧客と関わり、維持し、新たな顧客を見つけるまであと一歩です。", diff --git a/app/javascript/dashboard/i18n/locale/ja/sla.json b/app/javascript/dashboard/i18n/locale/ja/sla.json index 469f1a707..11f42e410 100644 --- a/app/javascript/dashboard/i18n/locale/ja/sla.json +++ b/app/javascript/dashboard/i18n/locale/ja/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "新しいSLAポリシーを作成", "DESCRIPTION": "サービス水準合意(SLA)は、チームと顧客間で明確な期待を定義する契約です。応答時間や解決時間の基準を設定し、責任を明確にし、一貫した高品質なサービス体験を提供します。", "LEARN_MORE": "SLAについて詳しく学ぶ", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "SLAを取得中", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "アップグレードしてSLAを作成", "AVAILABLE_ON": "SLA機能はビジネスおよびエンタープライズプランのみで利用可能です。", @@ -20,14 +25,18 @@ }, "LIST": { "404": "このアカウントには利用可能なSLAがありません。", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "エンタープライズ P0", "DESC_1": "即時対応が必要なエンタープライズ顧客からの問題。", "TITLE_2": "エンタープライズ P1", "DESC_2": "迅速な承認が必要なエンタープライズ顧客からの問題。" }, - "BUSINESS_HOURS_ON": "営業時間内", - "BUSINESS_HOURS_OFF": "営業時間外", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "最初の応答時間の基準", "NRT": "次の応答時間の基準", diff --git a/app/javascript/dashboard/i18n/locale/ja/snooze.json b/app/javascript/dashboard/i18n/locale/ja/snooze.json new file mode 100644 index 000000000..9a0c0a145 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ja/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "時間", + "DAY": "日", + "DAYS": "days", + "WEEK": "週", + "WEEKS": "weeks", + "MONTH": "月", + "MONTHS": "months", + "YEAR": "年", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "明日", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "次週", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "/", + "AFTER": "after", + "WEEK": "週", + "DAY": "日" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ja/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ja/teamsSettings.json index c13fd206f..8e124b527 100644 --- a/app/javascript/dashboard/i18n/locale/ja/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ja/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "チームを取得中", "DESCRIPTION": "チームは担当者をその責務に基づいてグループ化することを可能にします。担当者は複数のチームに所属できます。共同作業では、会話を特定のチームに割り当てることができます。", "LEARN_MORE": "チームについて詳しく学ぶ", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "チームを検索...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "このアカウントにはまだ作成されたチームがありません。", "EDIT_TEAM": "チームを編集", diff --git a/app/javascript/dashboard/i18n/locale/ka/agentBots.json b/app/javascript/dashboard/i18n/locale/ka/agentBots.json index 8102692f8..437a1c612 100644 --- a/app/javascript/dashboard/i18n/locale/ka/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ka/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "აგენტ-ბოტები თქვენი გუნდის ყველაზე გამორჩეული წევრებივით არიან. მათ შეუძლიათ მოაგვარონ წვრილმანები, რათა თქვენ ყურადღება მიაქციოთ ნამდვილად მნიშვნელოვან საკითხებს. სცადეთ. შეგიძლიათ მართოთ თქვენი ბოტები ამ გვერდიდან ან შექმნათ ახალი ღილაკით „ბოტის დამატება“.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "სისტემური ბოტი", "GLOBAL_BOT_BADGE": "სისტემა", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "ბოტის დეტალები", - "URL": "ვებჰუკის URL" + "URL": "ვებჰუკის URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ka/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ka/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/ka/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json index 421161bf6..fbc87935b 100644 --- a/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "საუბარი", "CONTACT": "კონტაქტი" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ka/automation.json b/app/javascript/dashboard/i18n/locale/ka/automation.json index 980831701..e4b78e3c3 100644 --- a/app/javascript/dashboard/i18n/locale/ka/automation.json +++ b/app/javascript/dashboard/i18n/locale/ka/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "პირადი ჩანაწერის დამატება", "CHANGE_PRIORITY": "პრიორიტეტის შეცვლა", "ADD_SLA": "SLA-ის დამატება", - "OPEN_CONVERSATION": "საუბრის გახსნა" + "OPEN_CONVERSATION": "საუბრის გახსნა", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "შემომავალი შეტყობინება", diff --git a/app/javascript/dashboard/i18n/locale/ka/bulkActions.json b/app/javascript/dashboard/i18n/locale/ka/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/ka/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ka/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/ka/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ka/cannedMgmt.json index 3bc60c569..05c05c0c6 100644 --- a/app/javascript/dashboard/i18n/locale/ka/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/ka/chatlist.json b/app/javascript/dashboard/i18n/locale/ka/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/ka/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ka/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ka/contact.json b/app/javascript/dashboard/i18n/locale/ka/contact.json index fcb32ece9..2bdbc7ad3 100644 --- a/app/javascript/dashboard/i18n/locale/ka/contact.json +++ b/app/javascript/dashboard/i18n/locale/ka/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "ამ მომენტისთვის არცერთი კონტაქტი არ არის აქტიური 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ka/conversation.json b/app/javascript/dashboard/i18n/locale/ka/conversation.json index 3e0ebeda4..25ccc42ce 100644 --- a/app/javascript/dashboard/i18n/locale/ka/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ka/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "საუბარი წარმატებით წაიშალა", "FAIL_DELETE_CONVERSATION": "საუბრის წაშლა ვერ მოხერხდა! სცადეთ ხელახლა", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ka/customRole.json b/app/javascript/dashboard/i18n/locale/ka/customRole.json index ca01a1eeb..3bdc371e4 100644 --- a/app/javascript/dashboard/i18n/locale/ka/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ka/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ka/datePicker.json b/app/javascript/dashboard/i18n/locale/ka/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/ka/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ka/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ka/general.json b/app/javascript/dashboard/i18n/locale/ka/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/ka/general.json +++ b/app/javascript/dashboard/i18n/locale/ka/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ka/generalSettings.json b/app/javascript/dashboard/i18n/locale/ka/generalSettings.json index c7bda9867..6651bc6d3 100644 --- a/app/javascript/dashboard/i18n/locale/ka/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ka/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json index e4acfe9a0..27352c3be 100644 --- a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "პოლიტიკის წაშლა", + "POLICY_LABEL": "მინიჭების პოლიტიკა", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "არააქტიური" + }, + "PRIORITY": { + "EARLIEST_CREATED": "ყველაზე ადრე შექმნილი", + "LONGEST_WAITING": "ყველაზე დიდხანს მოლოდინში" + }, + "METHOD": { + "ROUND_ROBIN": "რაუნდ-რობინი", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "მინიჭების პოლიტიკები ვერ მოიძებნა", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/ka/integrationApps.json b/app/javascript/dashboard/i18n/locale/ka/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/ka/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ka/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/ka/integrations.json b/app/javascript/dashboard/i18n/locale/ka/integrations.json index 983953180..a1ce02d11 100644 --- a/app/javascript/dashboard/i18n/locale/ka/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ka/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ka/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ka/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/ka/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ka/macros.json b/app/javascript/dashboard/i18n/locale/ka/macros.json index 934b4dace..182732c3c 100644 --- a/app/javascript/dashboard/i18n/locale/ka/macros.json +++ b/app/javascript/dashboard/i18n/locale/ka/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ka/mfa.json b/app/javascript/dashboard/i18n/locale/ka/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/ka/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ka/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ka/report.json b/app/javascript/dashboard/i18n/locale/ka/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/ka/report.json +++ b/app/javascript/dashboard/i18n/locale/ka/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ka/settings.json b/app/javascript/dashboard/i18n/locale/ka/settings.json index 455422efc..34d0a84fc 100644 --- a/app/javascript/dashboard/i18n/locale/ka/settings.json +++ b/app/javascript/dashboard/i18n/locale/ka/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "უსაფრთხოება" + "SECURITY": "უსაფრთხოება", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "პოლიტიკის შექმნა", "API": { "SUCCESS_MESSAGE": "მინიჭების პოლიტიკა წარმატებით შეიქმნა", - "ERROR_MESSAGE": "მინიჭების პოლიტიკის შექმნა ვერ მოხერხდა" + "ERROR_MESSAGE": "მინიჭების პოლიტიკის შექმნა ვერ მოხერხდა", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "გაგრძელება", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "მინიჭების პოლიტიკა წარმატებით განახლდა", "ERROR_MESSAGE": "მინიჭების პოლიტიკის განახლება ვერ მოხერხდა" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "დაბალანსებული", - "DESCRIPTION": "საუბრები მიენიჭება ხელმისაწვდომი ტევადობის მიხედვით." + "DESCRIPTION": "საუბრები მიენიჭება ხელმისაწვდომი ტევადობის მიხედვით.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "აგენტის პოლიტიკიდან წაშლა წარმატებით შესრულდა", "ERROR_MESSAGE": "აგენტის პოლიტიკიდან წაშლა ვერ მოხერხდა" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ka/signup.json b/app/javascript/dashboard/i18n/locale/ka/signup.json index 54398ff7c..5140c3c92 100644 --- a/app/javascript/dashboard/i18n/locale/ka/signup.json +++ b/app/javascript/dashboard/i18n/locale/ka/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ka/sla.json b/app/javascript/dashboard/i18n/locale/ka/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/ka/sla.json +++ b/app/javascript/dashboard/i18n/locale/ka/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ka/snooze.json b/app/javascript/dashboard/i18n/locale/ka/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ka/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ka/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ka/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/ka/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ka/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ko/advancedFilters.json b/app/javascript/dashboard/i18n/locale/ko/advancedFilters.json index a15805175..d96a70031 100644 --- a/app/javascript/dashboard/i18n/locale/ko/advancedFilters.json +++ b/app/javascript/dashboard/i18n/locale/ko/advancedFilters.json @@ -1,24 +1,24 @@ { "FILTER": { "TITLE": "대화 필터링하기", - "SUBTITLE": "Add your filters below and hit 'Apply filters' to cut through the chat clutter.", - "EDIT_CUSTOM_FILTER": "Edit Folder", - "CUSTOM_VIEWS_SUBTITLE": "Add or remove filters and update your folder.", - "ADD_NEW_FILTER": "Add filter", - "FILTER_DELETE_ERROR": "Oops, looks like we can't save nothing! Please add at least one filter to save it.", + "SUBTITLE": "아래에 필터를 추가하고 '필터 적용'을 클릭하여 대화를 정리하십시오.", + "EDIT_CUSTOM_FILTER": "폴더 편집", + "CUSTOM_VIEWS_SUBTITLE": "필터를 추가 또는 제거하고 폴더를 업데이트하십시오.", + "ADD_NEW_FILTER": "필터 추가", + "FILTER_DELETE_ERROR": "필터를 저장하려면 최소한 하나의 필터를 추가하십시오.", "SUBMIT_BUTTON_LABEL": "필터 적용하기", - "UPDATE_BUTTON_LABEL": "Update folder", + "UPDATE_BUTTON_LABEL": "폴더 업데이트", "CANCEL_BUTTON_LABEL": "취소", - "CLEAR_BUTTON_LABEL": "Clear filters", - "FOLDER_LABEL": "Folder Name", - "FOLDER_QUERY_LABEL": "Folder Query", - "EMPTY_VALUE_ERROR": "Value is required.", + "CLEAR_BUTTON_LABEL": "필터 초기화", + "FOLDER_LABEL": "폴더 이름", + "FOLDER_QUERY_LABEL": "폴더 쿼리", + "EMPTY_VALUE_ERROR": "값이 필요합니다.", "TOOLTIP_LABEL": "대화 필터링하기", "QUERY_DROPDOWN_LABELS": { "AND": "와/과", "OR": "혹은" }, - "INPUT_PLACEHOLDER": "Enter value", + "INPUT_PLACEHOLDER": "값을 입력하십시오", "OPERATOR_LABELS": { "equal_to": "동일한", "not_equal_to": "비동일한", @@ -28,7 +28,7 @@ "is_greater_than": "보다 큰", "is_less_than": "보다 작은", "days_before": "x 일 전에", - "starts_with": "Starts with", + "starts_with": "시작하는", "equalTo": "동일한", "notEqualTo": "비동일한", "contains": "포함된", @@ -38,7 +38,7 @@ "isGreaterThan": "보다 큰", "isLessThan": "보다 작은", "daysBefore": "x 일 전에", - "startsWith": "Starts with" + "startsWith": "시작하는" }, "ATTRIBUTE_LABELS": { "TRUE": "참", @@ -46,72 +46,72 @@ }, "ATTRIBUTES": { "STATUS": "상태", - "ASSIGNEE_NAME": "Assignee name", - "INBOX_NAME": "Inbox name", - "TEAM_NAME": "Team name", - "CONVERSATION_IDENTIFIER": "Conversation identifier", - "CAMPAIGN_NAME": "Campaign name", + "ASSIGNEE_NAME": "담당자 이름", + "INBOX_NAME": "받은 메시지함 이름", + "TEAM_NAME": "팀 이름", + "CONVERSATION_IDENTIFIER": "대화 식별자", + "CAMPAIGN_NAME": "캠페인 이름", "LABELS": "라벨", - "BROWSER_LANGUAGE": "Browser language", - "PRIORITY": "Priority", - "COUNTRY_NAME": "Country name", + "BROWSER_LANGUAGE": "브라우저 언어", + "PRIORITY": "우선순위", + "COUNTRY_NAME": "국가 이름", "REFERER_LINK": "참고 링크", "CUSTOM_ATTRIBUTE_LIST": "리스트", "CUSTOM_ATTRIBUTE_TEXT": "텍스트", "CUSTOM_ATTRIBUTE_NUMBER": "숫자", "CUSTOM_ATTRIBUTE_LINK": "링크", "CUSTOM_ATTRIBUTE_CHECKBOX": "체크박스", - "CREATED_AT": "에 만들어짐", + "CREATED_AT": "생성 일시", "LAST_ACTIVITY": "최근 활동" }, "ERRORS": { "VALUE_REQUIRED": "값이 필요합니다.", - "ATTRIBUTE_KEY_REQUIRED": "Attribute key is required", - "FILTER_OPERATOR_REQUIRED": "Filter operator is required", - "VALUE_MUST_BE_BETWEEN_1_AND_998": "Value must be between 1 and 998" + "ATTRIBUTE_KEY_REQUIRED": "속성 키가 필요합니다.", + "FILTER_OPERATOR_REQUIRED": "필터 연산자가 필요합니다.", + "VALUE_MUST_BE_BETWEEN_1_AND_998": "값은 1에서 998 사이여야 합니다." }, "GROUPS": { - "STANDARD_FILTERS": "Standard filters", - "ADDITIONAL_FILTERS": "Additional filters", - "CUSTOM_ATTRIBUTES": "Custom attributes" + "STANDARD_FILTERS": "기본 필터", + "ADDITIONAL_FILTERS": "추가 필터", + "CUSTOM_ATTRIBUTES": "사용자 정의 속성" }, "CUSTOM_VIEWS": { "ADD": { "TITLE": "이 필터를 저장하시겠습니까?", "LABEL": "필터 이름 지정하기", - "PLACEHOLDER": "Name your filter to refer it later.", + "PLACEHOLDER": "나중에 참조할 수 있도록 필터 이름을 지정하십시오.", "ERROR_MESSAGE": "이름이 필요합니다.", "SAVE_BUTTON": "필터 저장하기", "CANCEL_BUTTON": "취소", "API_FOLDERS": { - "SUCCESS_MESSAGE": "폴더가 성공적으로 생성됨.", - "ERROR_MESSAGE": "폴더 생성 중 에러 발생." + "SUCCESS_MESSAGE": "폴더가 성공적으로 생성되었습니다.", + "ERROR_MESSAGE": "폴더 생성 중 오류가 발생했습니다." }, "API_SEGMENTS": { - "SUCCESS_MESSAGE": "구획이 성공적으로 생성됨.", - "ERROR_MESSAGE": "구획 생성 중 에러 발생." + "SUCCESS_MESSAGE": "세그먼트가 성공적으로 생성되었습니다.", + "ERROR_MESSAGE": "세그먼트 생성 중 오류가 발생했습니다." } }, "EDIT": { - "EDIT_BUTTON": "Edit folder" + "EDIT_BUTTON": "폴더 편집" }, "DELETE": { "DELETE_BUTTON": "필터 삭제하기", "MODAL": { "CONFIRM": { - "TITLE": "Confirm deletion", - "MESSAGE": "정말로 이 필터를 삭제하고 싶으신가요? ", - "YES": "Yes, delete", - "NO": "No, keep it" + "TITLE": "삭제 확인", + "MESSAGE": "정말로 이 필터를 삭제하시겠습니까? ", + "YES": "예, 삭제합니다", + "NO": "아니요, 유지합니다" } }, "API_FOLDERS": { - "SUCCESS_MESSAGE": "Folder deleted successfully.", - "ERROR_MESSAGE": "폴더 삭제 중 에러 발생." + "SUCCESS_MESSAGE": "폴더가 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "폴더 삭제 중 오류가 발생했습니다." }, "API_SEGMENTS": { - "SUCCESS_MESSAGE": "구획이 성공적으로 삭제됨.", - "ERROR_MESSAGE": "구획 제거 중 에러 발생." + "SUCCESS_MESSAGE": "세그먼트가 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "세그먼트 삭제 중 오류가 발생했습니다." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/agentBots.json b/app/javascript/dashboard/i18n/locale/ko/agentBots.json index a8505390b..d92a8a49a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ko/agentBots.json @@ -1,103 +1,107 @@ { "AGENT_BOTS": { "HEADER": "봇", - "LOADING_EDITOR": "Loading editor...", + "LOADING_EDITOR": "에디터 로딩 중...", "DESCRIPTION": "에이전트 봇은 팀에서 가장 뛰어난 멤버와 같습니다. 사소한 일은 봇이 처리해 주니, 중요한 일에 집중하세요. 한번 사용해 보세요. 이 페이지에서 봇을 관리하거나 '봇 추가' 버튼을 통해 새 봇을 생성할 수 있습니다.", - "LEARN_MORE": "Learn about agent bots", + "LEARN_MORE": "에이전트 봇에 대해 알아보기", "GLOBAL_BOT": "시스템 봇", - "GLOBAL_BOT_BADGE": "System", + "GLOBAL_BOT_BADGE": "시스템", "AVATAR": { - "SUCCESS_DELETE": "Bot avatar deleted successfully", - "ERROR_DELETE": "Error deleting bot avatar, please try again" + "SUCCESS_DELETE": "봇 아바타가 성공적으로 삭제되었습니다.", + "ERROR_DELETE": "봇 아바타 삭제 중 오류가 발생했습니다. 다시 시도하십시오." }, "BOT_CONFIGURATION": { - "TITLE": "Select an agent bot", - "DESC": "Assign an Agent Bot to your inbox. They can handle initial conversations and transfer them to a live agent when necessary.", + "TITLE": "에이전트 봇 선택", + "DESC": "받은 메시지함에 에이전트 봇을 할당하십시오. 초기 대화를 처리하고 필요시 실제 에이전트에게 전달할 수 있습니다.", "SUBMIT": "업데이트", - "DISCONNECT": "Disconnect bot", - "SUCCESS_MESSAGE": "Successfully updated the agent bot.", - "DISCONNECTED_SUCCESS_MESSAGE": "Successfully disconnected the agent bot.", - "ERROR_MESSAGE": "Could not update the agent bot. Please try again.", - "DISCONNECTED_ERROR_MESSAGE": "Could not disconnect the agent bot. Please try again.", - "SELECT_PLACEHOLDER": "Select bot" + "DISCONNECT": "봇 연결 해제", + "SUCCESS_MESSAGE": "에이전트 봇이 성공적으로 업데이트되었습니다.", + "DISCONNECTED_SUCCESS_MESSAGE": "에이전트 봇이 성공적으로 연결 해제되었습니다.", + "ERROR_MESSAGE": "에이전트 봇을 업데이트할 수 없습니다. 다시 시도하십시오.", + "DISCONNECTED_ERROR_MESSAGE": "에이전트 봇 연결을 해제할 수 없습니다. 다시 시도하십시오.", + "SELECT_PLACEHOLDER": "봇 선택" }, "ADD": { - "TITLE": "Agregar Bot", + "TITLE": "봇 추가", "CANCEL_BUTTON_TEXT": "취소", "API": { - "SUCCESS_MESSAGE": "Bot added successfully.", - "ERROR_MESSAGE": "Could not add bot. Please try again later." + "SUCCESS_MESSAGE": "봇이 성공적으로 추가되었습니다.", + "ERROR_MESSAGE": "봇을 추가할 수 없습니다. 나중에 다시 시도하십시오." } }, "LIST": { - "404": "Bot no encontrado. Puedes crear uno haciendo click en el botón 'Agregar Bot'.", - "LOADING": "Fetching bots...", + "404": "봇을 찾을 수 없습니다. '봇 추가' 버튼을 클릭하여 봇을 생성할 수 있습니다.", + "LOADING": "봇을 가져오는 중...", "TABLE_HEADER": { - "DETAILS": "Detalles del Bot", - "URL": "웹훅 URL" + "DETAILS": "봇 상세 정보", + "URL": "웹훅 URL", + "ACTIONS": "액션" } }, "DELETE": { "BUTTON_TEXT": "삭제", - "TITLE": "Delete bot", + "TITLE": "봇 삭제", "CONFIRM": { "TITLE": "삭제 확인", - "MESSAGE": "Are you sure you want to delete {name}?", - "YES": "Yes, Delete", + "MESSAGE": "{name}을(를) 삭제하시겠습니까?", + "YES": "예, 삭제합니다", "NO": "아니요, 유지합니다" }, "API": { - "SUCCESS_MESSAGE": "Bot deleted successfully.", - "ERROR_MESSAGE": "Could not delete bot. Please try again." + "SUCCESS_MESSAGE": "봇이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "봇을 삭제할 수 없습니다. 다시 시도하십시오." } }, "EDIT": { "BUTTON_TEXT": "수정", - "TITLE": "Edit bot", + "TITLE": "봇 수정", "API": { - "SUCCESS_MESSAGE": "Bot updated successfully.", - "ERROR_MESSAGE": "Could not update bot. Please try again." + "SUCCESS_MESSAGE": "봇이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "봇을 업데이트할 수 없습니다. 다시 시도하십시오." } }, "ACCESS_TOKEN": { - "TITLE": "엑세스 토큰", - "DESCRIPTION": "Copy the access token and save it securely", - "COPY_SUCCESSFUL": "Access token copied to clipboard", - "RESET_SUCCESS": "Access token regenerated successfully", - "RESET_ERROR": "Unable to regenerate access token. Please try again" + "TITLE": "액세스 토큰", + "DESCRIPTION": "액세스 토큰을 복사하여 안전하게 보관하십시오.", + "COPY_SUCCESSFUL": "액세스 토큰이 클립보드에 복사되었습니다.", + "RESET_SUCCESS": "액세스 토큰이 성공적으로 재생성되었습니다.", + "RESET_ERROR": "액세스 토큰을 재생성할 수 없습니다. 다시 시도하십시오." }, "FORM": { "AVATAR": { - "LABEL": "Bot avatar" + "LABEL": "봇 아바타" }, "NAME": { - "LABEL": "Bot name", - "PLACEHOLDER": "Enter bot name", - "REQUIRED": "Bot name is required" + "LABEL": "봇 이름", + "PLACEHOLDER": "봇 이름을 입력하십시오", + "REQUIRED": "봇 이름은 필수입니다." }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "What does this bot do?" + "LABEL": "설명", + "PLACEHOLDER": "이 봇은 어떤 역할을 합니까?" }, "WEBHOOK_URL": { "LABEL": "웹훅 URL", "PLACEHOLDER": "https://example.com/webhook", - "REQUIRED": "Webhook URL is required" + "REQUIRED": "웹훅 URL은 필수입니다." }, "ERRORS": { - "NAME": "Bot name is required", - "URL": "Webhook URL is required", - "VALID_URL": "Please enter a valid URL starting with http:// or https://" + "NAME": "봇 이름은 필수입니다.", + "URL": "웹훅 URL은 필수입니다.", + "VALID_URL": "http:// 또는 https://로 시작하는 유효한 URL을 입력하십시오." }, "CANCEL": "취소", - "CREATE": "Create Bot", - "UPDATE": "Update Bot" + "CREATE": "봇 생성", + "UPDATE": "봇 업데이트" }, "WEBHOOK": { - "DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them." + "DESCRIPTION": "웹훅 봇을 구성하여 사용자 정의 서비스와 통합하십시오. 봇은 대화의 이벤트를 수신하고 처리하며 응답할 수 있습니다." }, "TYPES": { - "WEBHOOK": "Webhook bot" - } + "WEBHOOK": "웹훅 봇" + }, + "COUNT": "{n}개의 봇 | {n}개의 봇", + "SEARCH_PLACEHOLDER": "에이전트 봇 검색...", + "NO_RESULTS": "검색과 일치하는 봇이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json index d73b5c8ab..8eeee52f8 100644 --- a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json @@ -3,14 +3,14 @@ "HEADER": "에이전트", "HEADER_BTN_TXT": "에이전트 추가", "LOADING": "에이전트 목록을 가져오는 중", - "DESCRIPTION": "상담원은 사용자 메시지를 보고 응답할 수 있는 고객 지원팀의 구성원입니다. 아래 목록에는 계정의 모든 상담원이 나와 있습니다.", + "DESCRIPTION": "에이전트는 사용자 메시지를 보고 응답할 수 있는 고객 지원팀의 구성원입니다. 아래 목록에는 계정의 모든 에이전트가 나와 있습니다.", "LEARN_MORE": "사용자 역할에 대해 알아보기", "AGENT_TYPES": { "ADMINISTRATOR": "관리자", "AGENT": "에이전트" }, "LIST": { - "404": "이 계정에 연결된 에이전트가 없음", + "404": "이 계정에 연결된 에이전트가 없습니다.", "TITLE": "팀 내 에이전트 관리", "DESC": "팀에 에이전트를 추가/제거할 수 있습니다.", "NAME": "이름", @@ -33,7 +33,7 @@ "AGENT_TYPE": { "LABEL": "역할", "PLACEHOLDER": "역할을 선택하십시오.", - "ERROR": "역할이 필요함" + "ERROR": "역할이 필요합니다." }, "EMAIL": { "LABEL": "이메일 주소", @@ -42,22 +42,22 @@ "SUBMIT": "에이전트 추가" }, "API": { - "SUCCESS_MESSAGE": "에이전트가 성공적으로 추가됨", + "SUCCESS_MESSAGE": "에이전트가 성공적으로 추가되었습니다.", "EXIST_MESSAGE": "에이전트 이메일이 이미 사용 중입니다. 다른 이메일 주소를 시도하십시오.", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "에이전트가 성공적으로 삭제됨", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "에이전트가 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, "CONFIRM": { "TITLE": "삭제 확인", "MESSAGE": "삭제하시겠습니까? ", "YES": "예, 삭제합니다. ", - "NO": "아니요, 유지해주세요. " + "NO": "아니요, 유지합니다. " } }, "EDIT": { @@ -70,30 +70,30 @@ "AGENT_TYPE": { "LABEL": "역할", "PLACEHOLDER": "역할을 선택하십시오.", - "ERROR": "역할이 필요함" + "ERROR": "역할이 필요합니다." }, "EMAIL": { "LABEL": "이메일 주소", "PLACEHOLDER": "에이전트의 이메일 주소를 입력하십시오." }, "AGENT_AVAILABILITY": { - "LABEL": "유용성", - "PLACEHOLDER": "가용성 상태를 선택하세요", - "ERROR": "Availability is required" + "LABEL": "가용성", + "PLACEHOLDER": "가용성 상태를 선택하십시오.", + "ERROR": "가용성이 필요합니다." }, "SUBMIT": "에이전트 수정" }, "BUTTON_TEXT": "수정", "CANCEL_BUTTON_TEXT": "취소", "API": { - "SUCCESS_MESSAGE": "에이전트가 성공적으로 업데이트됨", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "에이전트가 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, "PASSWORD_RESET": { "ADMIN_RESET_BUTTON": "비밀번호 재설정", - "ADMIN_SUCCESS_MESSAGE": "비밀번호 재설정 지침이 포함된 이메일이 에이전트로 전송됨", - "SUCCESS_MESSAGE": "에이전트 비밀번호 재설정 성공", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "ADMIN_SUCCESS_MESSAGE": "비밀번호 재설정 안내 이메일이 에이전트에게 전송되었습니다.", + "SUCCESS_MESSAGE": "에이전트 비밀번호가 성공적으로 재설정되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "SEARCH": { @@ -110,15 +110,18 @@ }, "SEARCH": { "NO_RESULTS": { - "AGENT": "에이전트를 찾을 수 없음", - "TEAM": "팀을 찾을 수 없음" + "AGENT": "에이전트를 찾을 수 없습니다.", + "TEAM": "팀을 찾을 수 없습니다." }, "PLACEHOLDER": { - "AGENT": "에이전트 찾기", - "TEAM": "팀 찾기", - "INPUT": "Search for agents" + "AGENT": "에이전트 검색", + "TEAM": "팀 검색", + "INPUT": "에이전트 검색" } } - } + }, + "COUNT": "{n}명의 에이전트 | {n}명의 에이전트", + "SEARCH_PLACEHOLDER": "에이전트 검색...", + "NO_RESULTS": "검색과 일치하는 에이전트가 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json index 26d016e8f..b7f048ecf 100644 --- a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json @@ -3,17 +3,17 @@ "HEADER": "사용자 지정 특성", "HEADER_BTN_TXT": "사용자 지정 속성 추가하기", "LOADING": "사용자 지정 속성들 가져오기", - "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", - "LEARN_MORE": "Learn more about custom attributes", + "DESCRIPTION": "사용자 지정 속성은 연락처 또는 대화에 대한 추가 세부 정보를 추적합니다. 예를 들어 구독 플랜이나 첫 구매 날짜 등이 있습니다. 텍스트, 리스트, 숫자 등 다양한 유형의 사용자 지정 속성을 추가하여 필요한 정보를 수집할 수 있습니다.", + "LEARN_MORE": "사용자 지정 속성에 대해 더 알아보기", "ATTRIBUTE_MODELS": { - "CONVERSATION": "Conversation", - "CONTACT": "Contact" + "CONVERSATION": "대화", + "CONTACT": "연락처" }, "ATTRIBUTE_TYPES": { "TEXT": "텍스트", "NUMBER": "숫자", "LINK": "링크", - "DATE": "Date", + "DATE": "날짜", "LIST": "리스트", "CHECKBOX": "체크박스" }, @@ -33,106 +33,113 @@ "ERROR": "설명이 필요합니다" }, "MODEL": { - "LABEL": "Applies to", - "PLACEHOLDER": "Please select one", - "ERROR": "Model is required" + "LABEL": "적용 대상", + "PLACEHOLDER": "하나를 선택하십시오", + "ERROR": "모델이 필요합니다" }, "TYPE": { - "LABEL": "Type", - "PLACEHOLDER": "Please select a type", - "ERROR": "Type is required", + "LABEL": "유형", + "PLACEHOLDER": "유형을 선택하십시오", + "ERROR": "유형이 필요합니다", "LIST": { - "LABEL": "List Values", - "PLACEHOLDER": "Please enter value and press enter key", - "ERROR": "Must have at least one value" + "LABEL": "리스트 값", + "PLACEHOLDER": "값을 입력하고 엔터 키를 누르십시오", + "ERROR": "최소 하나의 값이 필요합니다" } }, "KEY": { - "LABEL": "Key", - "PLACEHOLDER": "Enter custom attribute key", - "ERROR": "Key is required", - "IN_VALID": "Invalid key" + "LABEL": "키", + "PLACEHOLDER": "사용자 지정 속성 키 입력", + "ERROR": "키가 필요합니다", + "IN_VALID": "잘못된 키입니다" }, "REGEX_PATTERN": { - "LABEL": "Regex Pattern", - "PLACEHOLDER": "Please enter custom attribute regex pattern. (Optional)" + "LABEL": "정규식 패턴", + "PLACEHOLDER": "사용자 지정 속성 정규식 패턴을 입력하십시오. (선택 사항)" }, "REGEX_CUE": { - "LABEL": "Regex Cue", - "PLACEHOLDER": "Please enter regex pattern hint. (Optional)" + "LABEL": "정규식 힌트", + "PLACEHOLDER": "정규식 패턴 힌트를 입력하십시오. (선택 사항)" }, "ENABLE_REGEX": { - "LABEL": "Enable regex validation" + "LABEL": "정규식 유효성 검사 활성화" + }, + "BADGES": { + "PRE_CHAT": "사전 채팅", + "RESOLUTION": "해결" } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully!", - "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." + "SUCCESS_MESSAGE": "사용자 지정 속성이 성공적으로 추가되었습니다!", + "ERROR_MESSAGE": "사용자 지정 속성을 만들 수 없습니다. 나중에 다시 시도하십시오." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Custom Attribute deleted successfully.", - "ERROR_MESSAGE": "Couldn't delete the custom attribute. Try again." + "SUCCESS_MESSAGE": "사용자 지정 속성이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "사용자 지정 속성을 삭제할 수 없습니다. 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "{attributeName}팀을 삭제하시겠습니까?", - "PLACE_HOLDER": "Please type {attributeName} to confirm", - "MESSAGE": "Deleting will remove the custom attribute", + "TITLE": "{attributeName}을(를) 삭제하시겠습니까?", + "PLACE_HOLDER": "확인하려면 {attributeName}을(를) 입력하십시오", + "MESSAGE": "삭제하면 사용자 지정 속성이 제거됩니다", "YES": "삭제 ", "NO": "취소" } }, "EDIT": { - "TITLE": "Edit Custom Attribute", + "TITLE": "사용자 지정 속성 수정", "UPDATE_BUTTON_TEXT": "업데이트", "TYPE": { "LIST": { - "LABEL": "List Values", - "PLACEHOLDER": "Please enter values and press enter key" + "LABEL": "리스트 값", + "PLACEHOLDER": "값을 입력하고 엔터 키를 누르십시오" } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute updated successfully", - "ERROR_MESSAGE": "There was an error updating custom attribute, please try again" + "SUCCESS_MESSAGE": "사용자 지정 속성이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "사용자 지정 속성 업데이트 중 오류가 발생했습니다. 다시 시도하십시오" } }, "TABS": { "HEADER": "사용자 지정 특성", - "CONVERSATION": "Conversation", - "CONTACT": "Contact" + "CONVERSATION": "대화", + "CONTACT": "연락처" }, "LIST": { "TABLE_HEADER": { "NAME": "이름", "DESCRIPTION": "내용", - "TYPE": "Type", - "KEY": "Key" + "TYPE": "유형", + "KEY": "키" }, "BUTTONS": { "EDIT": "수정", "DELETE": "삭제" }, "EMPTY_RESULT": { - "404": "There are no custom attributes created", - "NOT_FOUND": "There are no custom attributes configured" + "404": "생성된 사용자 지정 속성이 없습니다", + "NOT_FOUND": "구성된 사용자 지정 속성이 없습니다" }, "REGEX_PATTERN": { - "LABEL": "Regex Pattern", - "PLACEHOLDER": "Please enter custom attribute regex pattern. (Optional)" + "LABEL": "정규식 패턴", + "PLACEHOLDER": "사용자 지정 속성 정규식 패턴을 입력하십시오. (선택 사항)" }, "REGEX_CUE": { - "LABEL": "Regex Cue", - "PLACEHOLDER": "Please enter regex pattern hint. (Optional)" + "LABEL": "정규식 힌트", + "PLACEHOLDER": "정규식 패턴 힌트를 입력하십시오. (선택 사항)" }, "ENABLE_REGEX": { - "LABEL": "Enable regex validation" + "LABEL": "정규식 유효성 검사 활성화" } }, "BADGES": { - "PRE_CHAT": "Pre-chat", - "RESOLUTION": "Resolution" - } + "PRE_CHAT": "사전 채팅", + "RESOLUTION": "해결" + }, + "COUNT": "{n}개의 사용자 지정 속성 | {n}개의 사용자 지정 속성", + "SEARCH_PLACEHOLDER": "사용자 지정 속성 검색...", + "NO_RESULTS": "검색과 일치하는 사용자 지정 속성이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/auditLogs.json b/app/javascript/dashboard/i18n/locale/ko/auditLogs.json index 9bfdb6d6e..05c0a94dd 100644 --- a/app/javascript/dashboard/i18n/locale/ko/auditLogs.json +++ b/app/javascript/dashboard/i18n/locale/ko/auditLogs.json @@ -1,77 +1,77 @@ { "AUDIT_LOGS": { - "HEADER": "Audit Logs", - "HEADER_BTN_TXT": "Add Audit Logs", - "LOADING": "Fetching Audit Logs", - "DESCRIPTION": "Audit Logs maintain a record of activities in your account, allowing you to track and audit your account, team, or services.", - "LEARN_MORE": "Learn more about audit logs", - "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", - "SIDEBAR_TXT": "

Audit Logs

Audit Logs are trails for events and actions in a Chatwoot System.

", + "HEADER": "감사 로그", + "HEADER_BTN_TXT": "감사 로그 추가", + "LOADING": "감사 로그를 가져오는 중", + "DESCRIPTION": "감사 로그는 계정의 활동 기록을 유지하여 계정, 팀 또는 서비스를 추적하고 감사할 수 있도록 합니다.", + "LEARN_MORE": "감사 로그에 대해 알아보기", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없습니다.", + "SIDEBAR_TXT": "

감사 로그

감사 로그는 Chatwoot 시스템의 이벤트 및 작업에 대한 기록입니다.

", "LIST": { - "404": "There are no Audit Logs available in this account.", - "TITLE": "Manage Audit Logs", - "DESC": "Audit Logs are trails for events and actions in a Chatwoot System.", + "404": "이 계정에 사용 가능한 감사 로그가 없습니다.", + "TITLE": "감사 로그 관리", + "DESC": "감사 로그는 Chatwoot 시스템의 이벤트 및 작업에 대한 기록입니다.", "TABLE_HEADER": { - "ACTIVITY": "User", - "TIME": "Action", + "ACTIVITY": "활동", + "TIME": "시간", "IP_ADDRESS": "IP 주소" } }, "API": { - "SUCCESS_MESSAGE": "AuditLogs retrieved successfully", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "감사 로그를 성공적으로 가져왔습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, - "DEFAULT_USER": "System", + "DEFAULT_USER": "시스템", "AUTOMATION_RULE": { - "ADD": "{agentName} created a new automation rule (#{id})", - "EDIT": "{agentName} updated an automation rule (#{id})", - "DELETE": "{agentName} deleted an automation rule (#{id})" + "ADD": "{agentName}님이 새 자동화 규칙을 생성했습니다 (#{id})", + "EDIT": "{agentName}님이 자동화 규칙을 업데이트했습니다 (#{id})", + "DELETE": "{agentName}님이 자동화 규칙을 삭제했습니다 (#{id})" }, "ACCOUNT_USER": { - "ADD": "{agentName} invited {invitee} to the account as an {role}", + "ADD": "{agentName}님이 {invitee}님을 {role}(으)로 계정에 초대했습니다", "EDIT": { - "SELF": "{agentName} changed their {attributes} to {values}", - "OTHER": "{agentName} changed {attributes} of {user} to {values}", - "DELETED": "{agentName} changed {attributes} of a deleted user to {values}" + "SELF": "{agentName}님이 자신의 {attributes}을(를) {values}(으)로 변경했습니다", + "OTHER": "{agentName}님이 {user}님의 {attributes}을(를) {values}(으)로 변경했습니다", + "DELETED": "{agentName}님이 삭제된 사용자의 {attributes}을(를) {values}(으)로 변경했습니다" } }, "INBOX": { - "ADD": "{agentName} created a new inbox (#{id})", - "EDIT": "{agentName} updated an inbox (#{id})", - "DELETE": "{agentName} deleted an inbox (#{id})" + "ADD": "{agentName}님이 새 받은 메시지함을 생성했습니다 (#{id})", + "EDIT": "{agentName}님이 받은 메시지함을 업데이트했습니다 (#{id})", + "DELETE": "{agentName}님이 받은 메시지함을 삭제했습니다 (#{id})" }, "WEBHOOK": { - "ADD": "{agentName} created a new webhook (#{id})", - "EDIT": "{agentName} updated a webhook (#{id})", - "DELETE": "{agentName} deleted a webhook (#{id})" + "ADD": "{agentName}님이 새 웹훅을 생성했습니다 (#{id})", + "EDIT": "{agentName}님이 웹훅을 업데이트했습니다 (#{id})", + "DELETE": "{agentName}님이 웹훅을 삭제했습니다 (#{id})" }, "USER_ACTION": { - "SIGN_IN": "{agentName} signed in", - "SIGN_OUT": "{agentName} signed out" + "SIGN_IN": "{agentName}님이 로그인했습니다", + "SIGN_OUT": "{agentName}님이 로그아웃했습니다" }, "TEAM": { - "ADD": "{agentName} created a new team (#{id})", - "EDIT": "{agentName} updated a team (#{id})", - "DELETE": "{agentName} deleted a team (#{id})" + "ADD": "{agentName}님이 새 팀을 생성했습니다 (#{id})", + "EDIT": "{agentName}님이 팀을 업데이트했습니다 (#{id})", + "DELETE": "{agentName}님이 팀을 삭제했습니다 (#{id})" }, "MACRO": { - "ADD": "{agentName} created a new macro (#{id})", - "EDIT": "{agentName} updated a macro (#{id})", - "DELETE": "{agentName} deleted a macro (#{id})" + "ADD": "{agentName}님이 새 매크로를 생성했습니다 (#{id})", + "EDIT": "{agentName}님이 매크로를 업데이트했습니다 (#{id})", + "DELETE": "{agentName}님이 매크로를 삭제했습니다 (#{id})" }, "INBOX_MEMBER": { - "ADD": "{agentName} added {user} to the inbox(#{inbox_id})", - "REMOVE": "{agentName} removed {user} from the inbox(#{inbox_id})" + "ADD": "{agentName}님이 {user}님을 받은 메시지함(#{inbox_id})에 추가했습니다", + "REMOVE": "{agentName}님이 {user}님을 받은 메시지함(#{inbox_id})에서 제거했습니다" }, "TEAM_MEMBER": { - "ADD": "{agentName} added {user} to the team(#{team_id})", - "REMOVE": "{agentName} removed {user} from the team(#{team_id})" + "ADD": "{agentName}님이 {user}님을 팀(#{team_id})에 추가했습니다", + "REMOVE": "{agentName}님이 {user}님을 팀(#{team_id})에서 제거했습니다" }, "ACCOUNT": { - "EDIT": "{agentName} updated the account configuration (#{id})" + "EDIT": "{agentName}님이 계정 구성을 업데이트했습니다 (#{id})" }, "CONVERSATION": { - "DELETE": "{agentName} deleted conversation #{id}" + "DELETE": "{agentName}님이 대화 #{id}을(를) 삭제했습니다" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/automation.json b/app/javascript/dashboard/i18n/locale/ko/automation.json index e8e8de6b5..b50654c6a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/automation.json +++ b/app/javascript/dashboard/i18n/locale/ko/automation.json @@ -1,55 +1,55 @@ { "AUTOMATION": { - "HEADER": "Automation", + "HEADER": "자동화", "DESCRIPTION": "자동화를 통해 라벨을 추가하고 가장 적합한 상담원에게 대화를 배정하는 등 수작업이 필요한 기존 프로세스를 대체하고 간소화할 수 있습니다. 이를 통해 팀은 일상적인 업무에 소요되는 시간을 줄이면서 자신의 강점에 집중할 수 있습니다.", - "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", - "LOADING": "Fetching automation rules", + "LEARN_MORE": "자동화에 대해 더 알아보기", + "HEADER_BTN_TXT": "자동화 규칙 추가", + "LOADING": "자동화 규칙 가져오는 중", "ADD": { - "TITLE": "Add Automation Rule", + "TITLE": "자동화 규칙 추가", "SUBMIT": "만들기", "CANCEL_BUTTON_TEXT": "취소", "FORM": { "NAME": { - "LABEL": "Rule Name", - "PLACEHOLDER": "Enter rule name", + "LABEL": "규칙 이름", + "PLACEHOLDER": "규칙 이름을 입력하십시오", "ERROR": "이름이 필요합니다" }, "DESC": { "LABEL": "내용", - "PLACEHOLDER": "Enter rule description", + "PLACEHOLDER": "규칙 설명을 입력하십시오", "ERROR": "설명이 필요합니다" }, "EVENT": { - "LABEL": "Event", - "PLACEHOLDER": "Please select one", - "ERROR": "Event is required" + "LABEL": "이벤트", + "PLACEHOLDER": "하나를 선택하십시오", + "ERROR": "이벤트가 필요합니다" }, "CONDITIONS": { - "LABEL": "Conditions" + "LABEL": "조건" }, "ACTIONS": { "LABEL": "액션" } }, - "CONDITION_BUTTON_LABEL": "Add Condition", - "ACTION_BUTTON_LABEL": "Add Action", + "CONDITION_BUTTON_LABEL": "조건 추가", + "ACTION_BUTTON_LABEL": "액션 추가", "API": { - "SUCCESS_MESSAGE": "Automation rule added successfully", - "ERROR_MESSAGE": "Could not able to create a automation rule, Please try again later" + "SUCCESS_MESSAGE": "자동화 규칙이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "자동화 규칙을 만들 수 없습니다. 나중에 다시 시도하십시오" } }, "LIST": { "TABLE_HEADER": { "NAME": "이름", - "DESCRIPTION": "내용", - "ACTIVE": "Active", - "CREATED_ON": "Created on" + "ACTIVE": "활성", + "CREATED_ON": "생성일", + "ACTIONS": "액션" }, - "404": "No automation rules found" + "404": "자동화 규칙을 찾을 수 없습니다" }, "DELETE": { - "TITLE": "Delete Automation Rule", + "TITLE": "자동화 규칙 삭제", "SUBMIT": "삭제", "CANCEL_BUTTON_TEXT": "취소", "CONFIRM": { @@ -59,24 +59,24 @@ "NO": "아니요, 유지해주세요. " }, "API": { - "SUCCESS_MESSAGE": "Automation rule deleted successfully", - "ERROR_MESSAGE": "Could not able to delete a automation rule, Please try again later" + "SUCCESS_MESSAGE": "자동화 규칙이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "자동화 규칙을 삭제할 수 없습니다. 나중에 다시 시도하십시오" } }, "EDIT": { - "TITLE": "Edit Automation Rule", + "TITLE": "자동화 규칙 수정", "SUBMIT": "업데이트", "CANCEL_BUTTON_TEXT": "취소", "API": { - "SUCCESS_MESSAGE": "Automation rule updated successfully", - "ERROR_MESSAGE": "Could not update automation rule, Please try again later" + "SUCCESS_MESSAGE": "자동화 규칙이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "자동화 규칙을 업데이트할 수 없습니다. 나중에 다시 시도하십시오" } }, "CLONE": { - "TOOLTIP": "Clone", + "TOOLTIP": "복제", "API": { - "SUCCESS_MESSAGE": "Automation cloned successfully", - "ERROR_MESSAGE": "Could not clone automation rule, Please try again later" + "SUCCESS_MESSAGE": "자동화가 성공적으로 복제되었습니다", + "ERROR_MESSAGE": "자동화 규칙을 복제할 수 없습니다. 나중에 다시 시도하십시오" } }, "FORM": { @@ -84,101 +84,105 @@ "CREATE": "만들기", "DELETE": "삭제", "CANCEL": "취소", - "RESET_MESSAGE": "Changing event type will reset the conditions and events you have added below" + "RESET_MESSAGE": "이벤트 유형을 변경하면 아래에 추가한 조건과 이벤트가 초기화됩니다" }, "CONDITION": { - "DELETE_MESSAGE": "You need to have atleast one condition to save", - "CONTACT_CUSTOM_ATTR_LABEL": "Contact Custom Attributes", - "CONVERSATION_CUSTOM_ATTR_LABEL": "Conversation Custom Attributes" + "DELETE_MESSAGE": "저장하려면 최소 하나의 조건이 필요합니다", + "CONTACT_CUSTOM_ATTR_LABEL": "연락처 사용자 지정 속성", + "CONVERSATION_CUSTOM_ATTR_LABEL": "대화 사용자 지정 속성" }, "ACTION": { - "DELETE_MESSAGE": "You need to have atleast one action to save", - "TEAM_MESSAGE_INPUT_PLACEHOLDER": "Enter your message here", - "TEAM_DROPDOWN_PLACEHOLDER": "Select teams", - "EMAIL_INPUT_PLACEHOLDER": "Enter email", - "URL_INPUT_PLACEHOLDER": "Enter URL" + "DELETE_MESSAGE": "저장하려면 최소 하나의 액션이 필요합니다", + "TEAM_MESSAGE_INPUT_PLACEHOLDER": "여기에 메시지를 입력하십시오", + "TEAM_DROPDOWN_PLACEHOLDER": "팀 선택", + "EMAIL_INPUT_PLACEHOLDER": "이메일 입력", + "URL_INPUT_PLACEHOLDER": "URL 입력" }, "TOGGLE": { - "ACTIVATION_TITLE": "Activate Automation Rule", - "DEACTIVATION_TITLE": "Deactivate Automation Rule", - "ACTIVATION_DESCRIPTION": "This action will activate the automation rule '{automationName}'. Are you sure you want to proceed?", - "DEACTIVATION_DESCRIPTION": "This action will deactivate the automation rule '{automationName}'. Are you sure you want to proceed?", - "ACTIVATION_SUCCESFUL": "Automation Rule Activated Successfully", - "DEACTIVATION_SUCCESFUL": "Automation Rule Deactivated Successfully", - "ACTIVATION_ERROR": "Could not Activate Automation, Please try again later", - "DEACTIVATION_ERROR": "Could not Deactivate Automation, Please try again later", + "ACTIVATION_TITLE": "자동화 규칙 활성화", + "DEACTIVATION_TITLE": "자동화 규칙 비활성화", + "ACTIVATION_DESCRIPTION": "이 작업은 자동화 규칙 '{automationName}'을(를) 활성화합니다. 계속하시겠습니까?", + "DEACTIVATION_DESCRIPTION": "이 작업은 자동화 규칙 '{automationName}'을(를) 비활성화합니다. 계속하시겠습니까?", + "ACTIVATION_SUCCESFUL": "자동화 규칙이 성공적으로 활성화되었습니다", + "DEACTIVATION_SUCCESFUL": "자동화 규칙이 성공적으로 비활성화되었습니다", + "ACTIVATION_ERROR": "자동화를 활성화할 수 없습니다. 나중에 다시 시도하십시오", + "DEACTIVATION_ERROR": "자동화를 비활성화할 수 없습니다. 나중에 다시 시도하십시오", "CONFIRMATION_LABEL": "예", "CANCEL_LABEL": "아니오" }, "ATTACHMENT": { - "UPLOAD_ERROR": "Could not upload attachment, Please try again", - "LABEL_IDLE": "Upload Attachment", + "UPLOAD_ERROR": "첨부 파일을 업로드할 수 없습니다. 다시 시도하십시오", + "LABEL_IDLE": "첨부 파일 업로드", "LABEL_UPLOADING": "업로드 중...", - "LABEL_UPLOADED": "Successfully Uploaded", - "LABEL_UPLOAD_FAILED": "Upload Failed" + "LABEL_UPLOADED": "업로드 완료", + "LABEL_UPLOAD_FAILED": "업로드 실패" }, "ERRORS": { - "ATTRIBUTE_KEY_REQUIRED": "Attribute key is required", - "FILTER_OPERATOR_REQUIRED": "Filter operator is required", + "ATTRIBUTE_KEY_REQUIRED": "속성 키가 필요합니다", + "FILTER_OPERATOR_REQUIRED": "필터 연산자가 필요합니다", "VALUE_REQUIRED": "값이 필요합니다.", - "VALUE_MUST_BE_BETWEEN_1_AND_998": "Value must be between 1 and 998", - "ACTION_PARAMETERS_REQUIRED": "Action parameters are required", - "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", - "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" + "VALUE_MUST_BE_BETWEEN_1_AND_998": "값은 1에서 998 사이여야 합니다", + "ACTION_PARAMETERS_REQUIRED": "액션 매개변수가 필요합니다", + "ATLEAST_ONE_CONDITION_REQUIRED": "최소 하나의 조건이 필요합니다", + "ATLEAST_ONE_ACTION_REQUIRED": "최소 하나의 액션이 필요합니다" }, "NONE_OPTION": "없음", "EVENTS": { - "CONVERSATION_CREATED": "Conversation Created", - "CONVERSATION_UPDATED": "Conversation Updated", - "MESSAGE_CREATED": "Message Created", - "CONVERSATION_RESOLVED": "Conversation Resolved", - "CONVERSATION_OPENED": "Conversation Opened" + "CONVERSATION_CREATED": "대화 생성됨", + "CONVERSATION_UPDATED": "대화 업데이트됨", + "MESSAGE_CREATED": "메시지 생성됨", + "CONVERSATION_RESOLVED": "대화 해결됨", + "CONVERSATION_OPENED": "대화 열림" }, "ACTIONS": { - "ASSIGN_AGENT": "Assign to Agent", - "ASSIGN_TEAM": "Assign a Team", - "ADD_LABEL": "Add a Label", - "REMOVE_LABEL": "Remove a Label", - "SEND_EMAIL_TO_TEAM": "Send an Email to Team", - "SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript", + "ASSIGN_AGENT": "에이전트에게 배정", + "ASSIGN_TEAM": "팀 배정", + "ADD_LABEL": "라벨 추가", + "REMOVE_LABEL": "라벨 제거", + "SEND_EMAIL_TO_TEAM": "팀에 이메일 보내기", + "SEND_EMAIL_TRANSCRIPT": "이메일 대화록 보내기", "MUTE_CONVERSATION": "대화 음소거", - "SNOOZE_CONVERSATION": "Snooze Conversation", - "RESOLVE_CONVERSATION": "Resolve Conversation", - "SEND_WEBHOOK_EVENT": "Send Webhook Event", - "SEND_ATTACHMENT": "Send Attachment", - "SEND_MESSAGE": "Send a Message", - "ADD_PRIVATE_NOTE": "Add a Private Note", - "CHANGE_PRIORITY": "Change Priority", - "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "SNOOZE_CONVERSATION": "대화 일시 중지", + "RESOLVE_CONVERSATION": "대화 해결", + "SEND_WEBHOOK_EVENT": "Webhook 이벤트 보내기", + "SEND_ATTACHMENT": "첨부 파일 보내기", + "SEND_MESSAGE": "메시지 보내기", + "ADD_PRIVATE_NOTE": "비공개 노트 추가", + "CHANGE_PRIORITY": "우선순위 변경", + "ADD_SLA": "SLA 추가", + "OPEN_CONVERSATION": "대화 열기", + "PENDING_CONVERSATION": "대화를 보류 중으로 표시" }, "MESSAGE_TYPES": { - "INCOMING": "Incoming Message", - "OUTGOING": "Outgoing Message" + "INCOMING": "수신 메시지", + "OUTGOING": "발신 메시지" }, "PRIORITY_TYPES": { "NONE": "없음", - "LOW": "Low", - "MEDIUM": "Medium", - "HIGH": "High", - "URGENT": "Urgent" + "LOW": "낮음", + "MEDIUM": "보통", + "HIGH": "높음", + "URGENT": "긴급" }, "ATTRIBUTES": { - "MESSAGE_TYPE": "Message Type", - "MESSAGE_CONTAINS": "Message Contains", + "MESSAGE_TYPE": "메시지 유형", + "MESSAGE_CONTAINS": "메시지 포함", "EMAIL": "이메일", "INBOX": "받은 메시지함", - "CONVERSATION_LANGUAGE": "Conversation Language", + "CONVERSATION_LANGUAGE": "대화 언어", "PHONE_NUMBER": "전화 번호", "STATUS": "상태", - "BROWSER_LANGUAGE": "언어 표시", - "MAIL_SUBJECT": "Email Subject", + "BROWSER_LANGUAGE": "브라우저 언어", + "MAIL_SUBJECT": "이메일 제목", "COUNTRY_NAME": "국가", - "REFERER_LINK": "Referrer Link", - "ASSIGNEE_NAME": "Assignee", - "TEAM_NAME": "Team", - "PRIORITY": "Priority", + "REFERER_LINK": "참조 링크", + "ASSIGNEE_NAME": "담당자", + "TEAM_NAME": "팀", + "PRIORITY": "우선순위", "LABELS": "라벨" - } + }, + "COUNT": "{n}개의 자동화 규칙 | {n}개의 자동화 규칙", + "SEARCH_PLACEHOLDER": "자동화 규칙 검색...", + "NO_RESULTS": "검색과 일치하는 자동화 규칙이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/bulkActions.json b/app/javascript/dashboard/i18n/locale/ko/bulkActions.json index d1c06a0ce..2e709ed67 100644 --- a/app/javascript/dashboard/i18n/locale/ko/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ko/bulkActions.json @@ -1,41 +1,45 @@ { "BULK_ACTION": { - "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", + "CONVERSATIONS_SELECTED": "{conversationCount}개의 대화가 선택되었습니다", "AGENT_SELECT_LABEL": "에이전트 선택", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "할당하다", + "ASSIGN_CONFIRMATION_LABEL": "{conversationCount}개의 {conversationLabel}을(를) 배정하시겠습니까?", + "UNASSIGN_CONFIRMATION_LABEL": "{conversationCount}개의 {conversationLabel} 배정을 해제하시겠습니까?", + "GO_BACK_LABEL": "뒤로 가기", + "ASSIGN_LABEL": "배정", "YES": "예", "SEARCH_INPUT_PLACEHOLDER": "검색", - "ASSIGN_AGENT_TOOLTIP": "Assign agent", - "ASSIGN_TEAM_TOOLTIP": "Assign team", - "ASSIGN_SUCCESFUL": "Conversations assigned successfully.", - "ASSIGN_FAILED": "Failed to assign conversations. Please try again.", - "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", - "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", - "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", + "ASSIGN_AGENT_TOOLTIP": "에이전트 배정", + "ASSIGN_TEAM_TOOLTIP": "팀 배정", + "ASSIGN_SUCCESFUL": "대화가 성공적으로 배정되었습니다.", + "ASSIGN_FAILED": "대화 배정에 실패했습니다. 다시 시도하십시오.", + "RESOLVE_SUCCESFUL": "대화가 성공적으로 해결되었습니다.", + "RESOLVE_FAILED": "대화 해결에 실패했습니다. 다시 시도하십시오.", + "ALL_CONVERSATIONS_SELECTED_ALERT": "이 페이지에 표시된 대화만 선택되었습니다.", + "AGENT_LIST_LOADING": "에이전트 로딩 중", "UPDATE": { - "CHANGE_STATUS": "Change status", - "SNOOZE_UNTIL": "Snooze", - "UPDATE_SUCCESFUL": "Conversation status updated successfully.", - "UPDATE_FAILED": "Failed to update conversations. Please try again." + "CHANGE_STATUS": "상태 변경", + "SNOOZE_UNTIL": "일시 중지", + "UPDATE_SUCCESFUL": "대화 상태가 성공적으로 업데이트되었습니다.", + "UPDATE_FAILED": "대화 업데이트에 실패했습니다. 다시 시도하십시오." }, "LABELS": { - "ASSIGN_LABELS": "Assign labels", + "ASSIGN_LABELS": "라벨 배정", "NO_LABELS_FOUND": "라벨을 찾을 수 없습니다", - "ASSIGN_SELECTED_LABELS": "Assign selected labels", - "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_SELECTED_LABELS": "선택한 라벨 배정", + "ASSIGN_SUCCESFUL": "라벨이 성공적으로 배정되었습니다.", + "ASSIGN_FAILED": "라벨 배정에 실패했습니다. 다시 시도하십시오." }, "TEAMS": { "TEAM_SELECT_LABEL": "팀 선택", "NONE": "없음", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", - "ASSIGN_SUCCESFUL": "Teams assigned successfully.", - "ASSIGN_FAILED": "Failed to assign team. Please try again." + "NO_TEAMS_AVAILABLE": "이 계정에 추가된 팀이 없습니다.", + "ASSIGN_SELECTED_TEAMS": "선택한 팀 배정", + "ASSIGN_SUCCESFUL": "팀이 성공적으로 배정되었습니다.", + "ASSIGN_FAILED": "팀 배정에 실패했습니다. 다시 시도하십시오." + }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "필수 속성이 누락되어 대화를 해결할 수 없습니다", + "PARTIAL_SUCCESS": "일부 대화는 필수 속성이 필요하여 건너뛰었습니다" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/campaign.json b/app/javascript/dashboard/i18n/locale/ko/campaign.json index 9c65e80ca..f6680d01a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ko/campaign.json @@ -1,8 +1,8 @@ { "CAMPAIGN": { "LIVE_CHAT": { - "HEADER_TITLE": "Live chat campaigns", - "NEW_CAMPAIGN": "Create campaign", + "HEADER_TITLE": "실시간 채팅 캠페인", + "NEW_CAMPAIGN": "캠페인 생성", "CARD": { "STATUS": { "ENABLED": "사용함", @@ -16,198 +16,198 @@ } }, "EMPTY_STATE": { - "TITLE": "No live chat campaigns are available", - "SUBTITLE": "Connect with your customers using proactive messages. Click 'Create campaign' to get started." + "TITLE": "사용 가능한 실시간 채팅 캠페인이 없습니다.", + "SUBTITLE": "사전 메시지를 사용하여 고객과 소통하십시오. '캠페인 생성'을 클릭하여 시작하십시오." }, "CREATE": { - "TITLE": "Create a live chat campaign", + "TITLE": "실시간 채팅 캠페인 생성", "CANCEL_BUTTON_TEXT": "취소", "CREATE_BUTTON_TEXT": "만들기", "FORM": { "TITLE": { - "LABEL": "Title", - "PLACEHOLDER": "Please enter the title of campaign", - "ERROR": "Title is required" + "LABEL": "제목", + "PLACEHOLDER": "캠페인 제목을 입력하십시오.", + "ERROR": "제목이 필요합니다." }, "MESSAGE": { "LABEL": "메시지", - "PLACEHOLDER": "Please enter the message of campaign", - "ERROR": "Message is required" + "PLACEHOLDER": "캠페인 메시지를 입력하십시오.", + "ERROR": "메시지가 필요합니다." }, "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox", - "ERROR": "Inbox is required" + "LABEL": "받은 메시지함 선택", + "PLACEHOLDER": "받은 메시지함 선택", + "ERROR": "받은 메시지함이 필요합니다." }, "SENT_BY": { "LABEL": "보낸 사람", - "PLACEHOLDER": "Please select sender", - "ERROR": "Sender is required" + "PLACEHOLDER": "발신자를 선택하십시오.", + "ERROR": "발신자가 필요합니다." }, "END_POINT": { "LABEL": "URL", - "PLACEHOLDER": "Please enter the URL", + "PLACEHOLDER": "URL을 입력하십시오.", "ERROR": "올바른 URL을 입력하십시오." }, "TIME_ON_PAGE": { - "LABEL": "Time on page(Seconds)", - "PLACEHOLDER": "Please enter the time", - "ERROR": "Time on page is required" + "LABEL": "페이지 체류 시간(초)", + "PLACEHOLDER": "시간을 입력하십시오.", + "ERROR": "페이지 체류 시간이 필요합니다." }, "OTHER_PREFERENCES": { - "TITLE": "Other preferences", - "ENABLED": "Enable campaign", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours" + "TITLE": "기타 설정", + "ENABLED": "캠페인 활성화", + "TRIGGER_ONLY_BUSINESS_HOURS": "업무 시간에만 실행" }, "BUTTONS": { "CREATE": "만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Live chat campaign created successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "실시간 채팅 캠페인이 성공적으로 생성되었습니다.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } }, "EDIT": { - "TITLE": "Edit live chat campaign", + "TITLE": "실시간 채팅 캠페인 수정", "FORM": { "API": { - "SUCCESS_MESSAGE": "Live chat campaign updated successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "실시간 채팅 캠페인이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } } }, "SMS": { - "HEADER_TITLE": "SMS campaigns", - "NEW_CAMPAIGN": "Create campaign", + "HEADER_TITLE": "SMS 캠페인", + "NEW_CAMPAIGN": "캠페인 생성", "EMPTY_STATE": { - "TITLE": "No SMS campaigns are available", - "SUBTITLE": "Launch an SMS campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "사용 가능한 SMS 캠페인이 없습니다.", + "SUBTITLE": "SMS 캠페인을 시작하여 고객에게 직접 연락하십시오. 제안을 보내거나 공지를 쉽게 할 수 있습니다. '캠페인 생성'을 클릭하여 시작하십시오." }, "CARD": { "STATUS": { - "COMPLETED": "Completed", - "SCHEDULED": "Scheduled" + "COMPLETED": "완료됨", + "SCHEDULED": "예약됨" }, "CAMPAIGN_DETAILS": { - "SENT_FROM": "Sent from", - "ON": "on" + "SENT_FROM": "발신", + "ON": "일시" } }, "CREATE": { - "TITLE": "Create SMS campaign", + "TITLE": "SMS 캠페인 생성", "CANCEL_BUTTON_TEXT": "취소", "CREATE_BUTTON_TEXT": "만들기", "FORM": { "TITLE": { - "LABEL": "Title", - "PLACEHOLDER": "Please enter the title of campaign", - "ERROR": "Title is required" + "LABEL": "제목", + "PLACEHOLDER": "캠페인 제목을 입력하십시오.", + "ERROR": "제목이 필요합니다." }, "MESSAGE": { "LABEL": "메시지", - "PLACEHOLDER": "Please enter the message of campaign", - "ERROR": "Message is required" + "PLACEHOLDER": "캠페인 메시지를 입력하십시오.", + "ERROR": "메시지가 필요합니다." }, "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox", - "ERROR": "Inbox is required" + "LABEL": "받은 메시지함 선택", + "PLACEHOLDER": "받은 메시지함 선택", + "ERROR": "받은 메시지함이 필요합니다." }, "AUDIENCE": { - "LABEL": "Audience", - "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "LABEL": "대상", + "PLACEHOLDER": "고객 라벨을 선택하십시오.", + "ERROR": "대상이 필요합니다." }, "SCHEDULED_AT": { - "LABEL": "Scheduled time", - "PLACEHOLDER": "Please select the time", - "ERROR": "Scheduled time is required" + "LABEL": "예약 시간", + "PLACEHOLDER": "시간을 선택하십시오.", + "ERROR": "예약 시간이 필요합니다." }, "BUTTONS": { "CREATE": "만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "SMS campaign created successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "SMS 캠페인이 성공적으로 생성되었습니다.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } } }, "WHATSAPP": { "HEADER_TITLE": "WhatsApp 캠페인", - "NEW_CAMPAIGN": "Create campaign", + "NEW_CAMPAIGN": "캠페인 생성", "EMPTY_STATE": { - "TITLE": "사용 가능한 WhatsApp 캠페인 없음", - "SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "사용 가능한 WhatsApp 캠페인이 없습니다.", + "SUBTITLE": "WhatsApp 캠페인을 시작하여 고객에게 직접 연락하십시오. 제안을 보내거나 공지를 쉽게 할 수 있습니다. '캠페인 생성'을 클릭하여 시작하십시오." }, "CARD": { "STATUS": { - "COMPLETED": "Completed", - "SCHEDULED": "Scheduled" + "COMPLETED": "완료됨", + "SCHEDULED": "예약됨" }, "CAMPAIGN_DETAILS": { - "SENT_FROM": "Sent from", - "ON": "on" + "SENT_FROM": "발신", + "ON": "일시" } }, "CREATE": { - "TITLE": "Create WhatsApp campaign", + "TITLE": "WhatsApp 캠페인 생성", "CANCEL_BUTTON_TEXT": "취소", "CREATE_BUTTON_TEXT": "만들기", "FORM": { "TITLE": { - "LABEL": "Title", - "PLACEHOLDER": "Please enter the title of campaign", - "ERROR": "Title is required" + "LABEL": "제목", + "PLACEHOLDER": "캠페인 제목을 입력하십시오.", + "ERROR": "제목이 필요합니다." }, "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox", - "ERROR": "Inbox is required" + "LABEL": "받은 메시지함 선택", + "PLACEHOLDER": "받은 메시지함 선택", + "ERROR": "받은 메시지함이 필요합니다." }, "TEMPLATE": { - "LABEL": "WhatsApp Template", - "PLACEHOLDER": "Select a template", - "INFO": "Select a template to use for this campaign.", - "ERROR": "Template is required", - "PREVIEW_TITLE": "Process {templateName}", + "LABEL": "WhatsApp 템플릿", + "PLACEHOLDER": "템플릿을 선택하십시오.", + "INFO": "이 캠페인에 사용할 템플릿을 선택하십시오.", + "ERROR": "템플릿이 필요합니다.", + "PREVIEW_TITLE": "{templateName} 처리", "LANGUAGE": "언어", - "CATEGORY": "Category", - "VARIABLES_LABEL": "Variables", - "VARIABLE_PLACEHOLDER": "Enter value for {variable}" + "CATEGORY": "카테고리", + "VARIABLES_LABEL": "변수", + "VARIABLE_PLACEHOLDER": "{variable}의 값을 입력하십시오." }, "AUDIENCE": { - "LABEL": "Audience", - "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "LABEL": "대상", + "PLACEHOLDER": "고객 라벨을 선택하십시오.", + "ERROR": "대상이 필요합니다." }, "SCHEDULED_AT": { - "LABEL": "Scheduled time", - "PLACEHOLDER": "Please select the time", - "ERROR": "Scheduled time is required" + "LABEL": "예약 시간", + "PLACEHOLDER": "시간을 선택하십시오.", + "ERROR": "예약 시간이 필요합니다." }, "BUTTONS": { "CREATE": "만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "WhatsApp campaign created successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "WhatsApp 캠페인이 성공적으로 생성되었습니다.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } } }, "CONFIRM_DELETE": { - "TITLE": "Are you sure to delete?", - "DESCRIPTION": "The delete action is permanent and cannot be reversed.", + "TITLE": "정말로 삭제하시겠습니까?", + "DESCRIPTION": "삭제 작업은 영구적이며 되돌릴 수 없습니다.", "CONFIRM": "삭제", "API": { - "SUCCESS_MESSAGE": "Campaign deleted successfully", - "ERROR_MESSAGE": "There was an error. Please try again." + "SUCCESS_MESSAGE": "캠페인이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json index 58c8b4277..35300c7e7 100644 --- a/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/cannedMgmt.json @@ -1,77 +1,80 @@ { "CANNED_MGMT": { "HEADER": "미리 준비된 답변", - "LEARN_MORE": "Learn more about canned responses", - "DESCRIPTION": "미리 준비된 응답은 대화에 신속하게 응답할 수 있도록 도와주는 미리 작성된 응답입니다. 상담원은 대화 중에 '/' 문자 뒤에 단축 코드를 입력하여 미리 준비된 응답을 삽입할 수 있습니다. ", + "LEARN_MORE": "미리 준비된 답변에 대해 알아보기", + "DESCRIPTION": "미리 준비된 응답은 대화에 신속하게 응답할 수 있도록 도와주는 미리 작성된 응답 템플릿입니다. 에이전트는 대화 중에 '/' 문자 뒤에 단축 코드를 입력하여 미리 준비된 응답을 삽입할 수 있습니다. ", "HEADER_BTN_TXT": "미리 준비된 응답 추가", - "LOADING": "Fetching canned responses...", - "SEARCH_404": "이 쿼리와 일치하는 항목이 없음.", + "LOADING": "미리 준비된 응답을 가져오는 중...", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없습니다.", "LIST": { "404": "이 계정에는 미리 준비된 답변이 없습니다.", "TITLE": "미리 준비된 답변 관리", - "DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to conversations.", + "DESC": "미리 준비된 응답은 대화에 빠르게 답변을 보낼 수 있는 미리 정의된 응답 템플릿입니다.", "TABLE_HEADER": { - "SHORT_CODE": "Short code", + "SHORT_CODE": "단축 코드", "CONTENT": "내용", "ACTIONS": "액션" } }, "ADD": { "TITLE": "미리 준비된 응답 추가", - "DESC": "Canned Responses are predefined reply templates which can be used to quickly send out replies to conversations.", + "DESC": "미리 준비된 응답은 대화에 빠르게 답변을 보낼 수 있는 미리 정의된 응답 템플릿입니다.", "CANCEL_BUTTON_TEXT": "취소", "FORM": { "SHORT_CODE": { - "LABEL": "Short code", - "PLACEHOLDER": "Please enter a short code.", - "ERROR": "Short Code is required." + "LABEL": "단축 코드", + "PLACEHOLDER": "단축 코드를 입력하십시오.", + "ERROR": "단축 코드가 필요합니다." }, "CONTENT": { "LABEL": "메시지", - "PLACEHOLDER": "Please write the message you want to save as a template to use later.", - "ERROR": "Message is required." + "PLACEHOLDER": "나중에 템플릿으로 사용할 메시지를 작성하십시오.", + "ERROR": "메시지가 필요합니다." }, - "SUBMIT": "보내기" + "SUBMIT": "제출" }, "API": { - "SUCCESS_MESSAGE": "Canned response added successfully.", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." + "SUCCESS_MESSAGE": "미리 준비된 응답이 성공적으로 추가되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 다시 시도하십시오." } }, "EDIT": { - "TITLE": "Edit canned response", + "TITLE": "미리 준비된 응답 수정", "CANCEL_BUTTON_TEXT": "취소", "FORM": { "SHORT_CODE": { - "LABEL": "Short code", - "PLACEHOLDER": "Please enter a shortcode.", - "ERROR": "Short code is required." + "LABEL": "단축 코드", + "PLACEHOLDER": "단축 코드를 입력하십시오.", + "ERROR": "단축 코드가 필요합니다." }, "CONTENT": { "LABEL": "메시지", - "PLACEHOLDER": "Please write the message you want to save as a template to use later.", - "ERROR": "Message is required." + "PLACEHOLDER": "나중에 템플릿으로 사용할 메시지를 작성하십시오.", + "ERROR": "메시지가 필요합니다." }, - "SUBMIT": "보내기" + "SUBMIT": "제출" }, "BUTTON_TEXT": "수정", "API": { - "SUCCESS_MESSAGE": "Canned response is updated successfully.", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." + "SUCCESS_MESSAGE": "미리 준비된 응답이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 다시 시도하십시오." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Canned response deleted successfully.", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." + "SUCCESS_MESSAGE": "미리 준비된 응답이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 다시 시도하십시오." }, "CONFIRM": { - "TITLE": "Confirm deletion", + "TITLE": "삭제 확인", "MESSAGE": "삭제하시겠습니까? ", "YES": "예, 삭제합니다. ", - "NO": "아니요, 유지합니다 " + "NO": "아니요, 유지합니다. " } - } + }, + "COUNT": "{n}개의 미리 준비된 응답 | {n}개의 미리 준비된 응답", + "SEARCH_PLACEHOLDER": "미리 준비된 응답 검색...", + "NO_RESULTS": "검색과 일치하는 미리 준비된 응답이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/chatlist.json b/app/javascript/dashboard/i18n/locale/ko/chatlist.json index 6ca051f43..c49ac12d9 100644 --- a/app/javascript/dashboard/i18n/locale/ko/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ko/chatlist.json @@ -1,17 +1,17 @@ { "CHAT_LIST": { - "LOADING": "대화 가져오기", + "LOADING": "대화를 가져오는 중", "LOAD_MORE_CONVERSATIONS": "더 많은 대화 불러오기", - "EOF": "모든 대화 불러오기🎉", + "EOF": "모든 대화를 불러왔습니다 🎉", "LIST": { "404": "이 그룹에는 활성 대화가 없습니다." }, - "FAILED_TO_SEND": "Failed to send", + "FAILED_TO_SEND": "전송 실패", "TAB_HEADING": "대화", "MENTION_HEADING": "멘션", - "UNATTENDED_HEADING": "Unattended", + "UNATTENDED_HEADING": "미응대", "SEARCH": { - "INPUT": "사람 검색, 채팅, 저장된 응답..." + "INPUT": "사람, 채팅, 저장된 응답 검색..." }, "FILTER_ALL": "모두", "ASSIGNEE_TYPE_TABS": { @@ -21,13 +21,13 @@ }, "CHAT_STATUS_FILTER_ITEMS": { "open": { - "TEXT": "열기" + "TEXT": "열림" }, "resolved": { "TEXT": "해결됨" }, "pending": { - "TEXT": "보내는 중" + "TEXT": "보류 중" }, "snoozed": { "TEXT": "일시 중지됨" @@ -37,15 +37,15 @@ } }, "VIEW_FILTER": "보기", - "SORT_TOOLTIP_LABEL": "Sort conversations", + "SORT_TOOLTIP_LABEL": "대화 정렬", "CHAT_SORT": { "STATUS": "상태", - "ORDER_BY": "Order by" + "ORDER_BY": "정렬 기준" }, "CHAT_TIME_STAMP": { "CREATED": { - "LATEST": "만들어짐", - "OLDEST": "에 만들어짐:" + "LATEST": "생성됨", + "OLDEST": "생성 일시:" }, "LAST_ACTIVITY": { "NOT_ACTIVE": "최근 활동:", @@ -54,28 +54,31 @@ }, "SORT_ORDER_ITEMS": { "last_activity_at_asc": { - "TEXT": "Last activity: Oldest first" + "TEXT": "최근 활동: 오래된 순" }, "last_activity_at_desc": { - "TEXT": "Last activity: Newest first" + "TEXT": "최근 활동: 최신 순" }, "created_at_desc": { - "TEXT": "Created at: Newest first" + "TEXT": "생성 일시: 최신 순" }, "created_at_asc": { - "TEXT": "Created at: Oldest first" + "TEXT": "생성 일시: 오래된 순" }, "priority_desc": { - "TEXT": "Priority: Highest first" + "TEXT": "우선순위: 높은 순" }, "priority_asc": { - "TEXT": "Priority: Lowest first" + "TEXT": "우선순위: 낮은 순" }, "waiting_since_asc": { - "TEXT": "Pending Response: Longest first" + "TEXT": "응답 대기: 오래된 순" }, "waiting_since_desc": { - "TEXT": "Pending Response: Shortest first" + "TEXT": "응답 대기: 최신 순" + }, + "priority_desc_created_at_asc": { + "TEXT": "우선순위: 높은 순, 생성일: 오래된 순" } }, "ATTACHMENTS": { @@ -92,51 +95,51 @@ "CONTENT": "파일 첨부" }, "location": { - "CONTENT": "장소" + "CONTENT": "위치" }, "ig_reel": { "CONTENT": "Instagram Reel" }, "fallback": { - "CONTENT": "URL을 공유함" + "CONTENT": "URL을 공유했습니다" }, "contact": { - "CONTENT": "Shared contact" + "CONTENT": "연락처 공유" }, "embed": { - "CONTENT": "Embedded content" + "CONTENT": "임베디드 콘텐츠" } }, "CHAT_SORT_BY_FILTER": { - "TITLE": "Sort conversation", - "DROPDOWN_TITLE": "Sort by", + "TITLE": "대화 정렬", + "DROPDOWN_TITLE": "정렬 기준", "ITEMS": { "LATEST": { - "NAME": "Last activity at", + "NAME": "최근 활동 일시", "LABEL": "최근 활동" }, "CREATED_AT": { - "NAME": "에 만들어짐", - "LABEL": "에 만들어짐" + "NAME": "생성 일시", + "LABEL": "생성 일시" }, "LAST_USER_MESSAGE_AT": { - "NAME": "Last user message at", - "LABEL": "최근 메세지" + "NAME": "마지막 사용자 메시지 일시", + "LABEL": "마지막 메시지" } } }, "RECEIVED_VIA_EMAIL": "이메일을 통해 수신됨", "VIEW_TWEET_IN_TWITTER": "트위터에서 트윗 보기", "REPLY_TO_TWEET": "트윗에 응답하기", - "LINK_TO_STORY": "인스타그램 스토리로 가기", - "SENT": "성공적으로 보내짐", - "READ": "Read successfully", - "DELIVERED": "Delivered successfully", + "LINK_TO_STORY": "인스타그램 스토리로 이동", + "SENT": "성공적으로 전송됨", + "READ": "성공적으로 읽음", + "DELIVERED": "성공적으로 전달됨", "NO_MESSAGES": "메시지 없음", - "NO_CONTENT": "콘텐츠 이용 불가", - "HIDE_QUOTED_TEXT": "인용문 가리기", - "SHOW_QUOTED_TEXT": "인용문 보이기", - "MESSAGE_READ": "읽기", - "SENDING": "Sending" + "NO_CONTENT": "콘텐츠를 사용할 수 없습니다.", + "HIDE_QUOTED_TEXT": "인용문 숨기기", + "SHOW_QUOTED_TEXT": "인용문 보기", + "MESSAGE_READ": "읽음", + "SENDING": "전송 중" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/companies.json b/app/javascript/dashboard/i18n/locale/ko/companies.json index cf62d963a..521f55ba0 100644 --- a/app/javascript/dashboard/i18n/locale/ko/companies.json +++ b/app/javascript/dashboard/i18n/locale/ko/companies.json @@ -1,33 +1,33 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "회사", "SORT_BY": { - "LABEL": "Sort by", + "LABEL": "정렬 기준", "OPTIONS": { "NAME": "이름", - "DOMAIN": "Domain", - "CREATED_AT": "에 만들어짐", - "CONTACTS_COUNT": "Contacts count" + "DOMAIN": "도메인", + "CREATED_AT": "생성일", + "CONTACTS_COUNT": "연락처 수" } }, "ORDER": { - "LABEL": "Order", + "LABEL": "순서", "OPTIONS": { - "ASCENDING": "Ascending", - "DESCENDING": "Descending" + "ASCENDING": "오름차순", + "DESCENDING": "내림차순" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "회사 검색...", + "LOADING": "회사 로딩 중...", + "UNNAMED": "이름 없는 회사", + "CONTACTS_COUNT": "{n} 연락처 | {n} 연락처", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "회사를 찾을 수 없습니다" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "{totalItems}개 회사 중 {startItem} – {endItem} 표시 | {totalItems}개 회사 중 {startItem} – {endItem} 표시" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/components.json b/app/javascript/dashboard/i18n/locale/ko/components.json index 3dab334a9..f457ed7d5 100644 --- a/app/javascript/dashboard/i18n/locale/ko/components.json +++ b/app/javascript/dashboard/i18n/locale/ko/components.json @@ -1,56 +1,56 @@ { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} - {endItem} of {totalItems} items", - "CURRENT_PAGE_INFO": "{currentPage} of {totalPages} pages" + "SHOWING": "{totalItems}개 항목 중 {startItem} - {endItem} 표시 | {totalItems}개 항목 중 {startItem} - {endItem} 표시", + "CURRENT_PAGE_INFO": "{totalPages} 페이지 중 {currentPage} | {totalPages} 페이지 중 {currentPage}" }, "COMBOBOX": { - "PLACEHOLDER": "Select an option...", - "EMPTY_SEARCH_RESULTS": "No items found for the search term `{searchTerm}`", + "PLACEHOLDER": "옵션을 선택하십시오...", + "EMPTY_SEARCH_RESULTS": "검색어 `{searchTerm}`에 대한 항목을 찾을 수 없습니다", "EMPTY_STATE": "검색 결과가 없습니다.", - "SEARCH_PLACEHOLDER": "Search...", - "MORE": "+{count} more" + "SEARCH_PLACEHOLDER": "검색...", + "MORE": "+{count}개 더" }, "DROPDOWN_MENU": { - "SEARCH_PLACEHOLDER": "Search...", + "SEARCH_PLACEHOLDER": "검색...", "EMPTY_STATE": "검색 결과가 없습니다.", "SEARCHING": "검색중..." }, "DIALOG": { "BUTTONS": { "CANCEL": "취소", - "CONFIRM": "Confirm" + "CONFIRM": "확인" } }, "PHONE_INPUT": { "SEARCH_PLACEHOLDER": "국가 검색", - "ERROR": "Phone number should be empty or in E.164 format", - "DIAL_CODE_ERROR": "Please select a dial code from the list" + "ERROR": "전화번호는 비어 있거나 E.164 형식이어야 합니다", + "DIAL_CODE_ERROR": "목록에서 국가 번호를 선택하십시오" }, "THUMBNAIL": { "AUTHOR": { - "NOT_AVAILABLE": "Author is not available" + "NOT_AVAILABLE": "작성자를 사용할 수 없습니다" } }, "BREADCRUMB": { - "ARIA_LABEL": "Breadcrumb" + "ARIA_LABEL": "브레드크럼" }, "SWITCH": { - "TOGGLE": "Toggle switch" + "TOGGLE": "스위치 전환" }, "LABEL": { - "TAG_BUTTON": "tag" + "TAG_BUTTON": "태그" }, "FEATURE_SPOTLIGHT": { - "LEARN_MORE": "Learn more", - "WATCH_VIDEO": "Watch video" + "LEARN_MORE": "더 알아보기", + "WATCH_VIDEO": "동영상 보기" }, "DURATION_INPUT": { - "MINUTES": "Minutes", - "HOURS": "Hours", - "DAYS": "Days", - "PLACEHOLDER": "Enter duration" + "MINUTES": "분", + "HOURS": "시간", + "DAYS": "일", + "PLACEHOLDER": "기간을 입력하십시오" }, "CHANNEL_SELECTOR": { - "COMING_SOON": "Coming Soon!" + "COMING_SOON": "곧 출시 예정!" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index b48b67b12..bf76af530 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -7,21 +7,21 @@ "COPY_SUCCESSFUL": "클립보드에 성공적으로 복사됨", "COMPANY": "회사", "LOCATION": "장소", - "BROWSER_LANGUAGE": "언어 표시", - "CONVERSATION_TITLE": "대화 자세히", + "BROWSER_LANGUAGE": "브라우저 언어", + "CONVERSATION_TITLE": "대화 상세 정보", "VIEW_PROFILE": "프로필 보기", "BROWSER": "브라우저", "OS": "운영 체제", "INITIATED_FROM": "시작 위치", "INITIATED_AT": "시작 시간", "IP_ADDRESS": "IP 주소", - "CREATED_AT_LABEL": "Created", + "CREATED_AT_LABEL": "생성일", "NEW_MESSAGE": "새 메시지", - "CALL": "Call", - "CALL_INITIATED": "Calling the contact…", - "CALL_FAILED": "Unable to start the call. Please try again.", + "CALL": "통화", + "CALL_INITIATED": "연락처에 전화 거는 중...", + "CALL_FAILED": "통화를 시작할 수 없습니다. 다시 시도하십시오.", "VOICE_INBOX_PICKER": { - "TITLE": "Choose a voice inbox" + "TITLE": "음성 받은 메시지함 선택" }, "CONVERSATIONS": { "NO_RECORDS_FOUND": "이 연락처와 관련된 이전 대화가 없습니다.", @@ -40,33 +40,33 @@ "TITLE": "라벨 추가하기", "PLACEHOLDER": "라벨 찾기", "NO_RESULT": "라벨을 찾을 수 없습니다", - "CREATE_LABEL": "Create new label" + "CREATE_LABEL": "새 라벨 만들기" } }, "MERGE_CONTACT": "연락처 합치기", "CONTACT_ACTIONS": "연락처 활동", - "MUTE_CONTACT": "Block Contact", - "UNMUTE_CONTACT": "Unblock Contact", - "MUTED_SUCCESS": "This contact is blocked successfully. You will not be notified of any future conversations.", - "UNMUTED_SUCCESS": "This contact is unblocked successfully.", + "MUTE_CONTACT": "연락처 차단", + "UNMUTE_CONTACT": "연락처 차단 해제", + "MUTED_SUCCESS": "이 연락처가 성공적으로 차단되었습니다. 향후 대화에 대한 알림을 받지 않습니다.", + "UNMUTED_SUCCESS": "이 연락처가 성공적으로 차단 해제되었습니다.", "SEND_TRANSCRIPT": "대화기록 보내기", "EDIT_LABEL": "수정", "SIDEBAR_SECTIONS": { "CUSTOM_ATTRIBUTES": "사용자 지정 특성", "CONTACT_LABELS": "연락처 라벨", "PREVIOUS_CONVERSATIONS": "이전 대화", - "NO_RECORDS_FOUND": "No attributes found" + "NO_RECORDS_FOUND": "속성을 찾을 수 없습니다" } }, "EDIT_CONTACT": { "BUTTON_LABEL": "연락처 수정", "TITLE": "연락처 수정", - "DESC": "연락처 수정 자세히" + "DESC": "연락처 정보 수정" }, "DELETE_CONTACT": { - "BUTTON_LABEL": "연락처 지우기", - "TITLE": "연락처 지우기", - "DESC": "연락처 설명 지우기", + "BUTTON_LABEL": "연락처 삭제", + "TITLE": "연락처 삭제", + "DESC": "연락처 정보 삭제", "CONFIRM": { "TITLE": "삭제 확인", "MESSAGE": "삭제하시겠습니까? ", @@ -80,7 +80,7 @@ }, "CONTACT_FORM": { "FORM": { - "SUBMIT": "보내기", + "SUBMIT": "제출", "CANCEL": "취소", "AVATAR": { "LABEL": "연락처 아바타" @@ -97,14 +97,14 @@ "PLACEHOLDER": "연락처의 이메일 주소 입력", "LABEL": "이메일 주소", "DUPLICATE": "이 이메일 주소는 다른 연락처에 사용 중입니다.", - "ERROR": "올바른 전자 메일 주소를 입력하세요." + "ERROR": "올바른 이메일 주소를 입력하십시오." }, "PHONE_NUMBER": { "PLACEHOLDER": "연락처의 전화 번호 입력", "LABEL": "전화 번호", - "HELP": "전화번호는 E.164 형식이여야 합니다. 예: +1415555555 [+][국가 코드][지역 코드][전화번호]", - "ERROR": "전화번호는 비어있거나 E.164 형식이여야 합니다", - "DIAL_CODE_ERROR": "Please select a dial code from the list", + "HELP": "전화번호는 E.164 형식이어야 합니다. 예: +1415555555 [+][국가 코드][지역 코드][전화번호]. 드롭다운에서 국가 번호를 선택할 수 있습니다.", + "ERROR": "전화번호는 비어있거나 E.164 형식이어야 합니다", + "DIAL_CODE_ERROR": "목록에서 국가 번호를 선택하십시오", "DUPLICATE": "이 전화번호는 다른 연락처에 사용 중입니다." }, "LOCATION": { @@ -116,32 +116,32 @@ "LABEL": "회사명" }, "COUNTRY": { - "PLACEHOLDER": "Enter the country name", + "PLACEHOLDER": "국가 이름 입력", "LABEL": "국가 이름", - "SELECT_PLACEHOLDER": "Select", + "SELECT_PLACEHOLDER": "선택", "REMOVE": "제거", - "SELECT_COUNTRY": "Select Country" + "SELECT_COUNTRY": "국가 선택" }, "CITY": { - "PLACEHOLDER": "Enter the city name", - "LABEL": "City Name" + "PLACEHOLDER": "도시 이름 입력", + "LABEL": "도시 이름" }, "SOCIAL_PROFILES": { "FACEBOOK": { "PLACEHOLDER": "페이스북 사용자 이름 입력", - "LABEL": "페이스북" + "LABEL": "Facebook" }, "TWITTER": { "PLACEHOLDER": "트위터 사용자 이름 입력", - "LABEL": "트위터" + "LABEL": "Twitter" }, "LINKEDIN": { "PLACEHOLDER": "링크드인 사용자 이름 입력", - "LABEL": "링크드인" + "LABEL": "LinkedIn" }, "GITHUB": { "PLACEHOLDER": "깃허브 사용자 이름 입력", - "LABEL": "깃허브" + "LABEL": "Github" } } }, @@ -157,20 +157,20 @@ "NEW_CONVERSATION": { "BUTTON_LABEL": "대화 시작", "TITLE": "새 대화", - "DESC": "새로운 메세지를 보내 대화를 시작하세요.", - "NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.", + "DESC": "새로운 메시지를 보내 대화를 시작하십시오.", + "NO_INBOX": "이 연락처와 새 대화를 시작할 받은 메시지함을 찾을 수 없습니다.", "FORM": { "TO": { - "LABEL": "~~에게" + "LABEL": "받는 사람" }, "INBOX": { "LABEL": "받은 메시지함", - "PLACEHOLDER": "Choose source inbox", + "PLACEHOLDER": "소스 받은 메시지함 선택", "ERROR": "받은 메시지함 선택" }, "SUBJECT": { - "LABEL": "Subject", - "PLACEHOLDER": "Subject", + "LABEL": "제목", + "PLACEHOLDER": "제목", "ERROR": "제목은 공백일 수 없습니다." }, "MESSAGE": { @@ -180,7 +180,7 @@ }, "ATTACHMENTS": { "SELECT": "파일 선택", - "HELP_TEXT": "Drag and drop files here or choose files to attach" + "HELP_TEXT": "여기에 파일을 끌어다 놓거나 파일을 선택하여 첨부하십시오" }, "SUBMIT": "메시지 보내기", "CANCEL": "취소", @@ -199,8 +199,8 @@ "CUSTOM_ATTRIBUTES": { "BUTTON": "사용자 지정 속성 추가하기", "COPY_SUCCESSFUL": "클립보드에 성공적으로 복사됨", - "SHOW_MORE": "Show all attributes", - "SHOW_LESS": "Show less attributes", + "SHOW_MORE": "모든 속성 보기", + "SHOW_LESS": "속성 간략히 보기", "ACTIONS": { "COPY": "속성 복사하기", "DELETE": "속성 삭제하기", @@ -215,73 +215,73 @@ "CANCEL": "취소", "NAME": { "LABEL": "사용자 지정 속성 이름", - "PLACEHOLDER": "Shopify id", - "ERROR": "Invalid custom attribute name" + "PLACEHOLDER": "예: shopify id", + "ERROR": "잘못된 사용자 지정 속성 이름입니다" }, "VALUE": { - "LABEL": "Attribute value", - "PLACEHOLDER": "Eg: 11901 " + "LABEL": "속성 값", + "PLACEHOLDER": "예: 11901 " }, "ADD": { - "TITLE": "Create new attribute ", - "SUCCESS": "Attribute added successfully", - "ERROR": "Unable to add attribute. Please try again later" + "TITLE": "새 속성 만들기 ", + "SUCCESS": "속성이 성공적으로 추가되었습니다", + "ERROR": "속성을 추가할 수 없습니다. 나중에 다시 시도하십시오" }, "UPDATE": { - "SUCCESS": "Attribute updated successfully", - "ERROR": "Unable to update attribute. Please try again later" + "SUCCESS": "속성이 성공적으로 업데이트되었습니다", + "ERROR": "속성을 업데이트할 수 없습니다. 나중에 다시 시도하십시오" }, "DELETE": { - "SUCCESS": "Attribute deleted successfully", - "ERROR": "Unable to delete attribute. Please try again later" + "SUCCESS": "속성이 성공적으로 삭제되었습니다", + "ERROR": "속성을 삭제할 수 없습니다. 나중에 다시 시도하십시오" }, "ATTRIBUTE_SELECT": { "TITLE": "속성 추가하기", - "PLACEHOLDER": "Search attributes", - "NO_RESULT": "No attributes found" + "PLACEHOLDER": "속성 검색", + "NO_RESULT": "속성을 찾을 수 없습니다" }, "ATTRIBUTE_TYPE": { "LIST": { - "PLACEHOLDER": "Select value", - "SEARCH_INPUT_PLACEHOLDER": "Search value", + "PLACEHOLDER": "값 선택", + "SEARCH_INPUT_PLACEHOLDER": "값 검색", "NO_RESULT": "검색 결과가 없습니다." } } }, "VALIDATIONS": { - "REQUIRED": "Valid value is required", - "INVALID_URL": "잘못된 주소입니다.", - "INVALID_INPUT": "Invalid Input" + "REQUIRED": "유효한 값이 필요합니다", + "INVALID_URL": "잘못된 URL입니다", + "INVALID_INPUT": "잘못된 입력입니다" } }, "MERGE_CONTACTS": { - "TITLE": "Merge contacts", - "DESCRIPTION": "Merge contacts to combine two profiles into one, including all attributes and conversations. In case of conflict, the Primary contact’ s attributes will take precedence.", + "TITLE": "연락처 합치기", + "DESCRIPTION": "두 개의 프로필을 하나로 합칩니다. 모든 속성과 대화가 포함됩니다. 충돌하는 경우 기본 연락처의 속성이 우선합니다.", "PRIMARY": { - "TITLE": "Primary contact", - "HELP_LABEL": "To be deleted" + "TITLE": "기본 연락처", + "HELP_LABEL": "삭제 예정" }, "PARENT": { - "TITLE": "Contact to merge", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be kept" + "TITLE": "합칠 연락처", + "PLACEHOLDER": "연락처 검색", + "HELP_LABEL": "유지 예정" }, "SUMMARY": { - "TITLE": "Summary", - "DELETE_WARNING": "Contact of {primaryContactName} will be deleted.", - "ATTRIBUTE_WARNING": "Contact details of {primaryContactName} will be copied to {parentContactName}." + "TITLE": "요약", + "DELETE_WARNING": "{primaryContactName}의 연락처가 삭제됩니다.", + "ATTRIBUTE_WARNING": "{primaryContactName}의 연락처 정보가 {parentContactName}(으)로 복사됩니다." }, "SEARCH": { - "ERROR_MESSAGE": "Something went wrong. Please try again later." + "ERROR_MESSAGE": "문제가 발생했습니다. 나중에 다시 시도하십시오." }, "FORM": { - "SUBMIT": " Merge contacts", + "SUBMIT": " 연락처 합치기", "CANCEL": "취소", "CHILD_CONTACT": { - "ERROR": "Select a child contact to merge" + "ERROR": "합칠 하위 연락처를 선택하십시오" }, - "SUCCESS_MESSAGE": "Contact merged successfully", - "ERROR_MESSAGE": "Could not merge contacts, try again!" + "SUCCESS_MESSAGE": "연락처가 성공적으로 합쳐졌습니다", + "ERROR_MESSAGE": "연락처를 합칠 수 없습니다. 다시 시도하십시오!" }, "DROPDOWN_ITEM": { "ID": "(ID: {identifier})" @@ -290,68 +290,68 @@ "CONTACTS_LAYOUT": { "HEADER": { "TITLE": "연락처", - "SEARCH_TITLE": "Search contacts", - "ACTIVE_TITLE": "Active contacts", - "SEARCH_PLACEHOLDER": "Search...", + "SEARCH_TITLE": "연락처 검색", + "ACTIVE_TITLE": "활성 연락처", + "SEARCH_PLACEHOLDER": "검색...", "MESSAGE_BUTTON": "메시지", "SEND_MESSAGE": "메시지 보내기", - "BLOCK_CONTACT": "Block contact", - "UNBLOCK_CONTACT": "Unblock contact", + "BLOCK_CONTACT": "연락처 차단", + "UNBLOCK_CONTACT": "연락처 차단 해제", "BREADCRUMB": { "CONTACTS": "연락처" }, "ACTIONS": { "CONTACT_CREATION": { - "ADD_CONTACT": "Add contact", - "EXPORT_CONTACT": "Export contacts", - "IMPORT_CONTACT": "Import contacts", - "SAVE_CONTACT": "Save contact", + "ADD_CONTACT": "연락처 추가", + "EXPORT_CONTACT": "연락처 내보내기", + "IMPORT_CONTACT": "연락처 가져오기", + "SAVE_CONTACT": "연락처 저장", "EMAIL_ADDRESS_DUPLICATE": "이 이메일 주소는 다른 연락처에 사용 중입니다.", "PHONE_NUMBER_DUPLICATE": "이 전화번호는 다른 연락처에 사용 중입니다.", "SUCCESS_MESSAGE": "연락처가 성공적으로 저장되었습니다.", - "ERROR_MESSAGE": "Unable to save contact. Please try again later." + "ERROR_MESSAGE": "연락처를 저장할 수 없습니다. 나중에 다시 시도하십시오." }, - "BLOCK_SUCCESS_MESSAGE": "This contact is blocked successfully", - "BLOCK_ERROR_MESSAGE": "Unable to block contact. Please try again later.", - "UNBLOCK_SUCCESS_MESSAGE": "This contact is unblocked successfully", - "UNBLOCK_ERROR_MESSAGE": "Unable to unblock contact. Please try again later.", + "BLOCK_SUCCESS_MESSAGE": "이 연락처가 성공적으로 차단되었습니다", + "BLOCK_ERROR_MESSAGE": "연락처를 차단할 수 없습니다. 나중에 다시 시도하십시오.", + "UNBLOCK_SUCCESS_MESSAGE": "이 연락처가 성공적으로 차단 해제되었습니다", + "UNBLOCK_ERROR_MESSAGE": "연락처 차단을 해제할 수 없습니다. 나중에 다시 시도하십시오.", "IMPORT_CONTACT": { - "TITLE": "Import contacts", + "TITLE": "연락처 가져오기", "DESCRIPTION": "CSV 파일을 통해 연락처 가져오기", - "DOWNLOAD_LABEL": "간단한 CSV 파일 다운받기", + "DOWNLOAD_LABEL": "샘플 CSV 파일 다운로드", "LABEL": "CSV 파일:", - "CHOOSE_FILE": "Choose file", + "CHOOSE_FILE": "파일 선택", "CHANGE": "변경", "CANCEL": "취소", "IMPORT": "가져오기", - "SUCCESS_MESSAGE": "You will be notified via email when the import is complete.", + "SUCCESS_MESSAGE": "가져오기가 완료되면 이메일로 알림을 받으실 수 있습니다.", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." }, "EXPORT_CONTACT": { - "TITLE": "Export contacts", - "DESCRIPTION": "Quickly export a csv file with comprehensive details of your contacts", - "CONFIRM": "Export", - "SUCCESS_MESSAGE": "Export is in progress, You will be notified via email when export file is ready to dowanlod.", + "TITLE": "연락처 내보내기", + "DESCRIPTION": "연락처의 상세 정보가 포함된 CSV 파일을 빠르게 내보내기", + "CONFIRM": "내보내기", + "SUCCESS_MESSAGE": "내보내기가 진행 중입니다. 내보내기 파일이 다운로드 준비되면 이메일로 알림을 받으실 수 있습니다.", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." }, "SORT_BY": { - "LABEL": "Sort by", + "LABEL": "정렬 기준", "OPTIONS": { "NAME": "이름", "EMAIL": "이메일", - "PHONE_NUMBER": "휴대폰 번호", + "PHONE_NUMBER": "전화 번호", "COMPANY": "회사", "COUNTRY": "국가", "CITY": "도시", "LAST_ACTIVITY": "최근 활동", - "CREATED_AT": "에 만들어짐" + "CREATED_AT": "생성일" } }, "ORDER": { - "LABEL": "Ordering", + "LABEL": "정렬 순서", "OPTIONS": { - "ASCENDING": "Ascending", - "DESCENDING": "Descending" + "ASCENDING": "오름차순", + "DESCENDING": "내림차순" } }, "FILTERS": { @@ -359,128 +359,131 @@ "TITLE": "이 필터를 저장하시겠습니까?", "CONFIRM": "필터 저장하기", "LABEL": "이름", - "PLACEHOLDER": "Enter the name of the filter", - "ERROR": "Enter a valid name", - "SUCCESS_MESSAGE": "Filter saved successfully", - "ERROR_MESSAGE": "Unable to save filter. Please try again later." + "PLACEHOLDER": "필터 이름을 입력하십시오", + "ERROR": "유효한 이름을 입력하십시오", + "SUCCESS_MESSAGE": "필터가 성공적으로 저장되었습니다", + "ERROR_MESSAGE": "필터를 저장할 수 없습니다. 나중에 다시 시도하십시오." }, "DELETE_SEGMENT": { "TITLE": "삭제 확인", - "DESCRIPTION": "Are you sure you want to delete this filter?", + "DESCRIPTION": "이 필터를 삭제하시겠습니까?", "CONFIRM": "예, 삭제합니다", - "CANCEL": "No, Cancel", - "SUCCESS_MESSAGE": "Filter deleted successfully", - "ERROR_MESSAGE": "Unable to delete filter. Please try again later." + "CANCEL": "아니요, 취소합니다", + "SUCCESS_MESSAGE": "필터가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "필터를 삭제할 수 없습니다. 나중에 다시 시도하십시오." } } } }, "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} - {endItem} of {totalItems} contacts" + "SHOWING": "{totalItems}개의 연락처 중 {startItem} - {endItem} 표시" }, "FILTER": { "NAME": "이름", "EMAIL": "이메일", - "PHONE_NUMBER": "휴대폰 번호", + "PHONE_NUMBER": "전화 번호", "IDENTIFIER": "식별자", "COUNTRY": "국가", "CITY": "도시", - "CREATED_AT": "에 만들어짐", + "CREATED_AT": "생성일", "LAST_ACTIVITY": "최근 활동", - "REFERER_LINK": "참고 링크", - "BLOCKED": "Blocked", + "REFERER_LINK": "참조 링크", + "BLOCKED": "차단됨", "BLOCKED_TRUE": "참", "BLOCKED_FALSE": "거짓", "BUTTONS": { - "CLEAR_FILTERS": "Clear filters", - "UPDATE_SEGMENT": "Update segment", + "CLEAR_FILTERS": "필터 초기화", + "UPDATE_SEGMENT": "세그먼트 업데이트", "APPLY_FILTERS": "필터 적용하기", - "ADD_FILTER": "Add filter" + "ADD_FILTER": "필터 추가" }, - "TITLE": "Filter contacts", - "EDIT_SEGMENT": "Edit segment", + "TITLE": "연락처 필터", + "EDIT_SEGMENT": "세그먼트 수정", "SEGMENT": { - "LABEL": "Segment name", - "INPUT_PLACEHOLDER": "Enter the name of the segment" + "LABEL": "세그먼트 이름", + "INPUT_PLACEHOLDER": "세그먼트 이름을 입력하십시오" }, "ACTIVE_FILTERS": { - "MORE_FILTERS": "+ {count} more filters", - "CLEAR_FILTERS": "Clear filters" + "MORE_FILTERS": "+ {count}개의 필터 더 보기", + "CLEAR_FILTERS": "필터 초기화" } }, "CARD": { - "OF": "of", + "OF": "/", "VIEW_DETAILS": "상세보기", "EDIT_DETAILS_FORM": { - "TITLE": "연락처 수정 자세히", + "TITLE": "연락처 정보 수정", "FORM": { "FIRST_NAME": { - "PLACEHOLDER": "Enter the first name" + "PLACEHOLDER": "이름 입력" }, "LAST_NAME": { - "PLACEHOLDER": "Enter the last name" + "PLACEHOLDER": "성 입력" }, "EMAIL_ADDRESS": { - "PLACEHOLDER": "Enter the email address", + "PLACEHOLDER": "이메일 주소 입력", "DUPLICATE": "이 이메일 주소는 다른 연락처에 사용 중입니다." }, "PHONE_NUMBER": { - "PLACEHOLDER": "Enter the phone number", + "PLACEHOLDER": "전화 번호 입력", "DUPLICATE": "이 전화번호는 다른 연락처에 사용 중입니다." }, "CITY": { - "PLACEHOLDER": "Enter the city name" + "PLACEHOLDER": "도시 이름 입력" }, "COUNTRY": { - "PLACEHOLDER": "Select country" + "PLACEHOLDER": "국가 선택" }, "BIO": { - "PLACEHOLDER": "Enter the bio" + "PLACEHOLDER": "자기 소개 입력" }, "COMPANY_NAME": { "PLACEHOLDER": "회사명 입력" } }, - "UPDATE_BUTTON": "Update contact", - "SUCCESS_MESSAGE": "Contact updated successfully", - "ERROR_MESSAGE": "Unable to update contact. Please try again later." + "UPDATE_BUTTON": "연락처 업데이트", + "SUCCESS_MESSAGE": "연락처가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "연락처를 업데이트할 수 없습니다. 나중에 다시 시도하십시오." }, "SOCIAL_MEDIA": { - "TITLE": "Edit social links", + "TITLE": "소셜 링크 수정", "FORM": { "FACEBOOK": { - "PLACEHOLDER": "Add Facebook" + "PLACEHOLDER": "Facebook 추가" }, "GITHUB": { - "PLACEHOLDER": "Add Github" + "PLACEHOLDER": "Github 추가" }, "INSTAGRAM": { - "PLACEHOLDER": "Add Instagram" + "PLACEHOLDER": "Instagram 추가" }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "TikTok 추가" }, "LINKEDIN": { - "PLACEHOLDER": "Add LinkedIn" + "PLACEHOLDER": "LinkedIn 추가" }, "TWITTER": { - "PLACEHOLDER": "Add Twitter" + "PLACEHOLDER": "Twitter 추가" + }, + "TELEGRAM": { + "PLACEHOLDER": "Telegram 추가" } } }, "DELETE_CONTACT": { - "MESSAGE": "This action is permanent and irreversible.", - "BUTTON": "Delete now" + "MESSAGE": "이 작업은 영구적이며 되돌릴 수 없습니다.", + "BUTTON": "지금 삭제" } }, "DETAILS": { - "CREATED_AT": "Created {date}", - "LAST_ACTIVITY": "Last active {date}", - "DELETE_CONTACT_DESCRIPTION": "Permanently delete this contact. This action is irreversible", - "DELETE_CONTACT": "연락처 지우기", + "CREATED_AT": "{date}에 생성됨", + "LAST_ACTIVITY": "마지막 활동 {date}", + "DELETE_CONTACT_DESCRIPTION": "이 연락처를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다", + "DELETE_CONTACT": "연락처 삭제", "DELETE_DIALOG": { "TITLE": "삭제 확인", - "DESCRIPTION": "Are you sure you want to delete this contact?", + "DESCRIPTION": "이 연락처를 삭제하시겠습니까?", "CONFIRM": "예, 삭제합니다", "API": { "SUCCESS_MESSAGE": "연락처가 성공적으로 삭제되었습니다", @@ -489,64 +492,64 @@ }, "AVATAR": { "UPLOAD": { - "ERROR_MESSAGE": "Could not upload avatar. Please try again later.", - "SUCCESS_MESSAGE": "Avatar uploaded successfully" + "ERROR_MESSAGE": "아바타를 업로드할 수 없습니다. 나중에 다시 시도하십시오.", + "SUCCESS_MESSAGE": "아바타가 성공적으로 업로드되었습니다" }, "DELETE": { - "SUCCESS_MESSAGE": "Avatar deleted successfully", - "ERROR_MESSAGE": "Could not delete avatar. Please try again later." + "SUCCESS_MESSAGE": "아바타가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "아바타를 삭제할 수 없습니다. 나중에 다시 시도하십시오." } } }, "SIDEBAR": { "TABS": { - "ATTRIBUTES": "Attributes", - "HISTORY": "History", - "NOTES": "노트들", - "MERGE": "Merge" + "ATTRIBUTES": "속성", + "HISTORY": "기록", + "NOTES": "노트", + "MERGE": "합치기" }, "HISTORY": { "EMPTY_STATE": "이 연락처와 관련된 이전 대화가 없습니다" }, "ATTRIBUTES": { - "SEARCH_PLACEHOLDER": "Search for attributes", - "UNUSED_ATTRIBUTES": "{count} Used attribute | {count} Unused attributes", - "EMPTY_STATE": "There are no contact custom attributes available in this account. You can create a custom attribute in settings.", + "SEARCH_PLACEHOLDER": "속성 검색", + "UNUSED_ATTRIBUTES": "사용된 속성 {count}개 | 사용되지 않은 속성 {count}개", + "EMPTY_STATE": "이 계정에 사용할 수 있는 연락처 사용자 지정 속성이 없습니다. 설정에서 사용자 지정 속성을 만들 수 있습니다.", "YES": "예", "NO": "아니오", "TRIGGER": { - "SELECT": "Select value", - "INPUT": "Enter value" + "SELECT": "값 선택", + "INPUT": "값 입력" }, "VALIDATIONS": { - "INVALID_NUMBER": "Invalid number", - "REQUIRED": "Valid value is required", - "INVALID_INPUT": "Invalid input", - "INVALID_URL": "잘못된 주소입니다.", - "INVALID_DATE": "Invalid date" + "INVALID_NUMBER": "잘못된 숫자입니다", + "REQUIRED": "유효한 값이 필요합니다", + "INVALID_INPUT": "잘못된 입력입니다", + "INVALID_URL": "잘못된 URL입니다", + "INVALID_DATE": "잘못된 날짜입니다" }, - "NO_ATTRIBUTES": "No attributes found", + "NO_ATTRIBUTES": "속성을 찾을 수 없습니다", "API": { - "SUCCESS_MESSAGE": "Attribute updated successfully", - "DELETE_SUCCESS_MESSAGE": "Attribute deleted successfully", - "UPDATE_ERROR": "Unable to update attribute. Please try again later", - "DELETE_ERROR": "Unable to delete attribute. Please try again later" + "SUCCESS_MESSAGE": "속성이 성공적으로 업데이트되었습니다", + "DELETE_SUCCESS_MESSAGE": "속성이 성공적으로 삭제되었습니다", + "UPDATE_ERROR": "속성을 업데이트할 수 없습니다. 나중에 다시 시도하십시오", + "DELETE_ERROR": "속성을 삭제할 수 없습니다. 나중에 다시 시도하십시오" } }, "MERGE": { "TITLE": "연락처 합치기", - "DESCRIPTION": "Combine two profiles into one, including all attributes and conversations. In case of conflict, the primary contact’s attributes will take precedence.", - "PRIMARY": "Primary contact", - "PRIMARY_HELP_LABEL": "To be saved", - "PRIMARY_REQUIRED_ERROR": "Please select a contact to merge with before proceeding", - "PARENT": "To be merged", - "PARENT_HELP_LABEL": "To be deleted", - "EMPTY_STATE": "No contacts found", - "PLACEHOLDER": "Search for primary contact", - "SEARCH_PLACEHOLDER": "Search for a contact", - "SEARCH_ERROR_MESSAGE": "Could not search for contacts. Please try again later.", - "SUCCESS_MESSAGE": "Contact merged successfully", - "ERROR_MESSAGE": "Could not merge contacts, try again!", + "DESCRIPTION": "모든 속성과 대화를 포함하여 두 개의 프로필을 하나로 합칩니다. 충돌하는 경우 기본 연락처의 속성이 우선합니다.", + "PRIMARY": "기본 연락처", + "PRIMARY_HELP_LABEL": "저장 예정", + "PRIMARY_REQUIRED_ERROR": "진행하기 전에 합칠 연락처를 선택하십시오", + "PARENT": "합칠 대상", + "PARENT_HELP_LABEL": "삭제 예정", + "EMPTY_STATE": "연락처를 찾을 수 없습니다", + "PLACEHOLDER": "기본 연락처 검색", + "SEARCH_PLACEHOLDER": "연락처 검색", + "SEARCH_ERROR_MESSAGE": "연락처를 검색할 수 없습니다. 나중에 다시 시도하십시오.", + "SUCCESS_MESSAGE": "연락처가 성공적으로 합쳐졌습니다", + "ERROR_MESSAGE": "연락처를 합칠 수 없습니다. 다시 시도하십시오!", "IS_SEARCHING": "검색중...", "BUTTONS": { "CANCEL": "취소", @@ -555,100 +558,101 @@ }, "NOTES": { "PLACEHOLDER": "노트 추가하기", - "WROTE": "wrote", + "WROTE": "작성함", "YOU": "나", - "SAVE": "Save note", - "ADD_NOTE": "Add contact note", - "EXPAND": "Expand", - "COLLAPSE": "Collapse", - "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", - "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." + "SAVE": "노트 저장", + "ADD_NOTE": "연락처 노트 추가", + "EXPAND": "펼치기", + "COLLAPSE": "접기", + "NO_NOTES": "노트가 없습니다. 연락처 상세 페이지에서 노트를 추가할 수 있습니다.", + "EMPTY_STATE": "이 연락처와 관련된 노트가 없습니다. 위의 입력란에 입력하여 노트를 추가할 수 있습니다.", + "CONVERSATION_EMPTY_STATE": "아직 노트가 없습니다. 노트 추가 버튼을 사용하여 작성하십시오." } }, "EMPTY_STATE": { - "TITLE": "No contacts found in this account", - "SUBTITLE": "Start adding new contacts by clicking on the button below", - "BUTTON_LABEL": "Add contact", - "SEARCH_EMPTY_STATE_TITLE": "검색과 일치하는 연락처 없음 🔍", - "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", - "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + "TITLE": "이 계정에 연락처가 없습니다", + "SUBTITLE": "아래 버튼을 클릭하여 새 연락처를 추가하십시오", + "BUTTON_LABEL": "연락처 추가", + "SEARCH_EMPTY_STATE_TITLE": "검색과 일치하는 연락처가 없습니다", + "LIST_EMPTY_STATE_TITLE": "이 보기에 사용 가능한 연락처가 없습니다", + "ACTIVE_EMPTY_STATE_TITLE": "현재 활성 상태인 연락처가 없습니다" + }, + "LOAD_MORE": "더 보기" }, "CONTACTS_BULK_ACTIONS": { - "ASSIGN_LABELS": "Assign Labels", - "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", - "ASSIGN_LABELS_FAILED": "Failed to assign labels", - "DESCRIPTION": "Select the labels you want to add to the selected contacts.", - "NO_LABELS_FOUND": "No labels available yet.", - "SELECTED_COUNT": "{count} selected", - "CLEAR_SELECTION": "Clear selection", - "SELECT_ALL": "Select all ({count})", + "ASSIGN_LABELS": "라벨 배정", + "ASSIGN_LABELS_SUCCESS": "라벨이 성공적으로 배정되었습니다.", + "ASSIGN_LABELS_FAILED": "라벨 배정에 실패했습니다", + "DESCRIPTION": "선택한 연락처에 추가할 라벨을 선택하십시오.", + "NO_LABELS_FOUND": "사용 가능한 라벨이 없습니다.", + "SELECTED_COUNT": "{count}개 선택됨", + "CLEAR_SELECTION": "선택 해제", + "SELECT_ALL": "전체 선택 ({count})", "DELETE_CONTACTS": "삭제", - "DELETE_SUCCESS": "Contacts deleted successfully.", - "DELETE_FAILED": "Failed to delete contacts.", + "DELETE_SUCCESS": "연락처가 성공적으로 삭제되었습니다.", + "DELETE_FAILED": "연락처 삭제에 실패했습니다.", "DELETE_DIALOG": { - "TITLE": "Delete selected contacts", - "SINGULAR_TITLE": "Delete selected contact", - "DESCRIPTION": "This will permanently delete {count} selected contacts. This action cannot be undone.", - "SINGULAR_DESCRIPTION": "This will permanently delete the selected contact. This action cannot be undone.", - "CONFIRM_MULTIPLE": "Delete contacts", - "CONFIRM_SINGLE": "연락처 지우기" + "TITLE": "선택한 연락처 삭제", + "SINGULAR_TITLE": "선택한 연락처 삭제", + "DESCRIPTION": "선택한 {count}개의 연락처가 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.", + "SINGULAR_DESCRIPTION": "선택한 연락처가 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.", + "CONFIRM_MULTIPLE": "연락처 삭제", + "CONFIRM_SINGLE": "연락처 삭제" } }, "COMPOSE_NEW_CONVERSATION": { "CONTACT_SEARCH": { - "ERROR_MESSAGE": "We couldn’t complete the search. Please try again." + "ERROR_MESSAGE": "검색을 완료할 수 없습니다. 다시 시도하십시오." }, "FORM": { "GO_TO_CONVERSATION": "보기", - "SUCCESS_MESSAGE": "The message was sent successfully!", - "ERROR_MESSAGE": "An error occurred while creating the conversation. Please try again later.", - "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", + "SUCCESS_MESSAGE": "메시지가 성공적으로 전송되었습니다!", + "ERROR_MESSAGE": "대화를 생성하는 중 오류가 발생했습니다. 나중에 다시 시도하십시오.", + "NO_INBOX_ALERT": "이 연락처와 대화를 시작할 수 있는 받은 메시지함이 없습니다.", "CONTACT_SELECTOR": { - "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", - "CONTACT_CREATING": "Creating contact..." + "LABEL": "받는 사람:", + "TAG_INPUT_PLACEHOLDER": "이름, 이메일 또는 전화번호로 연락처 검색", + "CONTACT_CREATING": "연락처 생성 중..." }, "INBOX_SELECTOR": { - "LABEL": "Via:", - "BUTTON": "Show inboxes" + "LABEL": "경유:", + "BUTTON": "받은 메시지함 보기" }, "EMAIL_OPTIONS": { - "SUBJECT_LABEL": "Subject :", - "SUBJECT_PLACEHOLDER": "Enter your email subject here", - "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", - "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", - "BCC_BUTTON": "Bcc" + "SUBJECT_LABEL": "제목:", + "SUBJECT_PLACEHOLDER": "이메일 제목을 입력하십시오", + "CC_LABEL": "참조:", + "CC_PLACEHOLDER": "이메일 주소로 연락처 검색", + "BCC_LABEL": "숨은 참조:", + "BCC_PLACEHOLDER": "이메일 주소로 연락처 검색", + "BCC_BUTTON": "숨은 참조" }, "MESSAGE_EDITOR": { "PLACEHOLDER": "메시지를 여기에 작성해주세요..." }, "WHATSAPP_OPTIONS": { - "LABEL": "Select template", - "SEARCH_PLACEHOLDER": "Search templates", - "EMPTY_STATE": "No templates found", + "LABEL": "템플릿 선택", + "SEARCH_PLACEHOLDER": "템플릿 검색", + "EMPTY_STATE": "템플릿을 찾을 수 없습니다", "TEMPLATE_PARSER": { - "TEMPLATE_NAME": "WhatsApp template: {templateName}", - "VARIABLES": "Variables", - "BACK": "Go back", + "TEMPLATE_NAME": "WhatsApp 템플릿: {templateName}", + "VARIABLES": "변수", + "BACK": "뒤로 가기", "SEND_MESSAGE": "메시지 보내기" } }, "TWILIO_OPTIONS": { - "LABEL": "Select template", - "SEARCH_PLACEHOLDER": "Search templates", - "EMPTY_STATE": "No templates found", + "LABEL": "템플릿 선택", + "SEARCH_PLACEHOLDER": "템플릿 검색", + "EMPTY_STATE": "템플릿을 찾을 수 없습니다", "TEMPLATE_PARSER": { - "BACK": "Go back", + "BACK": "뒤로 가기", "SEND_MESSAGE": "메시지 보내기" } }, "ACTION_BUTTONS": { - "DISCARD": "Discard", - "SEND": "Send ({keyCode})" + "DISCARD": "취소", + "SEND": "보내기 ({keyCode})" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contactFilters.json b/app/javascript/dashboard/i18n/locale/ko/contactFilters.json index 4ba7ee034..7cf1557f5 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contactFilters.json +++ b/app/javascript/dashboard/i18n/locale/ko/contactFilters.json @@ -1,20 +1,20 @@ { "CONTACTS_FILTER": { - "TITLE": "Filter Contacts", - "SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.", - "EDIT_CUSTOM_SEGMENT": "Edit Segment", - "CUSTOM_VIEWS_SUBTITLE": "Add or remove filters and update your segment.", + "TITLE": "연락처 필터", + "SUBTITLE": "아래에 필터를 추가하고 '제출'을 눌러 연락처를 필터링하십시오.", + "EDIT_CUSTOM_SEGMENT": "세그먼트 편집", + "CUSTOM_VIEWS_SUBTITLE": "필터를 추가하거나 제거하고 세그먼트를 업데이트하십시오.", "ADD_NEW_FILTER": "필터 추가하기", - "CLEAR_ALL_FILTERS": "Clear All Filters", + "CLEAR_ALL_FILTERS": "모든 필터 지우기", "FILTER_DELETE_ERROR": "적어도 하나 이상의 필터가 있어야 저장됩니다.", - "SUBMIT_BUTTON_LABEL": "보내기", - "UPDATE_BUTTON_LABEL": "Update Segment", + "SUBMIT_BUTTON_LABEL": "제출", + "UPDATE_BUTTON_LABEL": "세그먼트 업데이트", "CANCEL_BUTTON_LABEL": "취소", "CLEAR_BUTTON_LABEL": "필터 제거하기", "EMPTY_VALUE_ERROR": "값이 필요합니다.", - "SEGMENT_LABEL": "Segment Name", - "SEGMENT_QUERY_LABEL": "Segment Query", - "TOOLTIP_LABEL": "Filter contacts", + "SEGMENT_LABEL": "세그먼트 이름", + "SEGMENT_QUERY_LABEL": "세그먼트 쿼리", + "TOOLTIP_LABEL": "연락처 필터", "QUERY_DROPDOWN_LABELS": { "AND": "와/과", "OR": "혹은" @@ -27,8 +27,8 @@ "is_present": "현존하는", "is_not_present": "현존하지 않은", "is_greater_than": "보다 큰", - "is_lesser_than": "Is lesser than", - "days_before": "x 일 전에" + "is_lesser_than": "보다 작은", + "days_before": "x일 전에" }, "ERRORS": { "VALUE_REQUIRED": "값이 필요합니다." @@ -37,7 +37,7 @@ "NAME": "이름", "EMAIL": "이메일", "PHONE_NUMBER": "휴대폰 번호", - "IDENTIFIER": "Identifier", + "IDENTIFIER": "식별자", "CITY": "도시", "COUNTRY": "국가", "CUSTOM_ATTRIBUTE_LIST": "리스트", @@ -45,10 +45,10 @@ "CUSTOM_ATTRIBUTE_NUMBER": "숫자", "CUSTOM_ATTRIBUTE_LINK": "링크", "CUSTOM_ATTRIBUTE_CHECKBOX": "체크박스", - "CREATED_AT": "에 만들어짐", - "LAST_ACTIVITY": "지난 활동", - "REFERER_LINK": "Referrer link", - "BLOCKED": "Blocked", + "CREATED_AT": "생성일", + "LAST_ACTIVITY": "최근 활동", + "REFERER_LINK": "리퍼러 링크", + "BLOCKED": "차단됨", "LABELS": "라벨" }, "GROUPS": { diff --git a/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json index 75eb0f17f..2eafc7472 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json +++ b/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json @@ -1,52 +1,52 @@ { "CONTENT_TEMPLATES": { "MODAL": { - "TITLE": "Twilio Templates", - "SUBTITLE": "Select the Twilio template you want to send", - "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}" + "TITLE": "Twilio 템플릿", + "SUBTITLE": "보내려는 Twilio 템플릿을 선택하십시오", + "TEMPLATE_SELECTED_SUBTITLE": "템플릿 구성: {templateName}" }, "PICKER": { - "SEARCH_PLACEHOLDER": "Search Templates", - "NO_TEMPLATES_FOUND": "No templates found for", - "NO_CONTENT": "No content", - "HEADER": "Header", - "BODY": "Body", - "FOOTER": "Footer", - "BUTTONS": "Buttons", - "CATEGORY": "Category", - "MEDIA_CONTENT": "Media Content", - "MEDIA_CONTENT_FALLBACK": "media content", - "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.", - "REFRESH_BUTTON": "Refresh templates", - "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.", - "REFRESH_ERROR": "Failed to refresh templates. Please try again.", + "SEARCH_PLACEHOLDER": "템플릿 검색", + "NO_TEMPLATES_FOUND": "다음에 대한 템플릿을 찾을 수 없습니다", + "NO_CONTENT": "내용 없음", + "HEADER": "헤더", + "BODY": "본문", + "FOOTER": "푸터", + "BUTTONS": "버튼", + "CATEGORY": "카테고리", + "MEDIA_CONTENT": "미디어 콘텐츠", + "MEDIA_CONTENT_FALLBACK": "미디어 콘텐츠", + "NO_TEMPLATES_AVAILABLE": "사용 가능한 Twilio 템플릿이 없습니다. 새로고침을 클릭하여 Twilio에서 템플릿을 동기화하십시오.", + "REFRESH_BUTTON": "템플릿 새로고침", + "REFRESH_SUCCESS": "템플릿 새로고침이 시작되었습니다. 업데이트하는 데 몇 분 정도 걸릴 수 있습니다.", + "REFRESH_ERROR": "템플릿 새로고침에 실패했습니다. 다시 시도하십시오.", "LABELS": { "LANGUAGE": "언어", - "TEMPLATE_BODY": "Template Body", - "CATEGORY": "Category" + "TEMPLATE_BODY": "템플릿 본문", + "CATEGORY": "카테고리" }, "TYPES": { - "MEDIA": "Media", - "QUICK_REPLY": "Quick Reply", - "CALL_TO_ACTION": "Call to Action", + "MEDIA": "미디어", + "QUICK_REPLY": "빠른 답장", + "CALL_TO_ACTION": "행동 유도", "TEXT": "텍스트" } }, "PARSER": { - "VARIABLES_LABEL": "Variables", + "VARIABLES_LABEL": "변수", "LANGUAGE": "언어", - "CATEGORY": "Category", - "VARIABLE_PLACEHOLDER": "Enter {variable} value", - "GO_BACK_LABEL": "Go Back", - "SEND_MESSAGE_LABEL": "Send Message", - "FORM_ERROR_MESSAGE": "Please fill all variables before sending", - "MEDIA_HEADER_LABEL": "{type} Header", - "MEDIA_URL_LABEL": "Enter full media URL", + "CATEGORY": "카테고리", + "VARIABLE_PLACEHOLDER": "{variable} 값을 입력하십시오", + "GO_BACK_LABEL": "뒤로 가기", + "SEND_MESSAGE_LABEL": "메시지 보내기", + "FORM_ERROR_MESSAGE": "보내기 전에 모든 변수를 입력하십시오", + "MEDIA_HEADER_LABEL": "{type} 헤더", + "MEDIA_URL_LABEL": "전체 미디어 URL을 입력하십시오", "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg" }, "FORM": { "BACK_BUTTON": "뒤로", - "SEND_MESSAGE_BUTTON": "Send Message" + "SEND_MESSAGE_BUTTON": "메시지 보내기" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json index 00ef976ca..e6ab92373 100644 --- a/app/javascript/dashboard/i18n/locale/ko/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json @@ -1,114 +1,114 @@ { "CONVERSATION": { "SELECT_A_CONVERSATION": "왼쪽 창에서 대화를 선택하십시오.", - "CSAT_REPLY_MESSAGE": "대화를 평가해 주세요", - "404": "Sorry, we cannot find the conversation. Please try again", - "SWITCH_VIEW_LAYOUT": "Switch the layout", + "CSAT_REPLY_MESSAGE": "대화를 평가해 주십시오", + "404": "죄송합니다. 대화를 찾을 수 없습니다. 다시 시도해 주십시오.", + "SWITCH_VIEW_LAYOUT": "레이아웃 전환", "DASHBOARD_APP_TAB_MESSAGES": "메시지", - "UNVERIFIED_SESSION": "The identity of this user is not verified", - "NO_MESSAGE_1": "어라! 받은 메시지함에 고객의 메시지가 없는 것 같아요.", + "UNVERIFIED_SESSION": "이 사용자의 신원이 확인되지 않았습니다", + "NO_MESSAGE_1": "어라! 받은 메시지함에 고객의 메시지가 없는 것 같습니다.", "NO_MESSAGE_2": " 페이지에 메시지를 보내기 위해서!", - "NO_INBOX_1": "안녕! 아직 받은 메시지함을 하나도 추가하지 않은 것 같아요.", + "NO_INBOX_1": "안녕하세요! 아직 받은 메시지함을 하나도 추가하지 않은 것 같습니다.", "NO_INBOX_2": " 시작하려면", - "NO_INBOX_AGENT": "오! 어떤 받은 메시지함에도 속하지 않는 것 같습니다. 관리자에게 문의하십시오.", + "NO_INBOX_AGENT": "어떤 받은 메시지함에도 속하지 않는 것 같습니다. 관리자에게 문의하십시오.", "SEARCH_MESSAGES": "대화에서 메시지 검색", - "VIEW_ORIGINAL": "View original", - "VIEW_TRANSLATED": "View translated", + "VIEW_ORIGINAL": "원본 보기", + "VIEW_TRANSLATED": "번역 보기", "EMPTY_STATE": { - "CMD_BAR": "to open command menu", - "KEYBOARD_SHORTCUTS": "to view keyboard shortcuts" + "CMD_BAR": "명령 메뉴를 열려면", + "KEYBOARD_SHORTCUTS": "키보드 단축키를 보려면" }, "SEARCH": { "TITLE": "메시지 검색", "RESULT_TITLE": "검색 결과", "LOADING_MESSAGE": "데이터 처리 중...", - "PLACEHOLDER": "검색할 텍스트를 입력하세요", + "PLACEHOLDER": "검색할 텍스트를 입력하십시오", "NO_MATCHING_RESULTS": "검색 결과가 없습니다." }, "UNREAD_MESSAGES": "안 읽은 메시지", "UNREAD_MESSAGE": "안 읽은 메시지", - "CLICK_HERE": "여기를 클릭하세요", + "CLICK_HERE": "여기를 클릭하십시오", "LOADING_INBOXES": "받은 메시지함 불러오는 중", "LOADING_CONVERSATIONS": "대화 불러오는 중", - "CANNOT_REPLY": "당신은 답장을 할 수 없습니다", + "CANNOT_REPLY": "다음 사유로 답장할 수 없습니다", "24_HOURS_WINDOW": "24시간 메시지 창 제한", "48_HOURS_WINDOW": "48시간 메시지 창 제한", - "API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours", - "NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?", - "ASSIGN_TO_ME": "Assign to me", - "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.", - "BOT_HANDOFF_ACTION": "Mark open and assign to you", - "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open", - "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you", - "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.", - "TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to", + "API_HOURS_WINDOW": "이 대화에는 {hours}시간 이내에만 답장할 수 있습니다", + "NOT_ASSIGNED_TO_YOU": "이 대화는 귀하에게 배정되지 않았습니다. 이 대화를 자신에게 배정하시겠습니까?", + "ASSIGN_TO_ME": "나에게 배정", + "BOT_HANDOFF_MESSAGE": "현재 어시스턴트 또는 봇이 처리 중인 대화에 응답하고 있습니다.", + "BOT_HANDOFF_ACTION": "열림으로 표시하고 나에게 배정", + "BOT_HANDOFF_REOPEN_ACTION": "대화를 열림으로 표시", + "BOT_HANDOFF_SUCCESS": "대화가 귀하에게 인계되었습니다", + "BOT_HANDOFF_ERROR": "대화 인계에 실패했습니다. 다시 시도해 주십시오.", + "TWILIO_WHATSAPP_CAN_REPLY": "다음 사유로 인해 템플릿 메시지로만 이 대화에 답장할 수 있습니다", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "24시간 메시지 창 제한", - "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.", + "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "이 Instagram 계정은 새 Instagram 채널 받은 메시지함으로 마이그레이션되었습니다. 모든 새 메시지는 해당 받은 메시지함에 표시됩니다. 이 대화에서는 더 이상 메시지를 보낼 수 없습니다.", "REPLYING_TO": "회신할 대상:", "REMOVE_SELECTION": "선택 항목 제거", "DOWNLOAD": "다운로드", "UNKNOWN_FILE_TYPE": "알 수 없는 파일", - "SAVE_CONTACT": "Save Contact", - "NO_CONTENT": "No content to display", + "SAVE_CONTACT": "연락처 저장", + "NO_CONTENT": "표시할 내용이 없습니다", "SHARED_ATTACHMENT": { - "CONTACT": "{sender} has shared a contact", - "LOCATION": "{sender} has shared a location", - "FILE": "{sender} has shared a file", - "MEETING": "{sender} has started a meeting" + "CONTACT": "{sender}님이 연락처를 공유했습니다", + "LOCATION": "{sender}님이 위치를 공유했습니다", + "FILE": "{sender}님이 파일을 공유했습니다", + "MEETING": "{sender}님이 회의를 시작했습니다" }, - "UPLOADING_ATTACHMENTS": "첨부 업로드 중...", - "REPLIED_TO_STORY": "Replied to your story", - "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", - "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", - "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", - "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", - "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", - "NO_RESPONSE": "응답없음", - "RESPONSE": "Response", - "RATING_TITLE": "Rating", - "FEEDBACK_TITLE": "Feedback", - "REPLY_MESSAGE_NOT_FOUND": "Message not available", + "UPLOADING_ATTACHMENTS": "첨부 파일 업로드 중...", + "REPLIED_TO_STORY": "스토리에 답장했습니다", + "UNSUPPORTED_MESSAGE": "이 메시지는 지원되지 않습니다. 확인하려면 원래 플랫폼에서 열어 주십시오.", + "UNSUPPORTED_MESSAGE_FACEBOOK": "이 메시지는 지원되지 않습니다. Facebook Messenger 앱에서 이 메시지를 확인할 수 있습니다.", + "UNSUPPORTED_MESSAGE_INSTAGRAM": "이 메시지는 지원되지 않습니다. Instagram 앱에서 이 메시지를 확인할 수 있습니다.", + "SUCCESS_DELETE_MESSAGE": "메시지가 성공적으로 삭제되었습니다", + "FAIL_DELETE_MESSSAGE": "메시지를 삭제할 수 없습니다! 다시 시도해 주십시오.", + "NO_RESPONSE": "응답 없음", + "RESPONSE": "응답", + "RATING_TITLE": "평점", + "FEEDBACK_TITLE": "피드백", + "REPLY_MESSAGE_NOT_FOUND": "메시지를 사용할 수 없습니다", "CARD": { - "SHOW_LABELS": "Show labels", - "HIDE_LABELS": "Hide labels" + "SHOW_LABELS": "라벨 표시", + "HIDE_LABELS": "라벨 숨기기" }, "VOICE_CALL": { - "INCOMING_CALL": "Incoming call", - "OUTGOING_CALL": "Outgoing call", - "CALL_IN_PROGRESS": "Call in progress", - "NO_ANSWER": "No answer", - "MISSED_CALL": "Missed call", - "CALL_ENDED": "Call ended", - "NOT_ANSWERED_YET": "Not answered yet", - "THEY_ANSWERED": "They answered", - "YOU_ANSWERED": "You answered" + "INCOMING_CALL": "수신 전화", + "OUTGOING_CALL": "발신 전화", + "CALL_IN_PROGRESS": "통화 중", + "NO_ANSWER": "응답 없음", + "MISSED_CALL": "부재중 전화", + "CALL_ENDED": "통화 종료", + "NOT_ANSWERED_YET": "아직 응답하지 않았습니다", + "THEY_ANSWERED": "상대방이 응답했습니다", + "YOU_ANSWERED": "귀하가 응답했습니다" }, "HEADER": { "RESOLVE_ACTION": "해결함", "REOPEN_ACTION": "다시 열기", "OPEN_ACTION": "열기", - "MORE_ACTIONS": "More actions", + "MORE_ACTIONS": "추가 작업", "OPEN": "더보기", "CLOSE": "닫기", "DETAILS": "자세히", - "SNOOZED_UNTIL": "Snoozed until", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", - "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "SNOOZED_UNTIL": "다음까지 일시 중지", + "SNOOZED_UNTIL_TOMORROW": "내일까지 일시 중지", + "SNOOZED_UNTIL_NEXT_WEEK": "다음 주까지 일시 중지", + "SNOOZED_UNTIL_NEXT_REPLY": "다음 답장까지 일시 중지", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", "RT": "RT {status}", - "MISSED": "missed", - "DUE": "due" + "MISSED": "초과", + "DUE": "마감 예정" } }, "RESOLVE_DROPDOWN": { - "MARK_PENDING": "Mark as pending", - "SNOOZE_UNTIL": "Snooze", + "MARK_PENDING": "보류로 표시", + "SNOOZE_UNTIL": "일시 중지", "SNOOZE": { - "TITLE": "Snooze until", - "NEXT_REPLY": "Next reply", + "TITLE": "다음까지 일시 중지", + "NEXT_REPLY": "다음 답장", "TOMORROW": "내일", "NEXT_WEEK": "다음 주" } @@ -118,322 +118,335 @@ "TEAMS": "팀" }, "CUSTOM_SNOOZE": { - "TITLE": "Snooze until", - "APPLY": "Snooze", + "TITLE": "다음까지 일시 중지", + "APPLY": "일시 중지", "CANCEL": "취소" }, "PRIORITY": { - "TITLE": "Priority", + "TITLE": "우선순위", "OPTIONS": { "NONE": "없음", - "URGENT": "Urgent", - "HIGH": "High", - "MEDIUM": "Medium", - "LOW": "Low" + "URGENT": "긴급", + "HIGH": "높음", + "MEDIUM": "중간", + "LOW": "낮음" }, "CHANGE_PRIORITY": { "SELECT_PLACEHOLDER": "없음", - "INPUT_PLACEHOLDER": "Select priority", + "INPUT_PLACEHOLDER": "우선순위 선택", "NO_RESULTS": "검색 결과가 없습니다", - "SUCCESSFUL": "Changed priority of conversation id {conversationId} to {priority}", - "FAILED": "Couldn't change priority. Please try again." + "SUCCESSFUL": "대화 ID {conversationId}의 우선순위가 {priority}(으)로 변경되었습니다", + "FAILED": "우선순위를 변경할 수 없습니다. 다시 시도해 주십시오." } }, "DELETE_CONVERSATION": { - "TITLE": "Delete conversation #{conversationId}", - "DESCRIPTION": "Are you sure you want to delete this conversation?", + "TITLE": "대화 #{conversationId} 삭제", + "DESCRIPTION": "이 대화를 삭제하시겠습니까?", "CONFIRM": "삭제" }, "CARD_CONTEXT_MENU": { - "PENDING": "Mark as pending", - "RESOLVED": "Mark as resolved", - "MARK_AS_UNREAD": "Mark as unread", - "MARK_AS_READ": "Mark as read", + "PENDING": "보류로 표시", + "RESOLVED": "해결됨으로 표시", + "MARK_AS_UNREAD": "읽지 않음으로 표시", + "MARK_AS_READ": "읽음으로 표시", "REOPEN": "대화 다시 열기", "SNOOZE": { - "TITLE": "Snooze", - "NEXT_REPLY": "Until next reply", + "TITLE": "일시 중지", + "NEXT_REPLY": "다음 답장까지", "TOMORROW": "내일까지", "NEXT_WEEK": "다음 주까지" }, - "ASSIGN_AGENT": "Assign agent", - "ASSIGN_LABEL": "Assign label", - "AGENTS_LOADING": "Loading agents...", - "ASSIGN_TEAM": "Assign team", - "DELETE": "Delete conversation", - "OPEN_IN_NEW_TAB": "Open in new tab", - "COPY_LINK": "Copy conversation link", - "COPY_LINK_SUCCESS": "Conversation link copied to clipboard", + "ASSIGN_AGENT": "에이전트 배정", + "ASSIGN_LABEL": "라벨 배정", + "AGENTS_LOADING": "에이전트 불러오는 중...", + "ASSIGN_TEAM": "팀 배정", + "DELETE": "대화 삭제", + "OPEN_IN_NEW_TAB": "새 탭에서 열기", + "COPY_LINK": "대화 링크 복사", + "COPY_LINK_SUCCESS": "대화 링크가 클립보드에 복사되었습니다", "API": { "AGENT_ASSIGNMENT": { - "SUCCESFUL": "Conversation id {conversationId} assigned to \"{agentName}\"", - "FAILED": "Couldn't assign agent. Please try again." + "SUCCESFUL": "대화 ID {conversationId}이(가) \"{agentName}\"에게 배정되었습니다", + "FAILED": "에이전트를 배정할 수 없습니다. 다시 시도해 주십시오." }, "LABEL_ASSIGNMENT": { - "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", - "FAILED": "Couldn't assign label. Please try again." + "SUCCESFUL": "라벨 #{labelName}이(가) 대화 ID {conversationId}에 배정되었습니다", + "FAILED": "라벨을 배정할 수 없습니다. 다시 시도해 주십시오." }, "TEAM_ASSIGNMENT": { - "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", - "FAILED": "Couldn't assign team. Please try again." + "SUCCESFUL": "팀 \"{team}\"이(가) 대화 ID {conversationId}에 배정되었습니다", + "FAILED": "팀을 배정할 수 없습니다. 다시 시도해 주십시오." + }, + "LABEL_REMOVAL": { + "SUCCESFUL": "라벨 #{labelName}이(가) 대화 ID {conversationId}에서 제거되었습니다", + "FAILED": "라벨을 제거할 수 없습니다. 다시 시도해 주십시오." } } }, "FOOTER": { - "MESSAGE_SIGN_TOOLTIP": "Message signature", - "ENABLE_SIGN_TOOLTIP": "Enable signature", - "DISABLE_SIGN_TOOLTIP": "Disable signature", - "MSG_INPUT": "줄바꿈을 하시려면 Shift + enter 클릭하십시오. '/'로 시작하여 미리 준비된 답변을 사용할 수 있습니다.", - "PRIVATE_MSG_INPUT": "줄바꿈을 하시려면 Shift + enter 클릭하십시오. 에이전트만 볼 수 있습니다.", - "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", - "CLICK_HERE": "Click here to update", - "WHATSAPP_TEMPLATES": "Whatsapp Templates" + "MESSAGE_SIGN_TOOLTIP": "메시지 서명", + "ENABLE_SIGN_TOOLTIP": "서명 활성화", + "DISABLE_SIGN_TOOLTIP": "서명 비활성화", + "MSG_INPUT": "줄바꿈을 하시려면 Shift + Enter를 누르십시오. '/'로 시작하여 미리 준비된 답변을 사용할 수 있습니다.", + "PRIVATE_MSG_INPUT": "줄바꿈을 하시려면 Shift + Enter를 누르십시오. 에이전트만 볼 수 있습니다.", + "MESSAGE_SIGNATURE_NOT_CONFIGURED": "메시지 서명이 설정되지 않았습니다. 프로필 설정에서 설정해 주십시오.", + "CLICK_HERE": "업데이트하려면 여기를 클릭하십시오", + "WHATSAPP_TEMPLATES": "WhatsApp 템플릿", + "MESSAGING_RESTRICTED": "이 대화에 답장할 수 없습니다", + "MESSAGING_RESTRICTED_WHATSAPP": "24시간 메시지 창 제한으로 인해 템플릿 메시지로만 답장할 수 있습니다", + "COPILOT_MSG_INPUT": "Copilot에 추가 프롬프트를 입력하거나 다른 질문을 하십시오... Enter를 눌러 후속 메시지를 보내십시오", + "MESSAGING_RESTRICTED_API": "메시지 창 제한으로 인해 템플릿 메시지로만 답장할 수 있습니다" }, "REPLYBOX": { "REPLY": "답글", "PRIVATE_NOTE": "개인 노트", "SEND": "보내기", "CREATE": "노트 추가", - "INSERT_READ_MORE": "Read more", - "DISMISS_REPLY": "Dismiss reply", - "REPLYING_TO": "Replying to:", + "INSERT_READ_MORE": "더 읽기", + "DISMISS_REPLY": "답글 취소", + "REPLYING_TO": "답글 대상:", "TIP_EMOJI_ICON": "이모티콘 보기", "TIP_ATTACH_ICON": "파일 첨부", - "TIP_AUDIORECORDER_ICON": "Record audio", - "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", - "TIP_AUDIORECORDER_ERROR": "Could not open the audio", - "DRAG_DROP": "Drag and drop here to attach", - "START_AUDIO_RECORDING": "Start audio recording", - "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "TIP_AUDIORECORDER_ICON": "오디오 녹음", + "TIP_AUDIORECORDER_PERMISSION": "오디오 접근 허용", + "TIP_AUDIORECORDER_ERROR": "오디오를 열 수 없습니다", + "DRAG_DROP": "여기에 드래그 앤 드롭하여 첨부하십시오", + "START_AUDIO_RECORDING": "오디오 녹음 시작", + "STOP_AUDIO_RECORDING": "오디오 녹음 중지", "EMAIL_HEAD": { - "TO": "TO", - "ADD_BCC": "Add bcc", + "TO": "받는 사람", + "ADD_BCC": "숨은 참조 추가", "CC": { "LABEL": "CC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "PLACEHOLDER": "이메일 주소를 쉼표로 구분하여 입력하십시오", + "ERROR": "올바른 이메일 주소를 입력하십시오" }, "BCC": { "LABEL": "BCC", - "PLACEHOLDER": "Emails separated by commas", - "ERROR": "Please enter valid email addresses" + "PLACEHOLDER": "이메일 주소를 쉼표로 구분하여 입력하십시오", + "ERROR": "올바른 이메일 주소를 입력하십시오" } }, "UNDEFINED_VARIABLES": { - "TITLE": "Undefined variables", - "MESSAGE": "You have {undefinedVariablesCount} undefined variables in your message: {undefinedVariables}. Would you like to send the message anyway?", + "TITLE": "정의되지 않은 변수", + "MESSAGE": "메시지에 정의되지 않은 변수가 {undefinedVariablesCount}개 있습니다: {undefinedVariables}. 그래도 메시지를 보내시겠습니까?", "CONFIRM": { "YES": "보내기", "CANCEL": "취소" } }, "QUOTED_REPLY": { - "ENABLE_TOOLTIP": "Include quoted email thread", - "DISABLE_TOOLTIP": "Don't include quoted email thread", - "REMOVE_PREVIEW": "Remove quoted email thread", - "COLLAPSE": "Collapse preview", - "EXPAND": "Expand preview" - } + "ENABLE_TOOLTIP": "인용된 이메일 스레드 포함", + "DISABLE_TOOLTIP": "인용된 이메일 스레드 포함하지 않음", + "REMOVE_PREVIEW": "인용된 이메일 스레드 제거", + "COLLAPSE": "미리보기 축소", + "EXPAND": "미리보기 확장" + }, + "COPILOT_THINKING": "Copilot이 생각하고 있습니다" }, - "VISIBLE_TO_AGENTS": "개인 노트: 귀하와 귀하의 팀만 볼 수 있음", - "CHANGE_STATUS": "대화 상태가 변경됨", - "CHANGE_STATUS_FAILED": "Conversation status change failed", - "CHANGE_AGENT": "대화 담당자가 변경됨", - "CHANGE_AGENT_FAILED": "Assignee change failed", - "ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully", - "ASSIGN_LABEL_FAILED": "Label assignment failed", - "CHANGE_TEAM": "대화 담당자가 변경됨", - "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", - "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", - "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", - "MESSAGE_ERROR": "Unable to send this message, please try again later", + "VISIBLE_TO_AGENTS": "개인 노트: 귀하와 귀하의 팀만 볼 수 있습니다", + "CHANGE_STATUS": "대화 상태가 변경되었습니다", + "CHANGE_STATUS_FAILED": "대화 상태 변경에 실패했습니다", + "CHANGE_AGENT": "대화 담당자가 변경되었습니다", + "CHANGE_AGENT_FAILED": "담당자 변경에 실패했습니다", + "ASSIGN_LABEL_SUCCESFUL": "라벨이 성공적으로 배정되었습니다", + "ASSIGN_LABEL_FAILED": "라벨 배정에 실패했습니다", + "CHANGE_TEAM": "대화 팀이 변경되었습니다", + "SUCCESS_DELETE_CONVERSATION": "대화가 성공적으로 삭제되었습니다", + "FAIL_DELETE_CONVERSATION": "대화를 삭제할 수 없습니다! 다시 시도해 주십시오.", + "FILE_SIZE_LIMIT": "파일이 {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB 첨부 제한을 초과합니다", + "MESSAGE_ERROR": "메시지를 보낼 수 없습니다. 나중에 다시 시도해 주십시오.", "SENT_BY": "보낸 사람:", "BOT": "봇", - "SEND_FAILED": "Couldn't send message! Try again", - "TRY_AGAIN": "retry", + "SEND_FAILED": "메시지를 보낼 수 없습니다! 다시 시도해 주십시오.", + "TRY_AGAIN": "재시도", "ASSIGNMENT": { "SELECT_AGENT": "에이전트 선택", "REMOVE": "제거", - "ASSIGN": "할당하다" + "ASSIGN": "배정" }, "CONTEXT_MENU": { "COPY": "복사", - "REPLY_TO": "Reply to this message", + "REPLY_TO": "이 메시지에 답장", "DELETE": "삭제", - "CREATE_A_CANNED_RESPONSE": "Add to canned responses", - "TRANSLATE": "Translate", - "COPY_PERMALINK": "Copy link to the message", - "LINK_COPIED": "Message URL copied to the clipboard", + "CREATE_A_CANNED_RESPONSE": "미리 준비된 답변에 추가", + "TRANSLATE": "번역", + "COPY_PERMALINK": "메시지 링크 복사", + "LINK_COPIED": "메시지 URL이 클립보드에 복사되었습니다", "DELETE_CONFIRMATION": { - "TITLE": "Are you sure you want to delete this message?", - "MESSAGE": "You cannot undo this action", + "TITLE": "이 메시지를 삭제하시겠습니까?", + "MESSAGE": "이 작업은 취소할 수 없습니다", "DELETE": "삭제", "CANCEL": "취소" } }, "SIDEBAR": { - "CONTACT": "Contact", + "CONTACT": "연락처", "COPILOT": "Copilot" }, "VOICE_WIDGET": { - "INCOMING_CALL": "Incoming call", - "OUTGOING_CALL": "Outgoing call", - "CALL_IN_PROGRESS": "Call in progress", - "NOT_ANSWERED_YET": "Not answered yet", - "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", - "REJECT_CALL": "Reject", - "JOIN_CALL": "Join call", - "END_CALL": "End call" - } + "INCOMING_CALL": "수신 전화", + "OUTGOING_CALL": "발신 전화", + "CALL_IN_PROGRESS": "통화 중", + "NOT_ANSWERED_YET": "아직 응답하지 않았습니다", + "HANDLED_IN_ANOTHER_TAB": "다른 탭에서 처리 중입니다", + "REJECT_CALL": "거부", + "JOIN_CALL": "통화 참가", + "END_CALL": "통화 종료" + }, + "UNSUPPORTED_MESSAGE_TIKTOK": "이 메시지는 지원되지 않습니다. TikTok 앱에서 이 메시지를 확인할 수 있습니다.", + "FILE_TYPE_NOT_SUPPORTED": "이 대화에서 {fileName} 파일 형식은 지원되지 않습니다", + "NATIVE_APP": "네이티브 앱", + "NATIVE_APP_ADVISORY": "이 메시지는 네이티브 앱에서 전송되었습니다. 메시지 창을 유지하려면 Chatwoot에서 답장하십시오." }, "EMAIL_TRANSCRIPT": { "TITLE": "대화 내용 보내기", - "DESC": "지정된 이메일 주소로 대화 내용 사본 보내기", - "SUBMIT": "보내기", + "DESC": "지정된 이메일 주소로 대화 내용 사본을 보냅니다", + "SUBMIT": "제출", "CANCEL": "취소", - "SEND_EMAIL_SUCCESS": "대화 내용이 성공적으로 전송됨", - "SEND_EMAIL_ERROR": "오류가 발생했습니다. 다시 시도하십시오.", + "SEND_EMAIL_SUCCESS": "대화 내용이 성공적으로 전송되었습니다", + "SEND_EMAIL_ERROR": "오류가 발생했습니다. 다시 시도해 주십시오.", "FORM": { - "SEND_TO_CONTACT": "고객에게 대화기록 보내기", - "SEND_TO_AGENT": "할당된 에이전트로 스크립트 보내기", - "SEND_TO_OTHER_EMAIL_ADDRESS": "다른 이메일 주소로 대화기록 보내기", + "SEND_TO_CONTACT": "고객에게 대화 기록 보내기", + "SEND_TO_AGENT": "배정된 에이전트에게 대화 기록 보내기", + "SEND_TO_OTHER_EMAIL_ADDRESS": "다른 이메일 주소로 대화 기록 보내기", "EMAIL": { - "PLACEHOLDER": "이메일 주소 입력", - "ERROR": "올바른 전자 메일 주소를 입력하십시오." + "PLACEHOLDER": "이메일 주소를 입력하십시오", + "ERROR": "올바른 이메일 주소를 입력하십시오" } - } + }, + "SEND_EMAIL_PAYMENT_REQUIRED": "현재 플랜에서는 이메일 대화 기록을 사용할 수 없습니다. 이 기능을 사용하려면 업그레이드하십시오." }, "ONBOARDING": { "TITLE": "안녕하세요 👋, {installationName}에 오신 것을 환영합니다!", - "DESCRIPTION": "Thanks for signing up. We want you to get the most out of {installationName}. Here are a few things you can do in {installationName} to make the experience delightful.", - "GREETING_MORNING": "👋 Good morning, {name}. Welcome to {installationName}.", - "GREETING_AFTERNOON": "👋 Good afternoon, {name}. Welcome to {installationName}.", - "GREETING_EVENING": "👋 Good evening, {name}. Welcome to {installationName}.", + "DESCRIPTION": "가입해 주셔서 감사합니다. {installationName}을(를) 최대한 활용하실 수 있도록 도와드리겠습니다. {installationName}에서 경험을 향상시키기 위해 할 수 있는 몇 가지를 소개합니다.", + "GREETING_MORNING": "👋 좋은 아침입니다, {name}님. {installationName}에 오신 것을 환영합니다.", + "GREETING_AFTERNOON": "👋 좋은 오후입니다, {name}님. {installationName}에 오신 것을 환영합니다.", + "GREETING_EVENING": "👋 좋은 저녁입니다, {name}님. {installationName}에 오신 것을 환영합니다.", "READ_LATEST_UPDATES": "최근 업데이트 내용 보기", "ALL_CONVERSATION": { "TITLE": "모든 대화를 한 곳에서", - "DESCRIPTION": "고객들과의 모든 대화를 하나의 대시보드에서 확인하세요. 대화들을 채널별, 라벨별, 상태별로 필터링 할 수 있습니다.", - "NEW_LINK": "클릭하여 받은 메시지함을 생성하세요." + "DESCRIPTION": "고객들과의 모든 대화를 하나의 대시보드에서 확인하십시오. 대화를 채널별, 라벨별, 상태별로 필터링할 수 있습니다.", + "NEW_LINK": "클릭하여 받은 메시지함을 생성하십시오" }, "TEAM_MEMBERS": { - "TITLE": "팀 구성원들을 초대하세요.", - "DESCRIPTION": "Since you are getting ready to talk to your customer, bring in your teammates to assist you. You can invite your teammates by adding their email addresses to the agent list.", - "NEW_LINK": "클릭하여 팀원을 초대하세요." + "TITLE": "팀 구성원을 초대하십시오", + "DESCRIPTION": "고객과 대화할 준비가 되셨다면, 팀원들을 초대하여 도움을 받으십시오. 에이전트 목록에 팀원의 이메일 주소를 추가하여 초대할 수 있습니다.", + "NEW_LINK": "클릭하여 팀원을 초대하십시오" }, "LABELS": { - "TITLE": "대화들을 라벨로 정리하기", - "DESCRIPTION": "라벨들은 대화들을 분류할 수 있는 쉬운 방법을 제공합니다. 예를 들면 #support-enquiry, #billing-question 등과 같은 라벨을 생성해서 나중에 대화할 때 사용할 수 있습니다.", - "NEW_LINK": "클릭하여 태그를 생성하세요." + "TITLE": "대화를 라벨로 정리하기", + "DESCRIPTION": "라벨은 대화를 분류할 수 있는 쉬운 방법을 제공합니다. 예를 들어 #support-enquiry, #billing-question 등과 같은 라벨을 생성하여 나중에 대화에서 사용할 수 있습니다.", + "NEW_LINK": "클릭하여 태그를 생성하십시오" }, "CANNED_RESPONSES": { - "TITLE": "Create canned responses", - "DESCRIPTION": "Pre-written quick reply templates help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a response.", - "NEW_LINK": "Click here to create a canned response" + "TITLE": "미리 준비된 답변 생성", + "DESCRIPTION": "미리 작성된 빠른 답변 템플릿을 통해 대화에 신속하게 응답할 수 있습니다. 에이전트가 '/' 문자와 단축 코드를 입력하여 답변을 삽입할 수 있습니다.", + "NEW_LINK": "클릭하여 미리 준비된 답변을 생성하십시오" } }, "CONVERSATION_SIDEBAR": { - "ASSIGNEE_LABEL": "할당된 에이전트", - "SELF_ASSIGN": "Assign to me", - "TEAM_LABEL": "할당된 팀", + "ASSIGNEE_LABEL": "배정된 에이전트", + "SELF_ASSIGN": "나에게 배정", + "TEAM_LABEL": "배정된 팀", "SELECT": { "PLACEHOLDER": "없음" }, "ACCORDION": { - "CONTACT_DETAILS": "Contact Details", - "CONVERSATION_ACTIONS": "Conversation Actions", + "CONTACT_DETAILS": "연락처 세부 정보", + "CONVERSATION_ACTIONS": "대화 작업", "CONVERSATION_LABELS": "대화 라벨", - "CONVERSATION_INFO": "Conversation Information", - "CONTACT_NOTES": "Contact Notes", - "CONTACT_ATTRIBUTES": "Contact Attributes", + "CONVERSATION_INFO": "대화 정보", + "CONTACT_NOTES": "연락처 메모", + "CONTACT_ATTRIBUTES": "연락처 속성", "PREVIOUS_CONVERSATION": "이전 대화", - "MACROS": "Macros", - "LINEAR_ISSUES": "Linked Linear Issues", - "SHOPIFY_ORDERS": "Shopify Orders" + "MACROS": "매크로", + "LINEAR_ISSUES": "연결된 Linear 이슈", + "SHOPIFY_ORDERS": "Shopify 주문" }, "SHOPIFY": { - "ORDER_ID": "Order #{id}", - "ERROR": "Error loading orders", - "NO_SHOPIFY_ORDERS": "No orders found", + "ORDER_ID": "주문 #{id}", + "ERROR": "주문 불러오기 오류", + "NO_SHOPIFY_ORDERS": "주문을 찾을 수 없습니다", "FINANCIAL_STATUS": { - "PENDING": "보내는 중", - "AUTHORIZED": "Authorized", - "PARTIALLY_PAID": "Partially Paid", - "PAID": "Paid", - "PARTIALLY_REFUNDED": "Partially Refunded", - "REFUNDED": "Refunded", - "VOIDED": "Voided" + "PENDING": "대기 중", + "AUTHORIZED": "승인됨", + "PARTIALLY_PAID": "일부 결제됨", + "PAID": "결제 완료", + "PARTIALLY_REFUNDED": "일부 환불됨", + "REFUNDED": "환불됨", + "VOIDED": "무효화됨" }, "FULFILLMENT_STATUS": { - "FULFILLED": "Fulfilled", - "PARTIALLY_FULFILLED": "Partially Fulfilled", - "UNFULFILLED": "Unfulfilled" + "FULFILLED": "이행 완료", + "PARTIALLY_FULFILLED": "일부 이행됨", + "UNFULFILLED": "미이행" } } }, "CONVERSATION_CUSTOM_ATTRIBUTES": { - "ADD_BUTTON_TEXT": "Create attribute", - "NO_RECORDS_FOUND": "No attributes found", + "ADD_BUTTON_TEXT": "속성 생성", + "NO_RECORDS_FOUND": "속성을 찾을 수 없습니다", "UPDATE": { - "SUCCESS": "Attribute updated successfully", - "ERROR": "Unable to update attribute. Please try again later" + "SUCCESS": "속성이 성공적으로 업데이트되었습니다", + "ERROR": "속성을 업데이트할 수 없습니다. 나중에 다시 시도해 주십시오." }, "ADD": { - "TITLE": "추가하기", - "SUCCESS": "Attribute added successfully", - "ERROR": "Unable to add attribute. Please try again later" + "TITLE": "추가", + "SUCCESS": "속성이 성공적으로 추가되었습니다", + "ERROR": "속성을 추가할 수 없습니다. 나중에 다시 시도해 주십시오." }, "DELETE": { - "SUCCESS": "Attribute deleted successfully", - "ERROR": "Unable to delete attribute. Please try again later" + "SUCCESS": "속성이 성공적으로 삭제되었습니다", + "ERROR": "속성을 삭제할 수 없습니다. 나중에 다시 시도해 주십시오." }, "ATTRIBUTE_SELECT": { - "TITLE": "속성 추가하기", - "PLACEHOLDER": "Search attributes", - "NO_RESULT": "No attributes found" + "TITLE": "속성 추가", + "PLACEHOLDER": "속성 검색", + "NO_RESULT": "속성을 찾을 수 없습니다" } }, "EMAIL_HEADER": { - "FROM": "From", - "TO": "~~에게", - "BCC": "Bcc", - "CC": "Cc", - "SUBJECT": "Subject", - "EXPAND": "Expand email" + "FROM": "보낸 사람", + "TO": "받는 사람", + "BCC": "숨은 참조", + "CC": "참조", + "SUBJECT": "제목", + "EXPAND": "이메일 펼치기" }, "CONVERSATION_PARTICIPANTS": { - "SIDEBAR_MENU_TITLE": "Participating", - "SIDEBAR_TITLE": "Conversation participants", + "SIDEBAR_MENU_TITLE": "참여 중", + "SIDEBAR_TITLE": "대화 참여자", "NO_RECORDS_FOUND": "검색 결과가 없습니다", - "ADD_PARTICIPANTS": "Select participants", - "REMANING_PARTICIPANTS_TEXT": "+{count} others", - "REMANING_PARTICIPANT_TEXT": "+{count} other", - "TOTAL_PARTICIPANTS_TEXT": "{count} people are participating.", - "TOTAL_PARTICIPANT_TEXT": "{count} person is participating.", - "NO_PARTICIPANTS_TEXT": "No one is participating!.", - "WATCH_CONVERSATION": "Join conversation", - "YOU_ARE_WATCHING": "You are participating", + "ADD_PARTICIPANTS": "참여자 선택", + "REMANING_PARTICIPANTS_TEXT": "+{count}명", + "REMANING_PARTICIPANT_TEXT": "+{count}명", + "TOTAL_PARTICIPANTS_TEXT": "{count}명이 참여하고 있습니다.", + "TOTAL_PARTICIPANT_TEXT": "{count}명이 참여하고 있습니다.", + "NO_PARTICIPANTS_TEXT": "참여 중인 사람이 없습니다.", + "WATCH_CONVERSATION": "대화 참여", + "YOU_ARE_WATCHING": "참여 중입니다", "API": { - "ERROR_MESSAGE": "Could not update, try again!", - "SUCCESS_MESSAGE": "Participants updated!" + "ERROR_MESSAGE": "업데이트할 수 없습니다. 다시 시도해 주십시오!", + "SUCCESS_MESSAGE": "참여자가 업데이트되었습니다!" } }, "TRANSLATE_MODAL": { - "TITLE": "View translated content", - "DESC": "You can view the translated content in each langauge.", - "ORIGINAL_CONTENT": "Original Content", - "TRANSLATED_CONTENT": "Translated Content", - "NO_TRANSLATIONS_AVAILABLE": "No translations are available for this content" + "TITLE": "번역된 내용 보기", + "DESC": "각 언어별로 번역된 내용을 확인할 수 있습니다.", + "ORIGINAL_CONTENT": "원본 내용", + "TRANSLATED_CONTENT": "번역된 내용", + "NO_TRANSLATIONS_AVAILABLE": "이 내용에 대한 번역이 없습니다" }, "TYPING": { - "ONE": "{user} is typing", - "TWO": "{user} and {secondUser} are typing", - "MULTIPLE": "{user} and {count} others are typing" + "ONE": "{user}님이 입력하고 있습니다", + "TWO": "{user}님과 {secondUser}님이 입력하고 있습니다", + "MULTIPLE": "{user}님 외 {count}명이 입력하고 있습니다" }, "COPILOT": { - "TRY_THESE_PROMPTS": "Try these prompts" + "TRY_THESE_PROMPTS": "다음 프롬프트를 시도해 보십시오" }, "GALLERY_VIEW": { - "ERROR_DOWNLOADING": "Unable to download attachment. Please try again" + "ERROR_DOWNLOADING": "첨부 파일을 다운로드할 수 없습니다. 다시 시도해 주십시오." } } diff --git a/app/javascript/dashboard/i18n/locale/ko/csatMgmt.json b/app/javascript/dashboard/i18n/locale/ko/csatMgmt.json index 9e16dc2b3..9b13c89fd 100644 --- a/app/javascript/dashboard/i18n/locale/ko/csatMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/csatMgmt.json @@ -1,13 +1,13 @@ { "CSAT": { - "TITLE": "Rate your conversation", - "PLACEHOLDER": "Tell us more...", + "TITLE": "대화를 평가해 주십시오", + "PLACEHOLDER": "더 자세히 알려주십시오...", "RATINGS": { - "POOR": "😞 Poor", - "FAIR": "😑 Fair", - "AVERAGE": "😐 Average", - "GOOD": "😀 Good", - "EXCELLENT": "😍 Excellent" + "POOR": "😞 매우 나쁨", + "FAIR": "😑 나쁨", + "AVERAGE": "😐 보통", + "GOOD": "😀 좋음", + "EXCELLENT": "😍 매우 좋음" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/customRole.json b/app/javascript/dashboard/i18n/locale/ko/customRole.json index 0127b3af0..c286346b0 100644 --- a/app/javascript/dashboard/i18n/locale/ko/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ko/customRole.json @@ -1,91 +1,94 @@ { "CUSTOM_ROLE": { - "HEADER": "Custom Roles", - "LEARN_MORE": "Learn more about custom roles", - "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", - "HEADER_BTN_TXT": "Add custom role", - "LOADING": "Fetching custom roles...", - "SEARCH_404": "이 쿼리와 일치하는 항목이 없음.", + "HEADER": "사용자 지정 역할", + "LEARN_MORE": "사용자 지정 역할에 대해 더 알아보기", + "DESCRIPTION": "사용자 지정 역할은 계정 소유자 또는 관리자가 만든 역할입니다. 이 역할은 에이전트에게 할당하여 계정 내 접근 권한 및 권한을 정의할 수 있습니다. 사용자 지정 역할은 조직의 요구 사항에 맞는 특정 권한 및 접근 수준으로 생성할 수 있습니다.", + "HEADER_BTN_TXT": "사용자 지정 역할 추가", + "LOADING": "사용자 지정 역할을 불러오는 중...", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없습니다.", "PAYWALL": { - "TITLE": "Upgrade to create custom roles", - "AVAILABLE_ON": "The custom role feature is only available in the Business and Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade your plan to get access to advanced features like team management, automations, custom attributes, and more.", - "UPGRADE_NOW": "Upgrade now", - "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + "TITLE": "사용자 지정 역할을 만들려면 업그레이드하십시오", + "AVAILABLE_ON": "사용자 지정 역할 기능은 Business 및 Enterprise 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "팀 관리, 자동화, 사용자 지정 속성 등 고급 기능에 접근하려면 플랜을 업그레이드하십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 플랜을 변경하거나 취소할 수 있습니다" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The custom role feature is only available in the paid plans.", - "UPGRADE_PROMPT": "Upgrade to a paid plan to access advanced features like audit logs, agent capacity, and more.", - "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + "AVAILABLE_ON": "사용자 지정 역할 기능은 유료 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "감사 로그, 에이전트 용량 등 고급 기능에 접근하려면 유료 플랜으로 업그레이드하십시오.", + "ASK_ADMIN": "업그레이드에 대해 관리자에게 문의하십시오." }, "LIST": { - "404": "There are no custom roles available in this account.", - "TITLE": "Manage custom roles", - "DESC": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "404": "이 계정에서 사용 가능한 사용자 지정 역할이 없습니다.", + "TITLE": "사용자 지정 역할 관리", + "DESC": "사용자 지정 역할은 계정 소유자 또는 관리자가 만든 역할입니다. 이 역할은 에이전트에게 할당하여 계정 내 접근 권한 및 권한을 정의할 수 있습니다. 사용자 지정 역할은 조직의 요구 사항에 맞는 특정 권한 및 접근 수준으로 생성할 수 있습니다.", "TABLE_HEADER": { "NAME": "이름", - "DESCRIPTION": "내용", - "PERMISSIONS": "Permissions", + "DESCRIPTION": "설명", + "PERMISSIONS": "권한", "ACTIONS": "액션" } }, "PERMISSIONS": { - "CONVERSATION_MANAGE": "Manage all conversations", - "CONVERSATION_UNASSIGNED_MANAGE": "Manage unassigned conversations and those assigned to them", - "CONVERSATION_PARTICIPATING_MANAGE": "Manage participating conversations and those assigned to them", - "CONTACT_MANAGE": "Manage contacts", - "REPORT_MANAGE": "Manage reports", - "KNOWLEDGE_BASE_MANAGE": "Manage knowledge base" + "CONVERSATION_MANAGE": "모든 대화 관리", + "CONVERSATION_UNASSIGNED_MANAGE": "배정되지 않은 대화 및 자신에게 배정된 대화 관리", + "CONVERSATION_PARTICIPATING_MANAGE": "참여 중인 대화 및 자신에게 배정된 대화 관리", + "CONTACT_MANAGE": "연락처 관리", + "REPORT_MANAGE": "보고서 관리", + "KNOWLEDGE_BASE_MANAGE": "지식 기반 관리" }, "FORM": { "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Please enter a name.", + "PLACEHOLDER": "이름을 입력하십시오.", "ERROR": "이름이 필요합니다." }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Please enter a description.", + "LABEL": "설명", + "PLACEHOLDER": "설명을 입력하십시오.", "ERROR": "설명이 필요합니다." }, "PERMISSIONS": { - "LABEL": "Permissions", - "ERROR": "Permissions are required." + "LABEL": "권한", + "ERROR": "권한이 필요합니다." }, "CANCEL_BUTTON_TEXT": "취소", "API": { - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주십시오." } }, "ADD": { - "TITLE": "Add custom role", - "DESC": " Custom roles allows you to create roles with specific permissions and access levels to suit the requirements of the organization.", - "SUBMIT": "보내기", + "TITLE": "사용자 지정 역할 추가", + "DESC": "사용자 지정 역할을 사용하면 조직의 요구 사항에 맞는 특정 권한 및 접근 수준으로 역할을 생성할 수 있습니다.", + "SUBMIT": "제출", "API": { - "SUCCESS_MESSAGE": "Custom role added successfully." + "SUCCESS_MESSAGE": "사용자 지정 역할이 성공적으로 추가되었습니다." } }, "EDIT": { "BUTTON_TEXT": "수정", - "TITLE": "Edit custom role", - "DESC": " Custom roles allows you to create roles with specific permissions and access levels to suit the requirements of the organization.", + "TITLE": "사용자 지정 역할 편집", + "DESC": "사용자 지정 역할을 사용하면 조직의 요구 사항에 맞는 특정 권한 및 접근 수준으로 역할을 생성할 수 있습니다.", "SUBMIT": "업데이트", "API": { - "SUCCESS_MESSAGE": "Custom role updated successfully." + "SUCCESS_MESSAGE": "사용자 지정 역할이 성공적으로 업데이트되었습니다." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "Custom role deleted successfully.", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." + "SUCCESS_MESSAGE": "사용자 지정 역할이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주십시오." }, "CONFIRM": { - "TITLE": "Confirm deletion", + "TITLE": "삭제 확인", "MESSAGE": "삭제하시겠습니까? ", - "YES": "예, 삭제합니다. ", + "YES": "예, 삭제합니다 ", "NO": "아니요, 유지합니다 " } - } + }, + "COUNT": "{n}개의 사용자 지정 역할 | {n}개의 사용자 지정 역할", + "SEARCH_PLACEHOLDER": "사용자 지정 역할 검색...", + "NO_RESULTS": "검색과 일치하는 사용자 지정 역할이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/datePicker.json b/app/javascript/dashboard/i18n/locale/ko/datePicker.json index 03ba71742..e49d87770 100644 --- a/app/javascript/dashboard/i18n/locale/ko/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ko/datePicker.json @@ -1,19 +1,24 @@ { "DATE_PICKER": { - "APPLY_BUTTON": "Apply", - "CLEAR_BUTTON": "Clear", + "APPLY_BUTTON": "적용", + "CLEAR_BUTTON": "초기화", "DATE_RANGE_INPUT": { - "START": "Start Date", - "END": "End Date" + "START": "시작 날짜", + "END": "종료 날짜" }, "DATE_RANGE_OPTIONS": { - "TITLE": "DATE RANGE", + "TITLE": "날짜 범위", "LAST_7_DAYS": "지난 7일", "LAST_30_DAYS": "지난 30일", - "LAST_3_MONTHS": "Last 3 months", - "LAST_6_MONTHS": "Last 6 months", - "LAST_YEAR": "Last year", - "CUSTOM_RANGE": "Custom date range" - } + "LAST_3_MONTHS": "지난 3개월", + "LAST_6_MONTHS": "지난 6개월", + "LAST_YEAR": "지난 1년", + "CUSTOM_RANGE": "사용자 지정 날짜 범위", + "THIS_WEEK": "이번 주", + "MONTH_TO_DATE": "이번 달" + }, + "PREVIOUS_PERIOD": "이전 기간", + "NEXT_PERIOD": "다음 기간", + "WEEK_NUMBER": "{weekNumber}주차" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/emoji.json b/app/javascript/dashboard/i18n/locale/ko/emoji.json index 252031c46..194929887 100644 --- a/app/javascript/dashboard/i18n/locale/ko/emoji.json +++ b/app/javascript/dashboard/i18n/locale/ko/emoji.json @@ -1,7 +1,7 @@ { "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search", + "PLACEHOLDER": "이모지 검색", + "NOT_FOUND": "검색과 일치하는 이모지가 없습니다", "REMOVE": "제거" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/general.json b/app/javascript/dashboard/i18n/locale/ko/general.json index 78f581d98..795526fb0 100644 --- a/app/javascript/dashboard/i18n/locale/ko/general.json +++ b/app/javascript/dashboard/i18n/locale/ko/general.json @@ -1,12 +1,19 @@ { "GENERAL": { - "SHOWING_RESULTS": "Showing {firstIndex}-{lastIndex} of {totalCount} items", + "SHOWING_RESULTS": "{totalCount}개 항목 중 {firstIndex}-{lastIndex} 표시", "PHONE_INPUT": { "PLACEHOLDER": "검색", "EMPTY_STATE": "검색 결과가 없습니다" }, "CLOSE": "닫기", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "이 기능은 베타 버전이며 개선하면서 변경될 수 있습니다.", + "ACCEPT": "수락", + "DISCARD": "취소", + "PREFERRED": "선호" + }, + "CHOICE_TOGGLE": { + "YES": "예", + "NO": "아니오" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json index 3b9315802..2b74c3654 100644 --- a/app/javascript/dashboard/i18n/locale/ko/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ko/generalSettings.json @@ -1,37 +1,37 @@ { "GENERAL_SETTINGS": { "LIMIT_MESSAGES": { - "CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.", - "INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.", - "AGENTS": "You have exceeded the agent limit. Your plan only allows {allowedAgents} agents.", - "NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features." + "CONVERSATION": "대화 제한을 초과했습니다. Hacker 플랜은 500개의 대화만 허용합니다.", + "INBOXES": "받은 메시지함 제한을 초과했습니다. Hacker 플랜은 웹사이트 실시간 채팅만 지원합니다. 이메일, WhatsApp 등의 추가 받은 메시지함은 유료 플랜이 필요합니다.", + "AGENTS": "에이전트 제한을 초과했습니다. 현재 플랜은 {allowedAgents}명의 에이전트만 허용합니다.", + "NON_ADMIN": "플랜을 업그레이드하고 모든 기능을 계속 사용하려면 관리자에게 문의하십시오." }, "TITLE": "계정 설정", "SUBMIT": "설정 업데이트", "BACK": "뒤로", - "DISMISS": "Dismiss", + "DISMISS": "닫기", "UPDATE": { "ERROR": "설정을 업데이트할 수 없습니다, 다시 시도하십시오!", "SUCCESS": "계정 설정이 성공적으로 업데이트됨" }, "ACCOUNT_DELETE_SECTION": { - "TITLE": "Delete your Account", - "NOTE": "Once you delete your account, all your data will be deleted.", - "BUTTON_TEXT": "Delete Your Account", + "TITLE": "계정 삭제", + "NOTE": "계정을 삭제하면 모든 데이터가 삭제됩니다.", + "BUTTON_TEXT": "계정 삭제", "CONFIRM": { - "TITLE": "Delete Account", - "MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.", + "TITLE": "계정 삭제", + "MESSAGE": "계정 삭제는 되돌릴 수 없습니다. 영구적으로 삭제하려면 아래에 계정 이름을 입력하십시오.", "BUTTON_TEXT": "삭제", "DISMISS": "취소", - "PLACE_HOLDER": "Please type {accountName} to confirm" + "PLACE_HOLDER": "확인하려면 {accountName}을(를) 입력하십시오" }, - "SUCCESS": "Account marked for deletion", - "FAILURE": "Could not delete account, try again!", + "SUCCESS": "계정이 삭제 예정으로 표시되었습니다", + "FAILURE": "계정을 삭제할 수 없습니다. 다시 시도하십시오!", "SCHEDULED_DELETION": { - "TITLE": "Account Scheduled for Deletion", - "MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.", - "MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.", - "CLEAR_BUTTON": "Cancel Scheduled Deletion" + "TITLE": "계정 삭제 예약됨", + "MESSAGE_MANUAL": "이 계정은 {deletionDate}에 삭제될 예정입니다. 관리자가 요청했습니다. 해당 날짜 이전에 삭제를 취소할 수 있습니다.", + "MESSAGE_INACTIVITY": "이 계정은 비활성으로 인해 {deletionDate}에 삭제될 예정입니다. 해당 날짜 이전에 삭제를 취소할 수 있습니다.", + "CLEAR_BUTTON": "예약된 삭제 취소" } }, "FORM": { @@ -41,36 +41,36 @@ "NOTE": "" }, "ACCOUNT_ID": { - "TITLE": "Account ID", - "NOTE": "This ID is required if you are building an API based integration" + "TITLE": "계정 ID", + "NOTE": "API 기반 통합을 구축하는 경우 이 ID가 필요합니다" }, "AUTO_RESOLVE": { - "TITLE": "Auto-resolve conversations", - "NOTE": "This configuration would allow you to automatically resolve the conversation after a certain period of inactivity.", + "TITLE": "대화 자동 해결", + "NOTE": "이 설정을 사용하면 일정 기간 비활성 후 대화를 자동으로 해결할 수 있습니다.", "DURATION": { - "LABEL": "Inactivity duration", - "HELP": "Time period of inactivity after which conversation is auto-resolved", + "LABEL": "비활성 기간", + "HELP": "대화가 자동 해결되기까지의 비활성 기간", "PLACEHOLDER": "30", - "ERROR": "Auto resolve duration should be between 10 minutes and 999 days", + "ERROR": "자동 해결 기간은 10분에서 999일 사이여야 합니다", "API": { - "SUCCESS": "Auto resolve settings updated successfully", - "ERROR": "Failed to update auto resolve settings" + "SUCCESS": "자동 해결 설정이 성공적으로 업데이트되었습니다", + "ERROR": "자동 해결 설정을 업데이트하지 못했습니다" } }, "MESSAGE": { - "LABEL": "Custom auto-resolution message", - "PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity", - "HELP": "Message sent to the customer after conversation is auto-resolved" + "LABEL": "사용자 지정 자동 해결 메시지", + "PLACEHOLDER": "15일간 비활성으로 인해 시스템이 대화를 해결됨으로 표시했습니다", + "HELP": "대화가 자동 해결된 후 고객에게 전송되는 메시지" }, - "PREFERENCES": "Preferences", + "PREFERENCES": "환경설정", "LABEL": { - "LABEL": "Add label after auto-resolution", - "PLACEHOLDER": "Select a label" + "LABEL": "자동 해결 후 라벨 추가", + "PLACEHOLDER": "라벨 선택" }, "IGNORE_WAITING": { - "LABEL": "Skip conversations waiting for agent’s reply" + "LABEL": "에이전트 응답 대기 중인 대화 건너뛰기" }, - "UPDATE_BUTTON": "Save Changes" + "UPDATE_BUTTON": "변경사항 저장" }, "NAME": { "LABEL": "계정 이름", @@ -78,7 +78,7 @@ "ERROR": "올바른 계정 이름을 입력하십시오." }, "LANGUAGE": { - "LABEL": "Site language", + "LABEL": "사이트 언어", "PLACEHOLDER": "당신의 계정 이름", "ERROR": "" }, @@ -93,61 +93,61 @@ "ERROR": "" }, "AUTO_RESOLVE_IGNORE_WAITING": { - "LABEL": "Exclude unattended conversations", - "HELP": "When enabled, the system will skip resolving conversations that are still waiting for an agent's reply." + "LABEL": "미응답 대화 제외", + "HELP": "활성화하면 시스템이 아직 에이전트 응답을 기다리고 있는 대화의 해결을 건너뜁니다." }, "AUDIO_TRANSCRIPTION": { - "TITLE": "Transcribe Audio Messages", - "NOTE": "Automatically transcribe audio messages in conversations. Generate a text transcript whenever an audio message is sent or received, and display it alongside the message.", + "TITLE": "음성 메시지 변환", + "NOTE": "대화에서 음성 메시지를 자동으로 텍스트로 변환합니다. 음성 메시지가 전송되거나 수신될 때마다 텍스트 변환본을 생성하여 메시지와 함께 표시합니다.", "API": { - "SUCCESS": "Audio transcription setting updated successfully", - "ERROR": "Failed to update audio transcription setting" + "SUCCESS": "음성 변환 설정이 성공적으로 업데이트되었습니다", + "ERROR": "음성 변환 설정을 업데이트하지 못했습니다" } }, "AUTO_RESOLVE_DURATION": { - "LABEL": "Inactivity duration for resolution", - "HELP": "Duration after a conversation should auto resolve if there is no activity", + "LABEL": "해결을 위한 비활성 기간", + "HELP": "활동이 없을 경우 대화를 자동 해결하는 기간", "PLACEHOLDER": "30", - "ERROR": "Auto resolve duration should be between 10 minutes and 999 days", + "ERROR": "자동 해결 기간은 10분에서 999일 사이여야 합니다", "API": { - "SUCCESS": "Auto resolve settings updated successfully", - "ERROR": "Failed to update auto resolve settings" + "SUCCESS": "자동 해결 설정이 성공적으로 업데이트되었습니다", + "ERROR": "자동 해결 설정을 업데이트하지 못했습니다" }, "UPDATE_BUTTON": "업데이트", - "MESSAGE_LABEL": "Custom resolution message", - "MESSAGE_PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity", - "MESSAGE_HELP": "This message is sent to the customer when a conversation is automatically resolved by the system due to inactivity." + "MESSAGE_LABEL": "사용자 지정 해결 메시지", + "MESSAGE_PLACEHOLDER": "15일간 비활성으로 인해 시스템이 대화를 해결됨으로 표시했습니다", + "MESSAGE_HELP": "비활성으로 인해 시스템이 자동으로 대화를 해결할 때 고객에게 전송되는 메시지입니다." }, "FEATURES": { "INBOUND_EMAIL_ENABLED": "계정에 대해 이메일을 통한 대화 연속성이 활성화되었습니다.", - "CUSTOM_EMAIL_DOMAIN_ENABLED": "지금 사용자 지정 도메인에서 이메일을 받을 수 있다." + "CUSTOM_EMAIL_DOMAIN_ENABLED": "지금 사용자 지정 도메인에서 이메일을 받을 수 있습니다." } }, "UPDATE_CHATWOOT": "Chatwoot에 대한 {latestChatwootVersion} 업데이트를 사용할 수 있습니다. 인스턴스를 업데이트하십시오.", - "LEARN_MORE": "Learn more", - "PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot", - "UPGRADE": "Upgrade to continue using Chatwoot", - "LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot", - "OPEN_BILLING": "Open billing" + "LEARN_MORE": "자세히 알아보기", + "PAYMENT_PENDING": "결제가 보류 중입니다. Chatwoot을 계속 사용하려면 결제 정보를 업데이트하십시오", + "UPGRADE": "Chatwoot을 계속 사용하려면 업그레이드하십시오", + "LIMITS_UPGRADE": "계정이 사용 제한을 초과했습니다. Chatwoot을 계속 사용하려면 플랜을 업그레이드하십시오", + "OPEN_BILLING": "청구서 열기" }, "FORMS": { "MULTISELECT": { "ENTER_TO_SELECT": "선택하려면 Enter 키를 누르십시오.", "ENTER_TO_REMOVE": "제거하려면 Enter 키를 누르십시오.", - "NO_OPTIONS": "List is empty", + "NO_OPTIONS": "목록이 비어 있습니다", "SELECT_ONE": "하나 선택", - "SELECT": "Select" + "SELECT": "선택" } }, "NOTIFICATIONS_PAGE": { "HEADER": "알림", "MARK_ALL_DONE": "모두 완료 표시", - "DELETE_TITLE": "deleted", + "DELETE_TITLE": "삭제됨", "UNREAD_NOTIFICATION": { - "TITLE": "Unread Notifications", - "ALL_NOTIFICATIONS": "View all notifications", - "LOADING_UNREAD_MESSAGE": "Loading unread notifications...", - "EMPTY_MESSAGE": "You have no unread notifications" + "TITLE": "읽지 않은 알림", + "ALL_NOTIFICATIONS": "모든 알림 보기", + "LOADING_UNREAD_MESSAGE": "읽지 않은 알림을 불러오는 중...", + "EMPTY_MESSAGE": "읽지 않은 알림이 없습니다" }, "LIST": { "LOADING_MESSAGE": "알림을 불러오는 중...", @@ -165,87 +165,88 @@ "assigned_conversation_new_message": "새 메시지", "participating_conversation_new_message": "새 메시지", "conversation_mention": "멘션", - "sla_missed_first_response": "SLA Missed", - "sla_missed_next_response": "SLA Missed", - "sla_missed_resolution": "SLA Missed" + "sla_missed_first_response": "SLA 위반", + "sla_missed_next_response": "SLA 위반", + "sla_missed_resolution": "SLA 위반" } }, "NETWORK": { "NOTIFICATION": { "OFFLINE": "오프라인", - "RECONNECTING": "Reconnecting...", - "RECONNECT_SUCCESS": "Reconnected" + "RECONNECTING": "재연결 중...", + "RECONNECT_SUCCESS": "재연결됨" }, "BUTTON": { - "REFRESH": "Refresh" + "REFRESH": "새로고침" } }, "COMMAND_BAR": { - "SEARCH_PLACEHOLDER": "Search or jump to", + "SEARCH_PLACEHOLDER": "검색 또는 바로가기", "SECTIONS": { - "GENERAL": "General", + "GENERAL": "일반", "REPORTS": "보고서", - "CONVERSATION": "Conversation", - "BULK_ACTIONS": "Bulk Actions", - "CHANGE_ASSIGNEE": "Change Assignee", - "CHANGE_PRIORITY": "Change Priority", - "CHANGE_TEAM": "Change Team", - "SNOOZE_CONVERSATION": "Snooze Conversation", - "ADD_LABEL": "Add label to the conversation", - "REMOVE_LABEL": "Remove label from the conversation", + "CONVERSATION": "대화", + "BULK_ACTIONS": "일괄 작업", + "CHANGE_ASSIGNEE": "담당자 변경", + "CHANGE_PRIORITY": "우선순위 변경", + "CHANGE_TEAM": "팀 변경", + "SNOOZE_CONVERSATION": "대화 일시 중지", + "ADD_LABEL": "대화에 라벨 추가", + "REMOVE_LABEL": "대화에서 라벨 제거", "SETTINGS": "설정", - "AI_ASSIST": "AI Assist", - "APPEARANCE": "Appearance", - "SNOOZE_NOTIFICATION": "Snooze Notification" + "AI_ASSIST": "AI 어시스트", + "APPEARANCE": "외관", + "SNOOZE_NOTIFICATION": "알림 일시 중지" }, "COMMANDS": { - "GO_TO_CONVERSATION_DASHBOARD": "Go to Conversation Dashboard", - "GO_TO_CONTACTS_DASHBOARD": "Go to Contacts Dashboard", - "GO_TO_REPORTS_OVERVIEW": "Go to Reports Overview", - "GO_TO_CONVERSATION_REPORTS": "Go to Conversation Reports", - "GO_TO_AGENT_REPORTS": "Go to Agent Reports", - "GO_TO_LABEL_REPORTS": "Go to Label Reports", - "GO_TO_INBOX_REPORTS": "Go to Inbox Reports", - "GO_TO_TEAM_REPORTS": "Go to Team Reports", - "GO_TO_SETTINGS_AGENTS": "Go to Agent Settings", - "GO_TO_SETTINGS_TEAMS": "Go to Team Settings", - "GO_TO_SETTINGS_INBOXES": "Go to Inbox Settings", - "GO_TO_SETTINGS_LABELS": "Go to Label Settings", - "GO_TO_SETTINGS_CANNED_RESPONSES": "Go to Canned Response Settings", - "GO_TO_SETTINGS_APPLICATIONS": "Go to Application Settings", - "GO_TO_SETTINGS_ACCOUNT": "Go to Account Settings", - "GO_TO_SETTINGS_PROFILE": "Go to Profile Settings", - "GO_TO_NOTIFICATIONS": "Go to Notifications", - "ADD_LABELS_TO_CONVERSATION": "Add label to the conversation", - "ASSIGN_AN_AGENT": "Assign an agent", - "AI_ASSIST": "AI Assist", - "ASSIGN_PRIORITY": "Assign priority", - "ASSIGN_A_TEAM": "Assign a team", - "MUTE_CONVERSATION": "Mute conversation", - "UNMUTE_CONVERSATION": "Unmute conversation", - "REMOVE_LABEL_FROM_CONVERSATION": "Remove label from the conversation", - "REOPEN_CONVERSATION": "Reopen conversation", - "RESOLVE_CONVERSATION": "Resolve conversation", - "SEND_TRANSCRIPT": "Send an email transcript", - "SNOOZE_CONVERSATION": "Snooze Conversation", - "UNTIL_NEXT_REPLY": "Until next reply", - "UNTIL_NEXT_WEEK": "Until next week", - "UNTIL_TOMORROW": "Until tomorrow", - "UNTIL_NEXT_MONTH": "Until next month", - "AN_HOUR_FROM_NOW": "Until an hour from now", - "UNTIL_CUSTOM_TIME": "Custom...", - "CHANGE_APPEARANCE": "Change Appearance", - "LIGHT_MODE": "Light", - "DARK_MODE": "Dark", - "SYSTEM_MODE": "System", - "SNOOZE_NOTIFICATION": "Snooze Notification" - } + "GO_TO_CONVERSATION_DASHBOARD": "대화 대시보드로 이동", + "GO_TO_CONTACTS_DASHBOARD": "연락처 대시보드로 이동", + "GO_TO_REPORTS_OVERVIEW": "보고서 개요로 이동", + "GO_TO_CONVERSATION_REPORTS": "대화 보고서로 이동", + "GO_TO_AGENT_REPORTS": "에이전트 보고서로 이동", + "GO_TO_LABEL_REPORTS": "라벨 보고서로 이동", + "GO_TO_INBOX_REPORTS": "받은 메시지함 보고서로 이동", + "GO_TO_TEAM_REPORTS": "팀 보고서로 이동", + "GO_TO_SETTINGS_AGENTS": "에이전트 설정으로 이동", + "GO_TO_SETTINGS_TEAMS": "팀 설정으로 이동", + "GO_TO_SETTINGS_INBOXES": "받은 메시지함 설정으로 이동", + "GO_TO_SETTINGS_LABELS": "라벨 설정으로 이동", + "GO_TO_SETTINGS_CANNED_RESPONSES": "미리 준비된 응답 설정으로 이동", + "GO_TO_SETTINGS_APPLICATIONS": "애플리케이션 설정으로 이동", + "GO_TO_SETTINGS_ACCOUNT": "계정 설정으로 이동", + "GO_TO_SETTINGS_PROFILE": "프로필 설정으로 이동", + "GO_TO_NOTIFICATIONS": "알림으로 이동", + "ADD_LABELS_TO_CONVERSATION": "대화에 라벨 추가", + "ASSIGN_AN_AGENT": "에이전트 배정", + "AI_ASSIST": "AI 어시스트", + "ASSIGN_PRIORITY": "우선순위 배정", + "ASSIGN_A_TEAM": "팀 배정", + "MUTE_CONVERSATION": "대화 음소거", + "UNMUTE_CONVERSATION": "대화 음소거 해제", + "REMOVE_LABEL_FROM_CONVERSATION": "대화에서 라벨 제거", + "REOPEN_CONVERSATION": "대화 다시 열기", + "RESOLVE_CONVERSATION": "대화 해결", + "SEND_TRANSCRIPT": "이메일 대화록 전송", + "SNOOZE_CONVERSATION": "대화 일시 중지", + "UNTIL_NEXT_REPLY": "다음 답장까지", + "UNTIL_NEXT_WEEK": "다음 주까지", + "UNTIL_TOMORROW": "내일까지", + "UNTIL_NEXT_MONTH": "다음 달까지", + "AN_HOUR_FROM_NOW": "1시간 후까지", + "UNTIL_CUSTOM_TIME": "사용자 지정...", + "CHANGE_APPEARANCE": "외관 변경", + "LIGHT_MODE": "라이트", + "DARK_MODE": "다크", + "SYSTEM_MODE": "시스템", + "SNOOZE_NOTIFICATION": "알림 일시 중지" + }, + "SNOOZE_PLACEHOLDER": "시간을 입력하세요. 예: 내일, 2시간 후, 다음 금요일, 1월 15일..." }, "DASHBOARD_APPS": { - "LOADING_MESSAGE": "Loading Dashboard App..." + "LOADING_MESSAGE": "대시보드 앱을 불러오는 중..." }, "COMMON": { - "OR": "Or", + "OR": "또는", "CLICK_HERE": "여기를 클릭하세요" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json index 2ed7e8812..7bd1bea36 100644 --- a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json @@ -1,622 +1,622 @@ { "HELP_CENTER": { - "TITLE": "Help Center", + "TITLE": "도움말 센터", "NEW_PAGE": { - "DESCRIPTION": "Create self-service help center portals for your customers. Help them find answers quickly, without waiting. Streamline inquiries, boost agent efficiency, and elevate customer support.", - "CREATE_PORTAL_BUTTON": "Create Portal" + "DESCRIPTION": "고객을 위한 셀프 서비스 도움말 센터 포털을 생성하십시오. 고객이 대기 없이 빠르게 답변을 찾을 수 있도록 도와줍니다. 문의를 간소화하고 에이전트 효율성을 높이며 고객 지원을 향상시킵니다.", + "CREATE_PORTAL_BUTTON": "포털 만들기" }, "HEADER": { - "FILTER": "Filter by", - "SORT": "Sort by", - "LOCALE": "Locale", + "FILTER": "필터", + "SORT": "정렬", + "LOCALE": "로케일", "SETTINGS_BUTTON": "설정", - "NEW_BUTTON": "New Article", + "NEW_BUTTON": "새 게시물", "DROPDOWN_OPTIONS": { - "PUBLISHED": "Published", - "DRAFT": "Draft", - "ARCHIVED": "Archived" + "PUBLISHED": "게시됨", + "DRAFT": "임시 저장", + "ARCHIVED": "보관됨" }, "TITLES": { - "ALL_ARTICLES": "All Articles", - "MINE": "My Articles", - "DRAFT": "Draft Articles", - "ARCHIVED": "Archived Articles" + "ALL_ARTICLES": "모든 게시물", + "MINE": "내 게시물", + "DRAFT": "임시 저장 게시물", + "ARCHIVED": "보관된 게시물" }, "LOCALE_SELECT": { - "TITLE": "Select locale", - "PLACEHOLDER": "Select locale", - "NO_RESULT": "No locale found", - "SEARCH_PLACEHOLDER": "Search locale" + "TITLE": "로케일 선택", + "PLACEHOLDER": "로케일 선택", + "NO_RESULT": "로케일을 찾을 수 없습니다", + "SEARCH_PLACEHOLDER": "로케일 검색" } }, "EDIT_HEADER": { - "ALL_ARTICLES": "All Articles", - "PUBLISH_BUTTON": "Publish", - "MOVE_TO_ARCHIVE_BUTTON": "Move to archived", - "PREVIEW": "Preview", - "ADD_TRANSLATION": "Add translation", - "OPEN_SIDEBAR": "Open sidebar", - "CLOSE_SIDEBAR": "Close sidebar", - "SAVING": "Saving...", - "SAVED": "Saved" + "ALL_ARTICLES": "모든 게시물", + "PUBLISH_BUTTON": "게시", + "MOVE_TO_ARCHIVE_BUTTON": "보관함으로 이동", + "PREVIEW": "미리보기", + "ADD_TRANSLATION": "번역 추가", + "OPEN_SIDEBAR": "사이드바 열기", + "CLOSE_SIDEBAR": "사이드바 닫기", + "SAVING": "저장 중...", + "SAVED": "저장됨" }, "ARTICLE_EDITOR": { "IMAGE_UPLOAD": { "TITLE": "이미지 업로드", "UPLOADING": "업로드 중...", - "SUCCESS": "Image uploaded successfully", - "ERROR": "Error while uploading image", - "UN_AUTHORIZED_ERROR": "You are not authorized to upload images", - "ERROR_FILE_SIZE": "Image size should be less than {size}MB", - "ERROR_FILE_FORMAT": "Image format should be jpg, jpeg or png", - "ERROR_FILE_DIMENSIONS": "Image dimensions should be less than 2000 x 2000" + "SUCCESS": "이미지가 성공적으로 업로드되었습니다", + "ERROR": "이미지 업로드 중 오류가 발생했습니다", + "UN_AUTHORIZED_ERROR": "이미지를 업로드할 권한이 없습니다", + "ERROR_FILE_SIZE": "이미지 크기는 {size}MB 미만이어야 합니다", + "ERROR_FILE_FORMAT": "이미지 형식은 jpg, jpeg 또는 png여야 합니다", + "ERROR_FILE_DIMENSIONS": "이미지 크기는 2000 x 2000 미만이어야 합니다" } }, "ARTICLE_SETTINGS": { - "TITLE": "Article Settings", + "TITLE": "게시물 설정", "FORM": { "CATEGORY": { - "LABEL": "Category", - "TITLE": "Select category", - "PLACEHOLDER": "Select category", - "NO_RESULT": "No category found", - "SEARCH_PLACEHOLDER": "Search category" + "LABEL": "카테고리", + "TITLE": "카테고리 선택", + "PLACEHOLDER": "카테고리 선택", + "NO_RESULT": "카테고리를 찾을 수 없습니다", + "SEARCH_PLACEHOLDER": "카테고리 검색" }, "AUTHOR": { - "LABEL": "Author", - "TITLE": "Select author", - "PLACEHOLDER": "Select author", - "NO_RESULT": "No authors found", - "SEARCH_PLACEHOLDER": "Search author" + "LABEL": "작성자", + "TITLE": "작성자 선택", + "PLACEHOLDER": "작성자 선택", + "NO_RESULT": "작성자를 찾을 수 없습니다", + "SEARCH_PLACEHOLDER": "작성자 검색" }, "META_TITLE": { - "LABEL": "Meta title", - "PLACEHOLDER": "Add a meta title" + "LABEL": "메타 제목", + "PLACEHOLDER": "메타 제목을 추가하십시오" }, "META_DESCRIPTION": { - "LABEL": "Meta description", - "PLACEHOLDER": "Add your meta description for better SEO results..." + "LABEL": "메타 설명", + "PLACEHOLDER": "더 나은 SEO 결과를 위해 메타 설명을 추가하십시오..." }, "META_TAGS": { - "LABEL": "Meta tags", - "PLACEHOLDER": "Add meta tags separated by comma..." + "LABEL": "메타 태그", + "PLACEHOLDER": "쉼표로 구분하여 메타 태그를 추가하십시오..." } }, "BUTTONS": { - "ARCHIVE": "Archive article", - "DELETE": "Delete article" + "ARCHIVE": "게시물 보관", + "DELETE": "게시물 삭제" } }, "ARTICLE_SEARCH_RESULT": { - "UNCATEGORIZED": "Uncategorized", - "SEARCH_RESULTS": "Search results for {query}", - "EMPTY_TEXT": "Search for articles to insert into replies.", + "UNCATEGORIZED": "미분류", + "SEARCH_RESULTS": "{query}에 대한 검색 결과", + "EMPTY_TEXT": "답장에 삽입할 게시물을 검색하십시오.", "SEARCH_LOADER": "검색중...", - "INSERT_ARTICLE": "Insert", - "NO_RESULT": "No articles found", - "COPY_LINK": "Copy article link to clipboard", - "OPEN_LINK": "Open article in new tab", - "PREVIEW_LINK": "Preview article" + "INSERT_ARTICLE": "삽입", + "NO_RESULT": "게시물을 찾을 수 없습니다", + "COPY_LINK": "게시물 링크를 클립보드에 복사", + "OPEN_LINK": "새 탭에서 게시물 열기", + "PREVIEW_LINK": "게시물 미리보기" }, "PORTAL": { - "HEADER": "Portals", - "DEFAULT": "Default", - "NEW_BUTTON": "New Portal", - "ACTIVE_BADGE": "active", - "CHOOSE_LOCALE_LABEL": "Choose a locale", - "LOADING_MESSAGE": "Loading portals...", - "ARTICLES_LABEL": "articles", - "NO_PORTALS_MESSAGE": "There are no available portals", - "ADD_NEW_LOCALE": "Add a new locale", + "HEADER": "포털", + "DEFAULT": "기본값", + "NEW_BUTTON": "새 포털", + "ACTIVE_BADGE": "활성", + "CHOOSE_LOCALE_LABEL": "로케일 선택", + "LOADING_MESSAGE": "포털을 불러오는 중...", + "ARTICLES_LABEL": "게시물", + "NO_PORTALS_MESSAGE": "사용 가능한 포털이 없습니다", + "ADD_NEW_LOCALE": "새 로케일 추가", "POPOVER": { - "TITLE": "Portals", - "PORTAL_SETTINGS": "Portal settings", - "SUBTITLE": "You have multiple portals and can have different locales for each portal.", + "TITLE": "포털", + "PORTAL_SETTINGS": "포털 설정", + "SUBTITLE": "여러 포털이 있으며 각 포털에 대해 다른 로케일을 사용할 수 있습니다.", "CANCEL_BUTTON_LABEL": "취소", - "CHOOSE_LOCALE_BUTTON": "Choose Locale" + "CHOOSE_LOCALE_BUTTON": "로케일 선택" }, "PORTAL_SETTINGS": { "LIST_ITEM": { "HEADER": { - "COUNT_LABEL": "articles", - "ADD": "Add locale", - "VISIT": "Visit site", + "COUNT_LABEL": "게시물", + "ADD": "로케일 추가", + "VISIT": "사이트 방문", "SETTINGS": "설정", "DELETE": "삭제" }, "PORTAL_CONFIG": { - "TITLE": "Portal Configurations", + "TITLE": "포털 설정", "ITEMS": { "NAME": "이름", - "DOMAIN": "Custom domain", - "SLUG": "Slug", - "TITLE": "Portal title", - "THEME": "Theme color", - "SUB_TEXT": "Portal sub text" + "DOMAIN": "사용자 지정 도메인", + "SLUG": "슬러그", + "TITLE": "포털 제목", + "THEME": "테마 색상", + "SUB_TEXT": "포털 부제" } }, "AVAILABLE_LOCALES": { - "TITLE": "Available locales", + "TITLE": "사용 가능한 로케일", "TABLE": { - "NAME": "Locale name", - "CODE": "Locale code", - "ARTICLE_COUNT": "No. of articles", - "CATEGORIES": "No. of categories", - "SWAP": "Swap", + "NAME": "로케일 이름", + "CODE": "로케일 코드", + "ARTICLE_COUNT": "게시물 수", + "CATEGORIES": "카테고리 수", + "SWAP": "교환", "DELETE": "삭제", - "DEFAULT_LOCALE": "Default" + "DEFAULT_LOCALE": "기본값" } } }, "DELETE_PORTAL": { - "TITLE": "Delete portal", - "MESSAGE": "Are you sure you want to delete this portal", - "YES": "Yes, delete portal", - "NO": "No, keep portal", + "TITLE": "포털 삭제", + "MESSAGE": "이 포털을 삭제하시겠습니까?", + "YES": "예, 포털을 삭제합니다", + "NO": "아니요, 포털을 유지합니다", "API": { - "DELETE_SUCCESS": "Portal deleted successfully", - "DELETE_ERROR": "Error while deleting portal" + "DELETE_SUCCESS": "포털이 성공적으로 삭제되었습니다", + "DELETE_ERROR": "포털 삭제 중 오류가 발생했습니다" } }, "SEND_CNAME_INSTRUCTIONS": { "API": { - "SUCCESS_MESSAGE": "CNAME instructions sent successfully", - "ERROR_MESSAGE": "Error while sending CNAME instructions" + "SUCCESS_MESSAGE": "CNAME 안내가 성공적으로 전송되었습니다", + "ERROR_MESSAGE": "CNAME 안내 전송 중 오류가 발생했습니다" } } }, "EDIT": { - "HEADER_TEXT": "Edit portal", + "HEADER_TEXT": "포털 수정", "TABS": { "BASIC_SETTINGS": { - "TITLE": "Basic information" + "TITLE": "기본 정보" }, "CUSTOMIZATION_SETTINGS": { - "TITLE": "Portal customization" + "TITLE": "포털 사용자 지정" }, "CATEGORY_SETTINGS": { - "TITLE": "Categories" + "TITLE": "카테고리" }, "LOCALE_SETTINGS": { - "TITLE": "Locales" + "TITLE": "로케일" } }, "CATEGORIES": { - "TITLE": "Categories in", - "NEW_CATEGORY": "New category", + "TITLE": "카테고리", + "NEW_CATEGORY": "새 카테고리", "TABLE": { "NAME": "이름", - "DESCRIPTION": "내용", - "LOCALE": "Locale", - "ARTICLE_COUNT": "No. of articles", + "DESCRIPTION": "설명", + "LOCALE": "로케일", + "ARTICLE_COUNT": "게시물 수", "ACTION_BUTTON": { - "EDIT": "Edit category", - "DELETE": "Delete category" + "EDIT": "카테고리 수정", + "DELETE": "카테고리 삭제" }, - "EMPTY_TEXT": "No categories found" + "EMPTY_TEXT": "카테고리를 찾을 수 없습니다" } }, "EDIT_BASIC_INFO": { - "BUTTON_TEXT": "Update basic settings" + "BUTTON_TEXT": "기본 설정 업데이트" } }, "ADD": { "CREATE_FLOW": { "BASIC": { - "TITLE": "Help center information", - "BODY": "Basic information about portal" + "TITLE": "도움말 센터 정보", + "BODY": "포털에 대한 기본 정보" }, "CUSTOMIZATION": { - "TITLE": "Help center customization", - "BODY": "Customize portal" + "TITLE": "도움말 센터 사용자 지정", + "BODY": "포털 사용자 지정" }, "FINISH": { "TITLE": "Voila! 🎉", - "BODY": "You're all set!" + "BODY": "모든 설정이 완료되었습니다!" } }, "CREATE_FLOW_PAGE": { "BACK_BUTTON": "뒤로", "BASIC_SETTINGS_PAGE": { - "HEADER": "Create Portal", - "TITLE": "Help center information", - "CREATE_BASIC_SETTING_BUTTON": "Create portal basic settings" + "HEADER": "포털 만들기", + "TITLE": "도움말 센터 정보", + "CREATE_BASIC_SETTING_BUTTON": "포털 기본 설정 만들기" }, "CUSTOMIZATION_PAGE": { - "HEADER": "Portal customisation", - "TITLE": "Help center customization", - "UPDATE_PORTAL_BUTTON": "Update portal settings" + "HEADER": "포털 사용자 지정", + "TITLE": "도움말 센터 사용자 지정", + "UPDATE_PORTAL_BUTTON": "포털 설정 업데이트" }, "FINISH_PAGE": { - "TITLE": "Voila!🎉 You're all set up!", - "MESSAGE": "You can now see this created portal on your all portals page.", - "FINISH": "Go to all portals page" + "TITLE": "Voila!🎉 모든 설정이 완료되었습니다!", + "MESSAGE": "이제 모든 포털 페이지에서 생성된 포털을 확인할 수 있습니다.", + "FINISH": "모든 포털 페이지로 이동" } }, "LOGO": { - "LABEL": "Logo", - "UPLOAD_BUTTON": "Upload logo", - "HELP_TEXT": "This logo will be displayed on the portal header.", - "IMAGE_UPLOAD_SUCCESS": "Logo uploaded successfully", - "IMAGE_UPLOAD_ERROR": "Logo deleted successfully", - "IMAGE_DELETE_ERROR": "Error while deleting logo" + "LABEL": "로고", + "UPLOAD_BUTTON": "로고 업로드", + "HELP_TEXT": "이 로고는 포털 헤더에 표시됩니다.", + "IMAGE_UPLOAD_SUCCESS": "로고가 성공적으로 업로드되었습니다", + "IMAGE_UPLOAD_ERROR": "로고가 성공적으로 삭제되었습니다", + "IMAGE_DELETE_ERROR": "로고 삭제 중 오류가 발생했습니다" }, "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Portal name", - "HELP_TEXT": "The name will be used in the public facing portal internally.", + "PLACEHOLDER": "포털 이름", + "HELP_TEXT": "이 이름은 내부적으로 공개 포털에 사용됩니다.", "ERROR": "이름이 필요합니다" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Portal slug for urls", - "ERROR": "Slug is required" + "LABEL": "슬러그", + "PLACEHOLDER": "URL용 포털 슬러그", + "ERROR": "슬러그가 필요합니다" }, "DOMAIN": { - "LABEL": "Custom Domain", - "PLACEHOLDER": "Portal custom domain", - "HELP_TEXT": "Add only If you want to use a custom domain for your portals. Eg: {exampleURL}", - "ERROR": "Enter a valid domain URL" + "LABEL": "사용자 지정 도메인", + "PLACEHOLDER": "포털 사용자 지정 도메인", + "HELP_TEXT": "포털에 사용자 지정 도메인을 사용하려는 경우에만 추가하십시오. 예: {exampleURL}", + "ERROR": "유효한 도메인 URL을 입력하십시오" }, "HOME_PAGE_LINK": { - "LABEL": "Home Page Link", - "PLACEHOLDER": "Portal home page link", - "HELP_TEXT": "The link used to return from the portal to the home page. Eg: {exampleURL}", - "ERROR": "Enter a valid home page URL" + "LABEL": "홈페이지 링크", + "PLACEHOLDER": "포털 홈페이지 링크", + "HELP_TEXT": "포털에서 홈페이지로 돌아가는 데 사용되는 링크입니다. 예: {exampleURL}", + "ERROR": "유효한 홈페이지 URL을 입력하십시오" }, "THEME_COLOR": { - "LABEL": "Portal theme color", - "HELP_TEXT": "This color will show as the theme color for the portal." + "LABEL": "포털 테마 색상", + "HELP_TEXT": "이 색상이 포털의 테마 색상으로 표시됩니다." }, "PAGE_TITLE": { - "LABEL": "Page Title", - "PLACEHOLDER": "Portal page title", - "HELP_TEXT": "The page title will be used in the public facing portal.", - "ERROR": "Page title is required" + "LABEL": "페이지 제목", + "PLACEHOLDER": "포털 페이지 제목", + "HELP_TEXT": "페이지 제목은 공개 포털에서 사용됩니다.", + "ERROR": "페이지 제목이 필요합니다" }, "HEADER_TEXT": { - "LABEL": "Header Text", - "PLACEHOLDER": "Portal header text", - "HELP_TEXT": "The Portal header text will be used in the public facing portal.", - "ERROR": "Portal header text is required" + "LABEL": "헤더 텍스트", + "PLACEHOLDER": "포털 헤더 텍스트", + "HELP_TEXT": "포털 헤더 텍스트는 공개 포털에서 사용됩니다.", + "ERROR": "포털 헤더 텍스트가 필요합니다" }, "API": { - "SUCCESS_MESSAGE_FOR_BASIC": "Portal created successfully.", - "ERROR_MESSAGE_FOR_BASIC": "Couldn't create the portal. Try again.", - "SUCCESS_MESSAGE_FOR_UPDATE": "Portal updated successfully.", - "ERROR_MESSAGE_FOR_UPDATE": "Couldn't update the portal. Try again." + "SUCCESS_MESSAGE_FOR_BASIC": "포털이 성공적으로 생성되었습니다.", + "ERROR_MESSAGE_FOR_BASIC": "포털을 만들 수 없습니다. 다시 시도하십시오.", + "SUCCESS_MESSAGE_FOR_UPDATE": "포털이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE_FOR_UPDATE": "포털을 업데이트할 수 없습니다. 다시 시도하십시오." } }, "ADD_LOCALE": { - "TITLE": "Add a new locale", - "SUB_TITLE": "This adds a new locale to your available translation list.", - "PORTAL": "Portal", + "TITLE": "새 로케일 추가", + "SUB_TITLE": "사용 가능한 번역 목록에 새 로케일을 추가합니다.", + "PORTAL": "포털", "LOCALE": { - "LABEL": "Locale", - "PLACEHOLDER": "Choose a locale", - "ERROR": "Locale is required" + "LABEL": "로케일", + "PLACEHOLDER": "로케일을 선택하십시오", + "ERROR": "로케일이 필요합니다" }, "BUTTONS": { - "CREATE": "Create locale", + "CREATE": "로케일 만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Locale added successfully", - "ERROR_MESSAGE": "Unable to add locale. Try again." + "SUCCESS_MESSAGE": "로케일이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "로케일을 추가할 수 없습니다. 다시 시도하십시오." } }, "CHANGE_DEFAULT_LOCALE": { "API": { - "SUCCESS_MESSAGE": "Default locale updated successfully", - "ERROR_MESSAGE": "Unable to update default locale. Try again." + "SUCCESS_MESSAGE": "기본 로케일이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "기본 로케일을 업데이트할 수 없습니다. 다시 시도하십시오." } }, "DELETE_LOCALE": { "API": { - "SUCCESS_MESSAGE": "Locale removed from portal successfully", - "ERROR_MESSAGE": "Unable to remove locale from portal. Try again." + "SUCCESS_MESSAGE": "포털에서 로케일이 성공적으로 제거되었습니다", + "ERROR_MESSAGE": "포털에서 로케일을 제거할 수 없습니다. 다시 시도하십시오." } } }, "TABLE": { - "LOADING_MESSAGE": "Loading articles...", - "404": "No articles matches your search 🔍", - "NO_ARTICLES": "There are no available articles", + "LOADING_MESSAGE": "게시물을 불러오는 중...", + "404": "검색과 일치하는 게시물이 없습니다 🔍", + "NO_ARTICLES": "사용 가능한 게시물이 없습니다", "HEADERS": { - "TITLE": "Title", - "CATEGORY": "Category", - "READ_COUNT": "Views", + "TITLE": "제목", + "CATEGORY": "카테고리", + "READ_COUNT": "조회수", "STATUS": "상태", - "LAST_EDITED": "Last edited" + "LAST_EDITED": "마지막 수정" }, "COLUMNS": { - "BY": "by", - "AUTHOR_NOT_AVAILABLE": "Author is not available" + "BY": "작성자", + "AUTHOR_NOT_AVAILABLE": "작성자를 사용할 수 없습니다" } }, "EDIT_ARTICLE": { - "LOADING": "Loading article...", - "TITLE_PLACEHOLDER": "Article title goes here", - "CONTENT_PLACEHOLDER": "Write your article here", + "LOADING": "게시물을 불러오는 중...", + "TITLE_PLACEHOLDER": "게시물 제목을 입력하십시오", + "CONTENT_PLACEHOLDER": "게시물을 작성하십시오", "API": { - "ERROR": "Error while saving article" + "ERROR": "게시물 저장 중 오류가 발생했습니다" } }, "PUBLISH_ARTICLE": { "API": { - "ERROR": "Error while publishing article", - "SUCCESS": "Article published successfully" + "ERROR": "게시물 게시 중 오류가 발생했습니다", + "SUCCESS": "게시물이 성공적으로 게시되었습니다" } }, "ARCHIVE_ARTICLE": { "API": { - "ERROR": "Error while archiving article", - "SUCCESS": "Article archived successfully" + "ERROR": "게시물 보관 중 오류가 발생했습니다", + "SUCCESS": "게시물이 성공적으로 보관되었습니다" } }, "DRAFT_ARTICLE": { "API": { - "ERROR": "Error while drafting article", - "SUCCESS": "Article drafted successfully" + "ERROR": "게시물 임시 저장 중 오류가 발생했습니다", + "SUCCESS": "게시물이 성공적으로 임시 저장되었습니다" } }, "DELETE_ARTICLE": { "MODAL": { "CONFIRM": { "TITLE": "삭제 확인", - "MESSAGE": "Are you sure to delete the article?", - "YES": "Yes, Delete", + "MESSAGE": "게시물을 삭제하시겠습니까?", + "YES": "예, 삭제합니다", "NO": "아니요, 유지합니다." } }, "API": { - "SUCCESS_MESSAGE": "Article deleted successfully", - "ERROR_MESSAGE": "Error while deleting article" + "SUCCESS_MESSAGE": "게시물이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "게시물 삭제 중 오류가 발생했습니다" } }, "CREATE_ARTICLE": { - "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" + "ERROR_MESSAGE": "게시물 제목과 내용을 추가해야 설정을 업데이트할 수 있습니다" }, "SIDEBAR": { "SEARCH": { - "PLACEHOLDER": "Search for articles" + "PLACEHOLDER": "게시물 검색" } }, "CATEGORY": { "ADD": { - "TITLE": "Create a category", - "SUB_TITLE": "The category will be used in the public facing portal to categorize articles.", - "PORTAL": "Portal", - "LOCALE": "Locale", + "TITLE": "카테고리 만들기", + "SUB_TITLE": "카테고리는 공개 포털에서 게시물을 분류하는 데 사용됩니다.", + "PORTAL": "포털", + "LOCALE": "로케일", "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Category name", - "HELP_TEXT": "The category name and icon will be used in the public facing portal to categorize articles.", + "PLACEHOLDER": "카테고리 이름", + "HELP_TEXT": "카테고리 이름과 아이콘은 공개 포털에서 게시물을 분류하는 데 사용됩니다.", "ERROR": "이름이 필요합니다" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", + "LABEL": "슬러그", + "PLACEHOLDER": "URL용 카테고리 슬러그", "HELP_TEXT": "app.chatwoot.com/hc/my-portal/en-US/categories/my-slug", - "ERROR": "Slug is required" + "ERROR": "슬러그가 필요합니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Give a short description about the category.", + "LABEL": "설명", + "PLACEHOLDER": "카테고리에 대한 간단한 설명을 입력하십시오.", "ERROR": "설명이 필요합니다" }, "BUTTONS": { - "CREATE": "Create category", + "CREATE": "카테고리 만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Category created successfully", - "ERROR_MESSAGE": "Unable to create category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "카테고리를 생성할 수 없습니다" } }, "EDIT": { - "TITLE": "Edit a category", - "SUB_TITLE": "Editing a category will update the category in the public facing portal.", - "PORTAL": "Portal", - "LOCALE": "Locale", + "TITLE": "카테고리 수정", + "SUB_TITLE": "카테고리를 수정하면 공개 포털의 카테고리가 업데이트됩니다.", + "PORTAL": "포털", + "LOCALE": "로케일", "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Category name", - "HELP_TEXT": "The category name and icon will be used in the public facing portal to categorize articles.", + "PLACEHOLDER": "카테고리 이름", + "HELP_TEXT": "카테고리 이름과 아이콘은 공개 포털에서 게시물을 분류하는 데 사용됩니다.", "ERROR": "이름이 필요합니다" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", + "LABEL": "슬러그", + "PLACEHOLDER": "URL용 카테고리 슬러그", "HELP_TEXT": "app.chatwoot.com/hc/my-portal/en-US/categories/my-slug", - "ERROR": "Slug is required" + "ERROR": "슬러그가 필요합니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Give a short description about the category.", + "LABEL": "설명", + "PLACEHOLDER": "카테고리에 대한 간단한 설명을 입력하십시오.", "ERROR": "설명이 필요합니다" }, "BUTTONS": { - "CREATE": "Update category", + "CREATE": "카테고리 업데이트", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Category updated successfully", - "ERROR_MESSAGE": "Unable to update category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "카테고리를 업데이트할 수 없습니다" } }, "DELETE": { "API": { - "SUCCESS_MESSAGE": "Category deleted successfully", - "ERROR_MESSAGE": "Unable to delete category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "카테고리를 삭제할 수 없습니다" } } }, "ARTICLE_SEARCH": { - "TITLE": "Search articles", - "PLACEHOLDER": "Search articles", - "NO_RESULT": "No articles found", + "TITLE": "게시물 검색", + "PLACEHOLDER": "게시물 검색", + "NO_RESULT": "게시물을 찾을 수 없습니다", "SEARCHING": "검색중...", "SEARCH_BUTTON": "검색", - "INSERT_ARTICLE": "Insert link", - "IFRAME_ERROR": "URL is empty or invalid. Unable to display content.", - "OPEN_ARTICLE_SEARCH": "Insert article from Help Center", - "SUCCESS_ARTICLE_INSERTED": "Article inserted successfully", - "PREVIEW_LINK": "Preview article", + "INSERT_ARTICLE": "링크 삽입", + "IFRAME_ERROR": "URL이 비어 있거나 유효하지 않습니다. 콘텐츠를 표시할 수 없습니다.", + "OPEN_ARTICLE_SEARCH": "도움말 센터에서 게시물 삽입", + "SUCCESS_ARTICLE_INSERTED": "게시물이 성공적으로 삽입되었습니다", + "PREVIEW_LINK": "게시물 미리보기", "CANCEL": "닫기", "BACK": "뒤로", - "BACK_RESULTS": "Back to results" + "BACK_RESULTS": "결과로 돌아가기" }, "UPGRADE_PAGE": { - "TITLE": "Help Center", - "DESCRIPTION": "Create user-friendly self-service portals. Help your users to access the articles and get support 24/7. Upgrade your subscription to enable this feature.", - "SELF_HOSTED_DESCRIPTION": "Create user-friendly self-service portals. Help your users to access the articles and get support 24/7. Please contact your administrator to enable this feature.", + "TITLE": "도움말 센터", + "DESCRIPTION": "사용자 친화적인 셀프 서비스 포털을 만드십시오. 사용자가 게시물에 접근하고 연중무휴 지원을 받을 수 있도록 도와줍니다. 이 기능을 활성화하려면 구독을 업그레이드하십시오.", + "SELF_HOSTED_DESCRIPTION": "사용자 친화적인 셀프 서비스 포털을 만드십시오. 사용자가 게시물에 접근하고 연중무휴 지원을 받을 수 있도록 도와줍니다. 이 기능을 활성화하려면 관리자에게 문의하십시오.", "BUTTON": { - "LEARN_MORE": "Learn more", - "UPGRADE": "Upgrade" + "LEARN_MORE": "자세히 알아보기", + "UPGRADE": "업그레이드" }, "FEATURES": { "PORTALS": { - "TITLE": "Multiple portals", - "DESCRIPTION": "Create multiple help center portals for different products using the same account." + "TITLE": "다중 포털", + "DESCRIPTION": "동일한 계정을 사용하여 다양한 제품에 대한 여러 도움말 센터 포털을 만들 수 있습니다." }, "LOCALES": { - "TITLE": "Full support for locales", - "DESCRIPTION": "Localize the portal in your language. We support all locales and allow translations for every article." + "TITLE": "로케일 전체 지원", + "DESCRIPTION": "포털을 원하는 언어로 현지화할 수 있습니다. 모든 로케일을 지원하며 모든 게시물에 대해 번역을 허용합니다." }, "SEO": { - "TITLE": "SEO-friendly design", - "DESCRIPTION": "Customize your meta tags to improve your visibility on search engines with our SEO-friendly pages." + "TITLE": "SEO 친화적 디자인", + "DESCRIPTION": "SEO 친화적 페이지를 통해 메타 태그를 사용자 지정하여 검색 엔진에서의 가시성을 높이십시오." }, "API": { - "TITLE": "Full API support", - "DESCRIPTION": "Use the portal as a headless CMS with third party front-end frameworks using our APIs." + "TITLE": "전체 API 지원", + "DESCRIPTION": "API를 사용하여 타사 프론트엔드 프레임워크와 함께 포털을 헤드리스 CMS로 사용하십시오." } } }, - "LOADING": "Loading...", + "LOADING": "불러오는 중...", "ARTICLES_PAGE": { "ARTICLE_CARD": { "CARD": { - "VIEWS": "{count} view | {count} views", + "VIEWS": "{count}회 조회 | {count}회 조회", "DROPDOWN_MENU": { - "PUBLISH": "Publish", - "DRAFT": "Draft", - "ARCHIVE": "Archive", + "PUBLISH": "게시", + "DRAFT": "임시 저장", + "ARCHIVE": "보관", "DELETE": "삭제" }, "STATUS": { - "DRAFT": "Draft", - "PUBLISHED": "Published", - "ARCHIVED": "Archived" + "DRAFT": "임시 저장", + "PUBLISHED": "게시됨", + "ARCHIVED": "보관됨" }, "CATEGORY": { - "UNCATEGORISED": "Uncategorised" + "UNCATEGORISED": "미분류" } } }, "ARTICLES_HEADER": { "TABS": { - "ALL": "All articles", + "ALL": "모든 게시물", "MINE": "나에게 할당", - "DRAFT": "Draft", - "PUBLISHED": "Published", - "ARCHIVED": "Archived" + "DRAFT": "임시 저장", + "PUBLISHED": "게시됨", + "ARCHIVED": "보관됨" }, "CATEGORY": { - "ALL": "All categories" + "ALL": "모든 카테고리" }, "LOCALE": { - "ALL": "All locales" + "ALL": "모든 로케일" }, - "NEW_ARTICLE": "New article" + "NEW_ARTICLE": "새 게시물" }, "EMPTY_STATE": { "ALL": { - "TITLE": "Write an article", - "SUBTITLE": "Write a rich article, let’s get started!", - "BUTTON_LABEL": "New article" + "TITLE": "게시물 작성", + "SUBTITLE": "풍부한 게시물을 작성해 보세요!", + "BUTTON_LABEL": "새 게시물" }, "MINE": { - "TITLE": "You haven't written any articles here", - "SUBTITLE": "All articles written by you show up here for quick access." + "TITLE": "아직 작성한 게시물이 없습니다", + "SUBTITLE": "작성한 모든 게시물이 여기에 빠른 액세스를 위해 표시됩니다." }, "DRAFT": { - "TITLE": "There are no articles in drafts", - "SUBTITLE": "Draft articles will appear here" + "TITLE": "임시 저장된 게시물이 없습니다", + "SUBTITLE": "임시 저장된 게시물이 여기에 표시됩니다" }, "PUBLISHED": { - "TITLE": "There are no published articles", - "SUBTITLE": "Published articles will appear here" + "TITLE": "게시된 게시물이 없습니다", + "SUBTITLE": "게시된 게시물이 여기에 표시됩니다" }, "ARCHIVED": { - "TITLE": "There are no articles in the archive", - "SUBTITLE": "Archived articles don't show up on the portal, you can use it to mark deprecated or outdated pages" + "TITLE": "보관된 게시물이 없습니다", + "SUBTITLE": "보관된 게시물은 포털에 표시되지 않으며, 더 이상 사용되지 않거나 오래된 페이지를 표시하는 데 사용할 수 있습니다" }, "CATEGORY": { - "TITLE": "There are no articles in this category", - "SUBTITLE": "Articles in this category will appear here" + "TITLE": "이 카테고리에 게시물이 없습니다", + "SUBTITLE": "이 카테고리의 게시물이 여기에 표시됩니다" } } }, "CATEGORY_PAGE": { "CATEGORY_HEADER": { - "NEW_CATEGORY": "New category", - "EDIT_CATEGORY": "Edit category", - "CATEGORIES_COUNT": "{n} category | {n} categories", + "NEW_CATEGORY": "새 카테고리", + "EDIT_CATEGORY": "카테고리 수정", + "CATEGORIES_COUNT": "{n}개 카테고리 | {n}개 카테고리", "BREADCRUMB": { - "CATEGORY_LOCALE": "Categories ({localeCode})", - "ACTIVE_CATEGORY": "{categoryName} ({categoryCount} articles) | {categoryName} ({categoryCount} article)" + "CATEGORY_LOCALE": "카테고리 ({localeCode})", + "ACTIVE_CATEGORY": "{categoryName} ({categoryCount}개 게시물) | {categoryName} ({categoryCount}개 게시물)" } }, "CATEGORY_EMPTY_STATE": { - "TITLE": "No categories found", - "SUBTITLE": "Categories will appear here. You can add a category by clicking the 'New Category' button." + "TITLE": "카테고리를 찾을 수 없습니다", + "SUBTITLE": "카테고리가 여기에 표시됩니다. '새 카테고리' 버튼을 클릭하여 카테고리를 추가할 수 있습니다." }, "CATEGORY_CARD": { - "ARTICLES_COUNT": "{count} article | {count} articles" + "ARTICLES_COUNT": "{count}개 게시물 | {count}개 게시물" }, "CATEGORY_DIALOG": { "CREATE": { "API": { - "SUCCESS_MESSAGE": "Category created successfully", - "ERROR_MESSAGE": "Unable to create category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "카테고리를 생성할 수 없습니다" } }, "EDIT": { "API": { - "SUCCESS_MESSAGE": "Category updated successfully", - "ERROR_MESSAGE": "Unable to update category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "카테고리를 업데이트할 수 없습니다" } }, "DELETE": { "API": { - "SUCCESS_MESSAGE": "Category deleted successfully", - "ERROR_MESSAGE": "Unable to delete category" + "SUCCESS_MESSAGE": "카테고리가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "카테고리를 삭제할 수 없습니다" } }, "HEADER": { - "CREATE": "Create category", - "EDIT": "Edit category", - "DESCRIPTION": "Editing a category will update the category in the public facing portal.", - "PORTAL": "Portal", - "LOCALE": "Locale" + "CREATE": "카테고리 만들기", + "EDIT": "카테고리 수정", + "DESCRIPTION": "카테고리를 수정하면 공개 포털의 카테고리가 업데이트됩니다.", + "PORTAL": "포털", + "LOCALE": "로케일" }, "FORM": { "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Category name", + "PLACEHOLDER": "카테고리 이름", "ERROR": "이름이 필요합니다" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", - "ERROR": "Slug is required", + "LABEL": "슬러그", + "PLACEHOLDER": "URL용 카테고리 슬러그", + "ERROR": "슬러그가 필요합니다", "HELP_TEXT": "app.chatwoot.com/hc/{portalSlug}/{localeCode}/categories/{categorySlug}" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Give a short description about the category.", + "LABEL": "설명", + "PLACEHOLDER": "카테고리에 대한 간단한 설명을 입력하십시오.", "ERROR": "설명이 필요합니다" } }, @@ -628,238 +628,248 @@ } }, "LOCALES_PAGE": { - "LOCALES_COUNT": "No locales available | {n} locale | {n} locales", - "NEW_LOCALE_BUTTON_TEXT": "New locale", + "LOCALES_COUNT": "사용 가능한 로케일 없음 | {n}개 로케일 | {n}개 로케일", + "NEW_LOCALE_BUTTON_TEXT": "새 로케일", "LOCALE_CARD": { - "ARTICLES_COUNT": "{count} article | {count} articles", - "CATEGORIES_COUNT": "{count} category | {count} categories", - "DEFAULT": "Default", + "ARTICLES_COUNT": "{count}개 게시물 | {count}개 게시물", + "CATEGORIES_COUNT": "{count}개 카테고리 | {count}개 카테고리", + "DEFAULT": "기본값", "DROPDOWN_MENU": { - "MAKE_DEFAULT": "Make default", + "MAKE_DEFAULT": "기본값으로 설정", "DELETE": "삭제" } }, "ADD_LOCALE_DIALOG": { - "TITLE": "Add a new locale", - "DESCRIPTION": "Select the language in which this article will be written. This will be added to your list of translations, and you can add more later.", + "TITLE": "새 로케일 추가", + "DESCRIPTION": "이 게시물이 작성될 언어를 선택하십시오. 번역 목록에 추가되며 나중에 더 추가할 수 있습니다.", "COMBOBOX": { - "PLACEHOLDER": "Select locale..." + "PLACEHOLDER": "로케일 선택..." }, "API": { - "SUCCESS_MESSAGE": "Locale added successfully", - "ERROR_MESSAGE": "Unable to add locale. Try again." + "SUCCESS_MESSAGE": "로케일이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "로케일을 추가할 수 없습니다. 다시 시도하십시오." } } }, "EDIT_ARTICLE_PAGE": { "HEADER": { "STATUS": { - "SAVING": "Saving...", - "SAVED": "Saved" + "SAVING": "저장 중...", + "SAVED": "저장됨" }, - "PREVIEW": "Preview", - "PUBLISH": "Publish", - "DRAFT": "Draft", - "ARCHIVE": "Archive", - "BACK_TO_ARTICLES": "Back to articles" + "PREVIEW": "미리보기", + "PUBLISH": "게시", + "DRAFT": "임시 저장", + "ARCHIVE": "보관", + "BACK_TO_ARTICLES": "게시물로 돌아가기" }, "EDIT_ARTICLE": { - "MORE_PROPERTIES": "More properties", + "MORE_PROPERTIES": "추가 속성", "UNCATEGORIZED": "카테고리가 지정되지 않음", - "EDITOR_PLACEHOLDER": "Write something..." + "EDITOR_PLACEHOLDER": "내용을 작성하십시오..." }, "ARTICLE_PROPERTIES": { - "ARTICLE_PROPERTIES": "Article properties", - "META_DESCRIPTION": "Meta description", - "META_DESCRIPTION_PLACEHOLDER": "Add meta description", - "META_TITLE": "Meta title", - "META_TITLE_PLACEHOLDER": "Add meta title", - "META_TAGS": "Meta tags", - "META_TAGS_PLACEHOLDER": "Add meta tags" + "ARTICLE_PROPERTIES": "게시물 속성", + "META_DESCRIPTION": "메타 설명", + "META_DESCRIPTION_PLACEHOLDER": "메타 설명 추가", + "META_TITLE": "메타 제목", + "META_TITLE_PLACEHOLDER": "메타 제목 추가", + "META_TAGS": "메타 태그", + "META_TAGS_PLACEHOLDER": "메타 태그 추가" }, "API": { - "ERROR": "Error while saving article" + "ERROR": "게시물 저장 중 오류가 발생했습니다" } }, "PORTAL_SWITCHER": { - "NEW_PORTAL": "New portal", - "PORTALS": "Portals", - "CREATE_PORTAL": "Create and manage multiple portals", + "NEW_PORTAL": "새 포털", + "PORTALS": "포털", + "CREATE_PORTAL": "여러 포털을 만들고 관리하십시오", "ARTICLES": "게시물", - "DOMAIN": "domain", - "PORTAL_NAME": "Portal name" + "DOMAIN": "도메인", + "PORTAL_NAME": "포털 이름" }, "CREATE_PORTAL_DIALOG": { - "TITLE": "Create new portal", - "DESCRIPTION": "Give your portal a name and create a user-friendly URL slug. You can modify both later in the settings.", + "TITLE": "새 포털 만들기", + "DESCRIPTION": "포털에 이름을 지정하고 사용자 친화적인 URL 슬러그를 만드십시오. 나중에 설정에서 둘 다 수정할 수 있습니다.", "CONFIRM_BUTTON_LABEL": "만들기", "NAME": { "LABEL": "이름", - "PLACEHOLDER": "User Guide | Chatwoot", - "MESSAGE": "Choose an name for your portal.", + "PLACEHOLDER": "사용자 가이드 | Chatwoot", + "MESSAGE": "포털의 이름을 선택하십시오.", "ERROR": "이름이 필요합니다" }, "SLUG": { - "LABEL": "Slug", + "LABEL": "슬러그", "PLACEHOLDER": "user-guide", - "ERROR": "Slug is required", - "FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide" + "ERROR": "슬러그가 필요합니다", + "FORMAT_ERROR": "유효한 슬러그를 입력하십시오. 예: user-guide" } }, "PORTAL_SETTINGS": { "FORM": { "AVATAR": { - "LABEL": "Logo", - "IMAGE_UPLOAD_ERROR": "Couldn't upload image! Try again", - "IMAGE_UPLOAD_SUCCESS": "Image added successfully. Please click on save changes to save the logo", - "IMAGE_DELETE_SUCCESS": "Logo deleted successfully", - "IMAGE_DELETE_ERROR": "Unable to delete logo", - "IMAGE_UPLOAD_SIZE_ERROR": "Image size should be less than {size}MB" + "LABEL": "로고", + "IMAGE_UPLOAD_ERROR": "이미지를 업로드할 수 없습니다! 다시 시도하십시오", + "IMAGE_UPLOAD_SUCCESS": "이미지가 성공적으로 추가되었습니다. 로고를 저장하려면 변경사항 저장을 클릭하십시오", + "IMAGE_DELETE_SUCCESS": "로고가 성공적으로 삭제되었습니다", + "IMAGE_DELETE_ERROR": "로고를 삭제할 수 없습니다", + "IMAGE_UPLOAD_SIZE_ERROR": "이미지 크기는 {size}MB 미만이어야 합니다" }, "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Portal name", + "PLACEHOLDER": "포털 이름", "ERROR": "이름이 필요합니다" }, "HEADER_TEXT": { - "LABEL": "Header text", - "PLACEHOLDER": "Portal header text" + "LABEL": "헤더 텍스트", + "PLACEHOLDER": "포털 헤더 텍스트" }, "PAGE_TITLE": { - "LABEL": "Page title", - "PLACEHOLDER": "Portal page title" + "LABEL": "페이지 제목", + "PLACEHOLDER": "포털 페이지 제목" }, "HOME_PAGE_LINK": { - "LABEL": "Home page link", - "PLACEHOLDER": "Portal home page link", - "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'." + "LABEL": "홈페이지 링크", + "PLACEHOLDER": "포털 홈페이지 링크", + "ERROR": "유효한 URL을 입력하십시오. 홈페이지 링크는 'http://' 또는 'https://'로 시작해야 합니다." }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Portal slug" + "LABEL": "슬러그", + "PLACEHOLDER": "포털 슬러그" }, "LIVE_CHAT_WIDGET": { - "LABEL": "Live chat widget", - "PLACEHOLDER": "Select live chat widget", - "HELP_TEXT": "Select a live chat widget that will appear on your help center", - "NONE_OPTION": "No widget" + "LABEL": "실시간 채팅 위젯", + "PLACEHOLDER": "실시간 채팅 위젯 선택", + "HELP_TEXT": "도움말 센터에 표시될 실시간 채팅 위젯을 선택하십시오", + "NONE_OPTION": "위젯 없음" }, "BRAND_COLOR": { - "LABEL": "Brand color" + "LABEL": "브랜드 색상" }, - "SAVE_CHANGES": "Save changes" + "SAVE_CHANGES": "변경사항 저장" }, "CONFIGURATION_FORM": { "CUSTOM_DOMAIN": { - "HEADER": "Custom domain", - "LABEL": "Custom domain:", - "DESCRIPTION": "You can host your portal on a custom domain. For instance, if your website is yourdomain.com and you want your portal available at docs.yourdomain.com, simply enter that in this field.", - "STATUS_DESCRIPTION": "Your custom portal will start working as soon as it is verified.", - "PLACEHOLDER": "Portal custom domain", + "HEADER": "사용자 지정 도메인", + "LABEL": "사용자 지정 도메인:", + "DESCRIPTION": "포털을 사용자 지정 도메인에서 호스팅할 수 있습니다. 예를 들어, 웹사이트가 yourdomain.com이고 포털을 docs.yourdomain.com에서 사용하려면 이 필드에 입력하십시오.", + "STATUS_DESCRIPTION": "사용자 지정 포털은 확인되는 즉시 작동합니다.", + "PLACEHOLDER": "포털 사용자 지정 도메인", "EDIT_BUTTON": "수정", - "ADD_BUTTON": "Add custom domain", + "ADD_BUTTON": "사용자 지정 도메인 추가", "STATUS": { - "LIVE": "Live", - "PENDING": "Awaiting verification", - "ERROR": "Verification failed" + "LIVE": "활성", + "PENDING": "확인 대기 중", + "ERROR": "확인 실패" }, "DIALOG": { - "ADD_HEADER": "Add custom domain", - "EDIT_HEADER": "Edit custom domain", - "ADD_CONFIRM_BUTTON_LABEL": "Add domain", - "EDIT_CONFIRM_BUTTON_LABEL": "Update domain", - "LABEL": "Custom domain", - "PLACEHOLDER": "Portal custom domain", - "ERROR": "Custom domain is required", - "FORMAT_ERROR": "Please enter a valid domain URL e.g. docs.yourdomain.com" + "ADD_HEADER": "사용자 지정 도메인 추가", + "EDIT_HEADER": "사용자 지정 도메인 수정", + "ADD_CONFIRM_BUTTON_LABEL": "도메인 추가", + "EDIT_CONFIRM_BUTTON_LABEL": "도메인 업데이트", + "LABEL": "사용자 지정 도메인", + "PLACEHOLDER": "포털 사용자 지정 도메인", + "ERROR": "사용자 지정 도메인이 필요합니다", + "FORMAT_ERROR": "유효한 도메인 URL을 입력하십시오. 예: docs.yourdomain.com" }, "DNS_CONFIGURATION_DIALOG": { - "HEADER": "DNS configuration", - "DESCRIPTION": "Log in to the account you have with your DNS provider, and add a CNAME record for subdomain pointing to chatwoot.help", - "COPY": "Successfully copied CNAME", + "HEADER": "DNS 설정", + "DESCRIPTION": "DNS 공급자 계정에 로그인하여 서브도메인에 대한 CNAME 레코드를 chatwoot.help로 가리키도록 추가하십시오", + "COPY": "CNAME이 성공적으로 복사되었습니다", "SEND_INSTRUCTIONS": { - "HEADER": "Send instructions", - "DESCRIPTION": "If you would prefer to have someone from your development team to handle this step, you can enter email address below, and we will send them the required instructions.", - "PLACEHOLDER": "Enter their email", - "ERROR": "Enter a valid email address", + "HEADER": "안내 전송", + "DESCRIPTION": "개발 팀의 담당자가 이 단계를 처리하도록 하려면 아래에 이메일 주소를 입력하시면 필요한 안내를 보내드립니다.", + "PLACEHOLDER": "이메일을 입력하십시오", + "ERROR": "유효한 이메일 주소를 입력하십시오", "SEND_BUTTON": "보내기" } } }, "DELETE_PORTAL": { - "BUTTON": "Delete {portalName}", - "HEADER": "Delete portal", - "DESCRIPTION": "Permanently delete this portal. This action is irreversible", + "BUTTON": "{portalName} 삭제", + "HEADER": "포털 삭제", + "DESCRIPTION": "이 포털을 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다", "DIALOG": { - "HEADER": "Sure you want to delete {portalName}?", - "DESCRIPTION": "This is a permanent action that cannot be reversed.", + "HEADER": "{portalName}을(를) 삭제하시겠습니까?", + "DESCRIPTION": "이 작업은 되돌릴 수 없는 영구적인 작업입니다.", "CONFIRM_BUTTON_LABEL": "삭제" } }, - "EDIT_CONFIGURATION": "Edit configuration" + "EDIT_CONFIGURATION": "설정 수정" }, "API": { "CREATE_PORTAL": { - "SUCCESS_MESSAGE": "Portal created successfully", - "ERROR_MESSAGE": "Unable to create portal" + "SUCCESS_MESSAGE": "포털이 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "포털을 생성할 수 없습니다" }, "UPDATE_PORTAL": { - "SUCCESS_MESSAGE": "Portal updated successfully", - "ERROR_MESSAGE": "Unable to update portal" + "SUCCESS_MESSAGE": "포털이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "포털을 업데이트할 수 없습니다" } } }, "PDF_UPLOAD": { - "TITLE": "Upload PDF Document", - "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI", - "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select", - "SELECT_FILE": "Select PDF File", - "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)", - "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...", + "TITLE": "PDF 문서 업로드", + "DESCRIPTION": "PDF 문서를 업로드하여 AI를 사용해 자동으로 FAQ를 생성합니다", + "DRAG_DROP_TEXT": "PDF 파일을 여기에 끌어다 놓거나 클릭하여 선택하십시오", + "SELECT_FILE": "PDF 파일 선택", + "ADDITIONAL_CONTEXT_LABEL": "추가 컨텍스트 (선택 사항)", + "ADDITIONAL_CONTEXT_PLACEHOLDER": "FAQ 생성을 위한 추가 컨텍스트 또는 지침을 제공하십시오...", "UPLOADING": "업로드 중...", - "UPLOAD": "Upload & Process", + "UPLOAD": "업로드 및 처리", "CANCEL": "취소", - "ERROR_INVALID_TYPE": "Please select a valid PDF file", - "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB", - "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again." + "ERROR_INVALID_TYPE": "유효한 PDF 파일을 선택하십시오", + "ERROR_FILE_TOO_LARGE": "파일 크기는 512MB 미만이어야 합니다", + "ERROR_UPLOAD_FAILED": "PDF 업로드에 실패했습니다. 다시 시도하십시오." }, "PDF_DOCUMENTS": { - "TITLE": "PDF Documents", - "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them", - "UPLOAD_PDF": "Upload PDF", - "UPLOAD_FIRST_PDF": "Upload your first PDF", - "UPLOADED_BY": "Uploaded by", - "GENERATE_FAQS": "Generate FAQs", - "GENERATING": "Generating...", - "CONFIRM_DELETE": "Are you sure you want to delete {filename}?", + "TITLE": "PDF 문서", + "DESCRIPTION": "업로드된 PDF 문서를 관리하고 FAQ를 생성합니다", + "UPLOAD_PDF": "PDF 업로드", + "UPLOAD_FIRST_PDF": "첫 번째 PDF를 업로드하십시오", + "UPLOADED_BY": "업로드한 사람", + "GENERATE_FAQS": "FAQ 생성", + "GENERATING": "생성 중...", + "CONFIRM_DELETE": "{filename}을(를) 삭제하시겠습니까?", "EMPTY_STATE": { - "TITLE": "No PDF documents yet", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI" + "TITLE": "아직 PDF 문서가 없습니다", + "DESCRIPTION": "PDF 문서를 업로드하여 AI를 사용해 자동으로 FAQ를 생성합니다" }, "STATUS": { - "UPLOADED": "Ready", - "PROCESSING": "Processing", - "PROCESSED": "Completed", - "FAILED": "Failed" + "UPLOADED": "준비됨", + "PROCESSING": "처리 중", + "PROCESSED": "완료됨", + "FAILED": "실패" } }, "CONTENT_GENERATION": { - "TITLE": "Content Generation", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI", - "UPLOAD_TITLE": "Upload PDF Document", - "DRAG_DROP": "Drag and drop your PDF file here, or click to select", - "SELECT_FILE": "Select PDF File", - "UPLOADING": "Processing document...", - "UPLOAD_SUCCESS": "Document processed successfully!", - "UPLOAD_ERROR": "Failed to upload document. Please try again.", - "INVALID_FILE_TYPE": "Please select a valid PDF file", - "FILE_TOO_LARGE": "File size must be less than 512MB", - "GENERATED_CONTENT": "Generated FAQ Content", - "PUBLISH_SELECTED": "Publish Selected", - "PUBLISHING": "Publishing...", - "FROM_DOCUMENT": "From document", - "NO_CONTENT": "No generated content available. Upload a PDF document to get started.", - "LOADING": "Loading generated content..." + "TITLE": "콘텐츠 생성", + "DESCRIPTION": "PDF 문서를 업로드하여 AI를 사용해 자동으로 FAQ 콘텐츠를 생성합니다", + "UPLOAD_TITLE": "PDF 문서 업로드", + "DRAG_DROP": "PDF 파일을 여기에 끌어다 놓거나 클릭하여 선택하십시오", + "SELECT_FILE": "PDF 파일 선택", + "UPLOADING": "문서 처리 중...", + "UPLOAD_SUCCESS": "문서가 성공적으로 처리되었습니다!", + "UPLOAD_ERROR": "문서 업로드에 실패했습니다. 다시 시도하십시오.", + "INVALID_FILE_TYPE": "유효한 PDF 파일을 선택하십시오", + "FILE_TOO_LARGE": "파일 크기는 512MB 미만이어야 합니다", + "GENERATED_CONTENT": "생성된 FAQ 콘텐츠", + "PUBLISH_SELECTED": "선택 항목 게시", + "PUBLISHING": "게시 중...", + "FROM_DOCUMENT": "문서에서", + "NO_CONTENT": "생성된 콘텐츠가 없습니다. PDF 문서를 업로드하여 시작하십시오.", + "LOADING": "생성된 콘텐츠를 불러오는 중..." + }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "문서 순서를 변경할 수 없습니다. 다시 시도하십시오." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "카테고리 순서를 변경할 수 없습니다. 다시 시도하십시오." + } } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/inbox.json b/app/javascript/dashboard/i18n/locale/ko/inbox.json index dc5c04757..83bb5ff30 100644 --- a/app/javascript/dashboard/i18n/locale/ko/inbox.json +++ b/app/javascript/dashboard/i18n/locale/ko/inbox.json @@ -1,94 +1,94 @@ { "INBOX": { "LIST": { - "TITLE": "My Inbox", - "DISPLAY_DROPDOWN": "Display", - "LOADING": "Fetching notifications", - "404": "There are no active notifications in this group.", - "NO_NOTIFICATIONS": "No notifications", - "NOTE": "Notifications from all subscribed inboxes", - "NO_MESSAGES_AVAILABLE": "Oops! Not able to fetch messages", - "SNOOZED_UNTIL": "Snoozed until", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week" + "TITLE": "내 받은 메시지함", + "DISPLAY_DROPDOWN": "표시", + "LOADING": "알림을 가져오는 중", + "404": "이 그룹에 활성 알림이 없습니다.", + "NO_NOTIFICATIONS": "알림 없음", + "NOTE": "구독한 모든 받은 메시지함의 알림", + "NO_MESSAGES_AVAILABLE": "메시지를 가져올 수 없습니다", + "SNOOZED_UNTIL": "일시 중지 기한", + "SNOOZED_UNTIL_TOMORROW": "내일까지 일시 중지", + "SNOOZED_UNTIL_NEXT_WEEK": "다음 주까지 일시 중지" }, "ACTION_HEADER": { - "SNOOZE": "Snooze notification", - "DELETE": "Delete notification", + "SNOOZE": "알림 일시 중지", + "DELETE": "알림 삭제", "BACK": "뒤로" }, "TYPES": { - "CONVERSATION_MENTION": "You have been mentioned in a conversation", - "CONVERSATION_CREATION": "New conversation created", - "CONVERSATION_ASSIGNMENT": "A conversation has been assigned to you", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "New message in an assigned conversation", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "New message in a conversation you are participating in", - "SLA_MISSED_FIRST_RESPONSE": "SLA target first response missed for conversation", - "SLA_MISSED_NEXT_RESPONSE": "SLA target next response missed for conversation", - "SLA_MISSED_RESOLUTION": "SLA target resolution missed for conversation" + "CONVERSATION_MENTION": "대화에서 멘션되었습니다", + "CONVERSATION_CREATION": "새 대화가 생성되었습니다", + "CONVERSATION_ASSIGNMENT": "대화가 배정되었습니다", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "배정된 대화에 새 메시지가 있습니다", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "참여 중인 대화에 새 메시지가 있습니다", + "SLA_MISSED_FIRST_RESPONSE": "대화에 대한 SLA 최초 응답 목표를 놓쳤습니다", + "SLA_MISSED_NEXT_RESPONSE": "대화에 대한 SLA 다음 응답 목표를 놓쳤습니다", + "SLA_MISSED_RESOLUTION": "대화에 대한 SLA 해결 목표를 놓쳤습니다" }, "TYPES_NEXT": { - "CONVERSATION_MENTION": "Mentioned", - "CONVERSATION_ASSIGNMENT": "Assigned to you", - "CONVERSATION_CREATION": "New Conversation", - "SLA_MISSED_FIRST_RESPONSE": "SLA breach", - "SLA_MISSED_NEXT_RESPONSE": "SLA breach", - "SLA_MISSED_RESOLUTION": "SLA breach", + "CONVERSATION_MENTION": "멘션됨", + "CONVERSATION_ASSIGNMENT": "배정됨", + "CONVERSATION_CREATION": "새 대화", + "SLA_MISSED_FIRST_RESPONSE": "SLA 위반", + "SLA_MISSED_NEXT_RESPONSE": "SLA 위반", + "SLA_MISSED_RESOLUTION": "SLA 위반", "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "새 메시지", "ASSIGNED_CONVERSATION_NEW_MESSAGE": "새 메시지", - "SNOOZED_UNTIL": "Snoozed for {time}", - "SNOOZED_ENDS": "Snooze ended" + "SNOOZED_UNTIL": "{time} 동안 일시 중지됨", + "SNOOZED_ENDS": "일시 중지 종료됨" }, "NO_CONTENT": "콘텐츠 이용 불가", "MENU_ITEM": { - "MARK_AS_READ": "Mark as read", - "MARK_AS_UNREAD": "Mark as unread", - "SNOOZE": "Snooze", + "MARK_AS_READ": "읽음으로 표시", + "MARK_AS_UNREAD": "읽지 않음으로 표시", + "SNOOZE": "일시 중지", "DELETE": "삭제", - "MARK_ALL_READ": "전부 읽음으로 바꾸기", - "DELETE_ALL": "Delete all", - "DELETE_ALL_READ": "Delete all read" + "MARK_ALL_READ": "전부 읽음으로 표시", + "DELETE_ALL": "전부 삭제", + "DELETE_ALL_READ": "읽은 항목 전부 삭제" }, "DISPLAY_MENU": { - "SORT": "Sort", - "DISPLAY": "Display :", + "SORT": "정렬", + "DISPLAY": "표시 :", "SORT_OPTIONS": { - "NEWEST": "Newest", - "OLDEST": "Oldest", - "PRIORITY": "Priority" + "NEWEST": "최신순", + "OLDEST": "오래된 순", + "PRIORITY": "우선순위" }, "DISPLAY_OPTIONS": { "SNOOZED": "일시 중지됨", - "READ": "읽기", + "READ": "읽음", "LABELS": "라벨", - "CONVERSATION_ID": "Conversation ID" + "CONVERSATION_ID": "대화 ID" } }, "ALERTS": { - "MARK_AS_READ": "Notification marked as read", - "MARK_AS_UNREAD": "Notification marked as unread", - "SNOOZE": "Notification snoozed", - "DELETE": "Notification deleted", - "MARK_ALL_READ": "All notifications marked as read", - "DELETE_ALL": "All notifications deleted", - "DELETE_ALL_READ": "All read notifications deleted" + "MARK_AS_READ": "알림이 읽음으로 표시되었습니다", + "MARK_AS_UNREAD": "알림이 읽지 않음으로 표시되었습니다", + "SNOOZE": "알림이 일시 중지되었습니다", + "DELETE": "알림이 삭제되었습니다", + "MARK_ALL_READ": "모든 알림이 읽음으로 표시되었습니다", + "DELETE_ALL": "모든 알림이 삭제되었습니다", + "DELETE_ALL_READ": "읽은 모든 알림이 삭제되었습니다" }, "REAUTHORIZE": { - "TITLE": "Reauthorization Required", - "DESCRIPTION": "Your WhatsApp connection has expired. Please reconnect to continue receiving and sending messages.", - "BUTTON_TEXT": "Reconnect WhatsApp", - "LOADING_FACEBOOK": "Loading Facebook SDK...", - "SUCCESS": "WhatsApp reconnected successfully", - "ERROR": "Failed to reconnect WhatsApp. Please try again.", - "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID is not configured. Please contact your administrator.", - "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp Configuration ID is not configured. Please contact your administrator.", - "CONFIGURATION_ERROR": "Configuration error occurred during reauthorization.", - "FACEBOOK_LOAD_ERROR": "Failed to load Facebook SDK. Please try again.", + "TITLE": "재인증 필요", + "DESCRIPTION": "WhatsApp 연결이 만료되었습니다. 메시지를 계속 수신하고 전송하려면 다시 연결하십시오.", + "BUTTON_TEXT": "WhatsApp 다시 연결", + "LOADING_FACEBOOK": "Facebook SDK를 불러오는 중...", + "SUCCESS": "WhatsApp이 성공적으로 다시 연결되었습니다", + "ERROR": "WhatsApp 다시 연결에 실패했습니다. 다시 시도하십시오.", + "WHATSAPP_APP_ID_MISSING": "WhatsApp 앱 ID가 설정되지 않았습니다. 관리자에게 문의하십시오.", + "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp 설정 ID가 구성되지 않았습니다. 관리자에게 문의하십시오.", + "CONFIGURATION_ERROR": "재인증 중 설정 오류가 발생했습니다.", + "FACEBOOK_LOAD_ERROR": "Facebook SDK를 불러오지 못했습니다. 다시 시도하십시오.", "TROUBLESHOOTING": { - "TITLE": "Troubleshooting", - "POPUP_BLOCKED": "Ensure pop-ups are allowed for this site", - "COOKIES": "Third-party cookies must be enabled", - "ADMIN_ACCESS": "You need admin access to the WhatsApp Business Account" + "TITLE": "문제 해결", + "POPUP_BLOCKED": "이 사이트에 대해 팝업이 허용되어 있는지 확인하십시오", + "COOKIES": "서드파티 쿠키가 활성화되어 있어야 합니다", + "ADMIN_ACCESS": "WhatsApp Business 계정에 대한 관리자 액세스 권한이 필요합니다" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json index 9e6ec80de..f13059361 100644 --- a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json @@ -1,12 +1,12 @@ { "INBOX_MGMT": { "HEADER": "받은 메시지함", - "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", - "LEARN_MORE": "Learn more about inboxes", - "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", - "CLICK_TO_RECONNECT": "Click here to reconnect.", - "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", - "COMPLETE_REGISTRATION": "Complete Registration", + "DESCRIPTION": "채널은 고객이 귀하와 상호작용하기 위해 선택하는 커뮤니케이션 방식입니다. 받은 메시지함은 특정 채널에 대한 상호작용을 관리하는 곳입니다. 이메일, 라이브 채팅, 소셜 미디어 등 다양한 소스의 커뮤니케이션을 포함할 수 있습니다.", + "LEARN_MORE": "받은 메시지함에 대해 자세히 알아보기", + "RECONNECTION_REQUIRED": "받은 메시지함의 연결이 끊어졌습니다. 재인증하기 전까지 새 메시지를 받을 수 없습니다.", + "CLICK_TO_RECONNECT": "다시 연결하려면 여기를 클릭하십시오.", + "WHATSAPP_REGISTRATION_INCOMPLETE": "WhatsApp Business 등록이 완료되지 않았습니다. 다시 연결하기 전에 Meta Business Manager에서 표시 이름 상태를 확인하십시오.", + "COMPLETE_REGISTRATION": "등록 완료", "LIST": { "404": "이 계정에는 첨부된 받은 메시지함이 없습니다." }, @@ -31,44 +31,44 @@ "ADD": { "CHANNEL_NAME": { "LABEL": "받은 메시지함 이름", - "PLACEHOLDER": "Enter your inbox name (eg: Acme Inc)", - "ERROR": "Please enter a valid inbox name" + "PLACEHOLDER": "받은 메시지함 이름을 입력하십시오 (예: Acme Inc)", + "ERROR": "올바른 받은 메시지함 이름을 입력하십시오." }, "WEBSITE_NAME": { "LABEL": "웹사이트 이름", "PLACEHOLDER": "웹사이트 이름 입력 (예: Acme Inc)" }, "FB": { - "HELP": "추신: 로그인을 함으로써, 우리는 오직 당신의 페이지의 메시지에 접근할 수 있다. 당신의 사적인 메시지에 Chatwoot는 절대 접근할 수 없습니다.", + "HELP": "추신: 로그인을 함으로써, 우리는 오직 당신의 페이지의 메시지에 접근할 수 있습니다. 당신의 개인 메시지에 Chatwoot는 절대 접근할 수 없습니다.", "CHOOSE_PAGE": "페이지 선택", "CHOOSE_PLACEHOLDER": "목록에서 페이지 선택", "INBOX_NAME": "받은 메시지함 이름", "ADD_NAME": "받은 메시지함의 이름 추가", - "PICK_NAME": "Pick a Name for your Inbox", + "PICK_NAME": "받은 메시지함의 이름을 선택하십시오", "PICK_A_VALUE": "값 선택", "CREATE_INBOX": "받은 메시지함 만들기" }, "INSTAGRAM": { - "CONTINUE_WITH_INSTAGRAM": "Continue with Instagram", - "CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile", - "HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ", - "ERROR_MESSAGE": "There was an error connecting to Instagram, please try again", - "ERROR_AUTH": "There was an error connecting to Instagram, please try again", - "NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.", - "DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore." + "CONTINUE_WITH_INSTAGRAM": "Instagram으로 계속하기", + "CONNECT_YOUR_INSTAGRAM_PROFILE": "Instagram 프로필 연결", + "HELP": "Instagram 프로필을 채널로 추가하려면 'Instagram으로 계속하기'를 클릭하여 Instagram 프로필을 인증해야 합니다.", + "ERROR_MESSAGE": "Instagram에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오.", + "ERROR_AUTH": "Instagram에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오.", + "NEW_INBOX_SUGGESTION": "이 Instagram 계정은 이전에 다른 받은 메시지함에 연결되어 있었으며 현재 이곳으로 마이그레이션되었습니다. 모든 새 메시지가 여기에 표시됩니다. 이전 받은 메시지함에서는 더 이상 이 계정의 메시지를 보내거나 받을 수 없습니다.", + "DUPLICATE_INBOX_BANNER": "이 Instagram 계정은 새로운 Instagram 채널 받은 메시지함으로 마이그레이션되었습니다. 이 받은 메시지함에서는 더 이상 Instagram 메시지를 보내거나 받을 수 없습니다." }, "TIKTOK": { - "CONTINUE_WITH_TIKTOK": "Continue with TikTok", - "CONNECT_YOUR_TIKTOK_PROFILE": "Connect your TikTok Profile", - "HELP": "To add your TikTok profile as a channel, you need to authenticate your TikTok Profile by clicking on 'Continue with TikTok' ", - "ERROR_MESSAGE": "There was an error connecting to TikTok, please try again", - "ERROR_AUTH": "There was an error connecting to TikTok, please try again" + "CONTINUE_WITH_TIKTOK": "TikTok으로 계속하기", + "CONNECT_YOUR_TIKTOK_PROFILE": "TikTok 프로필 연결", + "HELP": "TikTok 프로필을 채널로 추가하려면 'TikTok으로 계속하기'를 클릭하여 TikTok 프로필을 인증해야 합니다.", + "ERROR_MESSAGE": "TikTok에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오.", + "ERROR_AUTH": "TikTok에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오." }, "TWITTER": { - "HELP": "트위터 프로필을 채널로 추가하려면 '트위터로 로그인'을 클릭하여 트위터 프로필을 인증해야 합니다. ", - "ERROR_MESSAGE": "트위터에 연결하는 동안 오류가 발생했습니다. 다시 시도해주세요.", + "HELP": "트위터 프로필을 채널로 추가하려면 '트위터로 로그인'을 클릭하여 트위터 프로필을 인증해야 합니다.", + "ERROR_MESSAGE": "트위터에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오.", "TWEETS": { - "ENABLE": "Create conversations from mentioned Tweets" + "ENABLE": "멘션된 트윗에서 대화 만들기" } }, "WEBSITE_CHANNEL": { @@ -80,7 +80,7 @@ }, "CHANNEL_WEBHOOK_URL": { "LABEL": "웹훅 URL", - "PLACEHOLDER": "Please enter your Webhook URL", + "PLACEHOLDER": "웹훅 URL을 입력하십시오.", "ERROR": "올바른 URL을 입력하십시오." }, "CHANNEL_DOMAIN": { @@ -101,7 +101,7 @@ }, "CHANNEL_GREETING_TOGGLE": { "LABEL": "채널 인사말 사용", - "HELP_TEXT": "Automatically send a greeting message when a new conversation is created.", + "HELP_TEXT": "고객이 대화를 시작하고 첫 메시지를 보낼 때 인사말 메시지를 자동으로 전송합니다.", "ENABLED": "사용함", "DISABLED": "사용 안 함" }, @@ -110,7 +110,7 @@ "IN_A_FEW_MINUTES": "몇 분 후에", "IN_A_FEW_HOURS": "몇 시간 안에", "IN_A_DAY": "며칠 안에", - "HELP_TEXT": "이 응답 시간은 라이브 채팅 위젯에 표시됨" + "HELP_TEXT": "이 응답 시간은 라이브 채팅 위젯에 표시됩니다." }, "WIDGET_COLOR": { "LABEL": "위젯 색깔", @@ -118,33 +118,33 @@ }, "SUBMIT_BUTTON": "받은 메시지함 만들기", "API": { - "ERROR_MESSAGE": "We were not able to create a website channel, please try again" + "ERROR_MESSAGE": "웹사이트 채널을 만들 수 없습니다. 다시 시도하십시오." } }, "TWILIO": { - "TITLE": "Twilio SMS/WhatsApp Channel", - "DESC": "Integrate Twilio and start supporting your customers via SMS or WhatsApp.", + "TITLE": "Twilio SMS/WhatsApp 채널", + "DESC": "Twilio를 통합하여 SMS 또는 WhatsApp으로 고객 지원을 시작하십시오.", "ACCOUNT_SID": { "LABEL": "계정 SID", "PLACEHOLDER": "Twilio 계정 SID를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "API_KEY": { - "USE_API_KEY": "Use API Key Authentication", + "USE_API_KEY": "API Key 인증 사용", "LABEL": "API Key SID", - "PLACEHOLDER": "Please enter your API Key SID", + "PLACEHOLDER": "API Key SID를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "API_KEY_SECRET": { "LABEL": "API Key Secret", - "PLACEHOLDER": "Please enter your API Key Secret", + "PLACEHOLDER": "API Key Secret을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "MESSAGING_SERVICE_SID": { - "LABEL": "Messaging Service SID", - "PLACEHOLDER": "Please enter your Twilio Messaging Service SID", + "LABEL": "메시징 서비스 SID", + "PLACEHOLDER": "Twilio Messaging Service SID를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다.", - "USE_MESSAGING_SERVICE": "Use a Twilio Messaging Service" + "USE_MESSAGING_SERVICE": "Twilio Messaging Service 사용" }, "CHANNEL_TYPE": { "LABEL": "채널 유형", @@ -157,13 +157,13 @@ }, "CHANNEL_NAME": { "LABEL": "받은 메시지함 이름", - "PLACEHOLDER": "Please enter a inbox name", + "PLACEHOLDER": "받은 메시지함 이름을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "PHONE_NUMBER": { "LABEL": "전화 번호", "PLACEHOLDER": "메시지를 보낼 전화 번호를 입력하십시오.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "`+` 기호로 시작하고 공백이 없는 올바른 전화 번호를 입력하십시오." }, "API_CALLBACK": { "TITLE": "콜백 URL", @@ -175,182 +175,182 @@ } }, "SMS": { - "TITLE": "SMS Channel", - "DESC": "Start supporting your customers via SMS.", + "TITLE": "SMS 채널", + "DESC": "SMS를 통해 고객 지원을 시작하십시오.", "PROVIDERS": { - "LABEL": "API Provider", + "LABEL": "API 공급자", "TWILIO": "Twilio", "BANDWIDTH": "Bandwidth" }, "API": { - "ERROR_MESSAGE": "We were not able to save the SMS channel" + "ERROR_MESSAGE": "SMS 채널을 저장할 수 없습니다." }, "BANDWIDTH": { "ACCOUNT_ID": { - "LABEL": "Account ID", - "PLACEHOLDER": "Please enter your Bandwidth Account ID", + "LABEL": "계정 ID", + "PLACEHOLDER": "Bandwidth 계정 ID를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "API_KEY": { "LABEL": "API Key", - "PLACEHOLDER": "Please enter your Bandwidth API Key", + "PLACEHOLDER": "Bandwidth API Key를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "API_SECRET": { "LABEL": "API Secret", - "PLACEHOLDER": "Please enter your Bandwidth API Secret", + "PLACEHOLDER": "Bandwidth API Secret을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "APPLICATION_ID": { - "LABEL": "Application ID", - "PLACEHOLDER": "Please enter your Bandwidth Application ID", + "LABEL": "애플리케이션 ID", + "PLACEHOLDER": "Bandwidth 애플리케이션 ID를 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "INBOX_NAME": { "LABEL": "받은 메시지함 이름", - "PLACEHOLDER": "Please enter a inbox name", + "PLACEHOLDER": "받은 메시지함 이름을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "PHONE_NUMBER": { - "LABEL": "휴대폰 번호", + "LABEL": "전화 번호", "PLACEHOLDER": "메시지를 보낼 전화 번호를 입력하십시오.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "`+` 기호로 시작하고 공백이 없는 올바른 전화 번호를 입력하십시오." }, - "SUBMIT_BUTTON": "Create Bandwidth Channel", + "SUBMIT_BUTTON": "Bandwidth 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to authenticate Bandwidth credentials, please try again" + "ERROR_MESSAGE": "Bandwidth 자격 증명을 인증할 수 없습니다. 다시 시도하십시오." }, "API_CALLBACK": { "TITLE": "콜백 URL", - "SUBTITLE": "You have to configure the message callback URL in Bandwidth with the URL mentioned here." + "SUBTITLE": "여기에 표시된 URL로 Bandwidth에서 메시지 콜백 URL을 구성해야 합니다." } } }, "WHATSAPP": { - "TITLE": "WhatsApp Channel", - "DESC": "Start supporting your customers via WhatsApp.", + "TITLE": "WhatsApp 채널", + "DESC": "WhatsApp을 통해 고객 지원을 시작하십시오.", "PROVIDERS": { - "LABEL": "API Provider", + "LABEL": "API 공급자", "WHATSAPP_EMBEDDED": "WhatsApp Business", "TWILIO": "Twilio", "WHATSAPP_CLOUD": "WhatsApp Cloud", - "WHATSAPP_CLOUD_DESC": "Quick setup through Meta", - "TWILIO_DESC": "Connect via Twilio credentials", + "WHATSAPP_CLOUD_DESC": "Meta를 통한 빠른 설정", + "TWILIO_DESC": "Twilio 자격 증명으로 연결", "360_DIALOG": "360Dialog" }, "SELECT_PROVIDER": { - "TITLE": "Select your API provider", - "DESCRIPTION": "Choose your WhatsApp provider. You can connect directly through Meta which requires no setup, or connect through Twilio using your account credentials." + "TITLE": "API 공급자를 선택하십시오", + "DESCRIPTION": "WhatsApp 공급자를 선택하십시오. Meta를 통해 설정 없이 직접 연결하거나, Twilio 계정 자격 증명을 사용하여 연결할 수 있습니다." }, "INBOX_NAME": { "LABEL": "받은 메시지함 이름", - "PLACEHOLDER": "Please enter an inbox name", + "PLACEHOLDER": "받은 메시지함 이름을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "PHONE_NUMBER": { - "LABEL": "휴대폰 번호", + "LABEL": "전화 번호", "PLACEHOLDER": "메시지를 보낼 전화 번호를 입력하십시오.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "`+` 기호로 시작하고 공백이 없는 올바른 전화 번호를 입력하십시오." }, "PHONE_NUMBER_ID": { - "LABEL": "Phone number ID", - "PLACEHOLDER": "Please enter the Phone number ID obtained from Facebook developer dashboard.", - "ERROR": "Please enter a valid value." + "LABEL": "전화 번호 ID", + "PLACEHOLDER": "Facebook 개발자 대시보드에서 받은 전화 번호 ID를 입력하십시오.", + "ERROR": "올바른 값을 입력하십시오." }, "BUSINESS_ACCOUNT_ID": { - "LABEL": "Business Account ID", - "PLACEHOLDER": "Please enter the Business Account ID obtained from Facebook developer dashboard.", - "ERROR": "Please enter a valid value." + "LABEL": "비즈니스 계정 ID", + "PLACEHOLDER": "Facebook 개발자 대시보드에서 받은 비즈니스 계정 ID를 입력하십시오.", + "ERROR": "올바른 값을 입력하십시오." }, "WEBHOOK_VERIFY_TOKEN": { - "LABEL": "Webhook Verify Token", - "PLACEHOLDER": "Enter a verify token which you want to configure for Facebook webhooks.", - "ERROR": "Please enter a valid value." + "LABEL": "웹훅 인증 토큰", + "PLACEHOLDER": "Facebook 웹훅에 구성할 인증 토큰을 입력하십시오.", + "ERROR": "올바른 값을 입력하십시오." }, "API_KEY": { "LABEL": "API key", - "SUBTITLE": "Configure the WhatsApp API key.", + "SUBTITLE": "WhatsApp API key를 구성하십시오.", "PLACEHOLDER": "API key", - "ERROR": "Please enter a valid value." + "ERROR": "올바른 값을 입력하십시오." }, "API_CALLBACK": { "TITLE": "콜백 URL", - "SUBTITLE": "You have to configure the webhook URL and the verification token in the Facebook Developer portal with the values shown below.", + "SUBTITLE": "아래에 표시된 값으로 Facebook 개발자 포털에서 웹훅 URL과 인증 토큰을 구성해야 합니다.", "WEBHOOK_URL": "웹훅 URL", - "WEBHOOK_VERIFICATION_TOKEN": "Webhook Verification Token" + "WEBHOOK_VERIFICATION_TOKEN": "웹훅 인증 토큰" }, - "SUBMIT_BUTTON": "Create WhatsApp Channel", + "SUBMIT_BUTTON": "WhatsApp 채널 만들기", "EMBEDDED_SIGNUP": { - "TITLE": "Quick setup with Meta", - "DESC": "Use the WhatsApp Embedded Signup flow to quickly connect new numbers. You will be redirected to Meta to log into your WhatsApp Business account. Having admin access will help make the setup smooth and easy.", + "TITLE": "Meta를 통한 빠른 설정", + "DESC": "WhatsApp 임베디드 가입 플로우를 사용하여 새 번호를 빠르게 연결하십시오. Meta로 리디렉션되어 WhatsApp Business 계정에 로그인하게 됩니다. 관리자 액세스 권한이 있으면 설정이 원활하고 쉽게 진행됩니다.", "BENEFITS": { - "TITLE": "Benefits of Embedded Signup:", - "EASY_SETUP": "No manual configuration required", - "SECURE_AUTH": "Secure OAuth based authentication", - "AUTO_CONFIG": "Automatic webhook and phone number configuration" + "TITLE": "임베디드 가입의 장점:", + "EASY_SETUP": "수동 구성이 필요 없습니다", + "SECURE_AUTH": "안전한 OAuth 기반 인증", + "AUTO_CONFIG": "자동 웹훅 및 전화 번호 구성" }, "LEARN_MORE": { - "TEXT": "To learn more about integrated signup, pricing, and limitations, visit {link}.", - "LINK_TEXT": "this link" + "TEXT": "통합 가입, 요금 및 제한 사항에 대해 자세히 알아보려면 {link}을 방문하십시오.", + "LINK_TEXT": "이 링크" }, - "SUBMIT_BUTTON": "Connect with WhatsApp Business", - "AUTH_PROCESSING": "Authenticating with Meta", - "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", - "PROCESSING": "Setting up your WhatsApp Business Account", - "LOADING_SDK": "Loading Facebook SDK...", - "CANCELLED": "WhatsApp Signup was cancelled", - "SUCCESS_TITLE": "WhatsApp Business Account Connected!", - "WAITING_FOR_AUTH": "Waiting for authentication...", - "INVALID_BUSINESS_DATA": "Invalid business data received from Facebook. Please try again.", - "SIGNUP_ERROR": "Signup error occurred", - "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", - "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", - "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "SUBMIT_BUTTON": "WhatsApp Business에 연결", + "AUTH_PROCESSING": "Meta로 인증 중", + "WAITING_FOR_BUSINESS_INFO": "Meta 창에서 비즈니스 설정을 완료하십시오...", + "PROCESSING": "WhatsApp Business 계정을 설정하는 중", + "LOADING_SDK": "Facebook SDK를 로드하는 중...", + "CANCELLED": "WhatsApp 가입이 취소되었습니다", + "SUCCESS_TITLE": "WhatsApp Business 계정이 연결되었습니다!", + "WAITING_FOR_AUTH": "인증 대기 중...", + "INVALID_BUSINESS_DATA": "Facebook에서 잘못된 비즈니스 데이터를 수신했습니다. 다시 시도하십시오.", + "SIGNUP_ERROR": "가입 오류가 발생했습니다", + "AUTH_NOT_COMPLETED": "인증이 완료되지 않았습니다. 프로세스를 다시 시작하십시오.", + "SUCCESS_FALLBACK": "WhatsApp Business 계정이 성공적으로 구성되었습니다", + "MANUAL_FALLBACK": "번호가 이미 WhatsApp Business Platform (API)에 연결되어 있거나, 자체 번호를 온보딩하는 기술 공급자인 경우 {link}을 사용하십시오", + "MANUAL_LINK_TEXT": "수동 설정 플로우" }, "API": { - "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" + "ERROR_MESSAGE": "WhatsApp 채널을 저장할 수 없습니다." } }, "VOICE": { - "TITLE": "Voice Channel", - "DESC": "Integrate Twilio Voice and start supporting your customers via phone calls.", + "TITLE": "음성 채널", + "DESC": "Twilio Voice를 통합하여 전화 통화로 고객 지원을 시작하십시오.", "PHONE_NUMBER": { "LABEL": "전화 번호", - "PLACEHOLDER": "Enter your phone number (e.g. +1234567890)", - "ERROR": "Please provide a valid phone number in E.164 format (e.g. +1234567890)" + "PLACEHOLDER": "전화 번호를 입력하십시오 (예: +1234567890)", + "ERROR": "E.164 형식의 올바른 전화 번호를 입력하십시오 (예: +1234567890)" }, "TWILIO": { "ACCOUNT_SID": { "LABEL": "계정 SID", - "PLACEHOLDER": "Enter your Twilio Account SID", - "REQUIRED": "Account SID is required" + "PLACEHOLDER": "Twilio 계정 SID를 입력하십시오.", + "REQUIRED": "계정 SID는 필수입니다." }, "AUTH_TOKEN": { "LABEL": "인증 토큰", - "PLACEHOLDER": "Enter your Twilio Auth Token", - "REQUIRED": "Auth Token is required" + "PLACEHOLDER": "Twilio 인증 토큰을 입력하십시오.", + "REQUIRED": "인증 토큰은 필수입니다." }, "API_KEY_SID": { "LABEL": "API Key SID", - "PLACEHOLDER": "Enter your Twilio API Key SID", - "REQUIRED": "API Key SID is required" + "PLACEHOLDER": "Twilio API Key SID를 입력하십시오.", + "REQUIRED": "API Key SID는 필수입니다." }, "API_KEY_SECRET": { "LABEL": "API Key Secret", - "PLACEHOLDER": "Enter your Twilio API Key Secret", - "REQUIRED": "API Key Secret is required" + "PLACEHOLDER": "Twilio API Key Secret을 입력하십시오.", + "REQUIRED": "API Key Secret은 필수입니다." } }, "CONFIGURATION": { - "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL", - "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.", - "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL", - "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number." + "TWILIO_VOICE_URL_TITLE": "Twilio 음성 URL", + "TWILIO_VOICE_URL_SUBTITLE": "이 URL을 Twilio 전화 번호 및 TwiML 앱의 음성 URL로 구성하십시오.", + "TWILIO_STATUS_URL_TITLE": "Twilio 상태 콜백 URL", + "TWILIO_STATUS_URL_SUBTITLE": "이 URL을 Twilio 전화 번호의 상태 콜백 URL로 구성하십시오." }, - "SUBMIT_BUTTON": "Create Voice Channel", + "SUBMIT_BUTTON": "음성 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to create the voice channel" + "ERROR_MESSAGE": "음성 채널을 만들 수 없습니다." } }, "API_CHANNEL": { @@ -363,17 +363,17 @@ }, "WEBHOOK_URL": { "LABEL": "웹훅 URL", - "SUBTITLE": "Configure the URL where you want to receive callbacks on events.", + "SUBTITLE": "이벤트 콜백을 받을 URL을 구성하십시오.", "PLACEHOLDER": "웹훅 URL" }, "SUBMIT_BUTTON": "API 채널 만들기", "API": { - "ERROR_MESSAGE": "우리는 API 채널을 저장할 수 없습니다." + "ERROR_MESSAGE": "API 채널을 저장할 수 없습니다." } }, "EMAIL_CHANNEL": { "TITLE": "이메일 채널", - "DESC": "Integrate your email inbox.", + "DESC": "이메일 받은 메시지함을 통합하십시오.", "CHANNEL_NAME": { "LABEL": "채널 이름", "PLACEHOLDER": "채널 이름을 입력하십시오.", @@ -381,117 +381,117 @@ }, "EMAIL": { "LABEL": "이메일", - "SUBTITLE": "고객이 지원 티켓을 보내는 이메일", + "SUBTITLE": "고객이 지원 요청을 보내는 이메일 주소를 입력하십시오.", "PLACEHOLDER": "이메일" }, "SUBMIT_BUTTON": "이메일 채널 만들기", "API": { "ERROR_MESSAGE": "이메일 채널을 저장할 수 없습니다." }, - "FINISH_MESSAGE": "당신의 이메일 주소로 이메일 전달을 시작하십시오.", - "FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.", - "FORWARDING_ADDRESS_LABEL": "Forward emails to this address:", + "FINISH_MESSAGE": "이메일 받은 메시지함이 성공적으로 생성되었습니다! 아래 주소로 이메일 전달을 시작하거나, SMTP 및 IMAP 자격 증명을 구성하여 이메일을 직접 보내고 받을 수 있습니다.", + "FINISH_MESSAGE_NO_FORWARDING": "이메일 받은 메시지함이 성공적으로 생성되었습니다! 이메일을 보내고 받으려면 SMTP 및 IMAP 자격 증명을 구성해야 합니다. 이 설정이 없으면 이메일이 처리되지 않습니다.", + "FORWARDING_ADDRESS_LABEL": "이 주소로 이메일 전달:", "CONFIGURE_SMTP_IMAP_LINK": "여기를 클릭하세요", - "CONFIGURE_SMTP_IMAP_TEXT": " to configure IMAP and SMTP settings" + "CONFIGURE_SMTP_IMAP_TEXT": " IMAP 및 SMTP 설정을 구성하십시오" }, "LINE_CHANNEL": { - "TITLE": "LINE Channel", - "DESC": "Integrate with LINE channel and start supporting your customers.", + "TITLE": "LINE 채널", + "DESC": "LINE 채널과 통합하여 고객 지원을 시작하십시오.", "CHANNEL_NAME": { "LABEL": "채널 이름", "PLACEHOLDER": "채널 이름을 입력하십시오.", "ERROR": "해당 입력란은 필수 입력 사항입니다." }, "LINE_CHANNEL_ID": { - "LABEL": "LINE Channel ID", - "PLACEHOLDER": "LINE Channel ID" + "LABEL": "LINE 채널 ID", + "PLACEHOLDER": "LINE 채널 ID" }, "LINE_CHANNEL_SECRET": { - "LABEL": "LINE Channel Secret", - "PLACEHOLDER": "LINE Channel Secret" + "LABEL": "LINE 채널 Secret", + "PLACEHOLDER": "LINE 채널 Secret" }, "LINE_CHANNEL_TOKEN": { - "LABEL": "LINE Channel Token", - "PLACEHOLDER": "LINE Channel Token" + "LABEL": "LINE 채널 Token", + "PLACEHOLDER": "LINE 채널 Token" }, - "SUBMIT_BUTTON": "Create LINE Channel", + "SUBMIT_BUTTON": "LINE 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to save the LINE channel" + "ERROR_MESSAGE": "LINE 채널을 저장할 수 없습니다." }, "API_CALLBACK": { "TITLE": "콜백 URL", - "SUBTITLE": "You have to configure the webhook URL in LINE application with the URL mentioned here." + "SUBTITLE": "여기에 표시된 URL로 LINE 애플리케이션에서 웹훅 URL을 구성해야 합니다." } }, "TELEGRAM_CHANNEL": { - "TITLE": "Telegram Channel", - "DESC": "Integrate with Telegram channel and start supporting your customers.", + "TITLE": "Telegram 채널", + "DESC": "Telegram 채널과 통합하여 고객 지원을 시작하십시오.", "BOT_TOKEN": { - "LABEL": "Bot Token", - "SUBTITLE": "Configure the bot token you have obtained from Telegram BotFather.", - "PLACEHOLDER": "Bot Token" + "LABEL": "봇 토큰", + "SUBTITLE": "Telegram BotFather에서 받은 봇 토큰을 구성하십시오.", + "PLACEHOLDER": "봇 토큰" }, - "SUBMIT_BUTTON": "Create Telegram Channel", + "SUBMIT_BUTTON": "Telegram 채널 만들기", "API": { - "ERROR_MESSAGE": "We were not able to save the telegram channel" + "ERROR_MESSAGE": "Telegram 채널을 저장할 수 없습니다." } }, "AUTH": { - "TITLE": "Choose a channel", - "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.", - "TITLE_NEXT": "Complete the setup", + "TITLE": "채널 선택", + "DESC": "Chatwoot는 라이브 채팅 위젯, Facebook Messenger, WhatsApp, 이메일 등을 채널로 지원합니다. 사용자 정의 채널을 만들려면 API 채널을 사용하여 만들 수 있습니다. 시작하려면 아래에서 채널을 선택하십시오.", + "TITLE_NEXT": "설정 완료", "TITLE_FINISH": "Voilà!", "CHANNEL": { "WEBSITE": { - "TITLE": "홈페이지", - "DESCRIPTION": "Create a live-chat widget" + "TITLE": "웹사이트", + "DESCRIPTION": "라이브 채팅 위젯 만들기" }, "FACEBOOK": { - "TITLE": "페이스북", - "DESCRIPTION": "Connect your Facebook page" + "TITLE": "Facebook", + "DESCRIPTION": "Facebook 페이지 연결" }, "WHATSAPP": { "TITLE": "WhatsApp", - "DESCRIPTION": "Support your customers on WhatsApp" + "DESCRIPTION": "WhatsApp으로 고객 지원" }, "EMAIL": { "TITLE": "이메일", - "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" + "DESCRIPTION": "Gmail, Outlook 또는 기타 공급자와 연결" }, "SMS": { "TITLE": "SMS", - "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth" + "DESCRIPTION": "Twilio 또는 Bandwidth로 SMS 채널 통합" }, "API": { "TITLE": "API", - "DESCRIPTION": "Make a custom channel using our API" + "DESCRIPTION": "API를 사용하여 사용자 정의 채널 만들기" }, "TELEGRAM": { "TITLE": "Telegram", - "DESCRIPTION": "Configure Telegram channel using Bot token" + "DESCRIPTION": "봇 토큰을 사용하여 Telegram 채널 구성" }, "LINE": { "TITLE": "Line", - "DESCRIPTION": "Integrate your Line channel" + "DESCRIPTION": "Line 채널 통합" }, "INSTAGRAM": { "TITLE": "Instagram", - "DESCRIPTION": "Connect your instagram account" + "DESCRIPTION": "Instagram 계정 연결" }, "TIKTOK": { "TITLE": "TikTok", - "DESCRIPTION": "Connect your TikTok account" + "DESCRIPTION": "TikTok 계정 연결" }, "VOICE": { - "TITLE": "Voice", - "DESCRIPTION": "Integrate with Twilio Voice" + "TITLE": "음성", + "DESCRIPTION": "Twilio Voice와 통합" } } }, "AGENTS": { "TITLE": "에이전트", - "DESC": "여기서 에이전트를 추가하여 새로 만든 받은 메시지함을 관리할 수 있습니다. 선택된 에이전트만 받은 메시지함에 엑세스할 수 있습니다. 해당 받은 메시지함에 선택되지 않은 에이전트는 메시지를 보거나 응답할 수 없습니다.
추신: 관리자로서 모든 받은 문서에 대한 액세스 권한이 필요한 경우, 자신이 만든 모든 받은 문서에 자신을 에이전트로 추가해야 합니다.", - "VALIDATION_ERROR": "Add at least one agent to your new Inbox", + "DESC": "여기서 에이전트를 추가하여 새로 만든 받은 메시지함을 관리할 수 있습니다. 선택된 에이전트만 받은 메시지함에 액세스할 수 있습니다. 해당 받은 메시지함에 선택되지 않은 에이전트는 메시지를 보거나 응답할 수 없습니다.
추신: 관리자로서 모든 받은 메시지함에 대한 액세스 권한이 필요한 경우, 자신이 만든 모든 받은 메시지함에 자신을 에이전트로 추가해야 합니다.", + "VALIDATION_ERROR": "새 받은 메시지함에 에이전트를 한 명 이상 추가하십시오.", "PICK_AGENTS": "받은 메시지함에 대한 에이전트 선택" }, "DETAILS": { @@ -499,34 +499,34 @@ "DESC": "아래 드롭다운에서 Chatwoot에 연결할 Facebook 페이지를 선택하십시오. 더 나은 식별을 위해 받은 메시지함에 사용자 정의 이름을 지정할 수 있습니다." }, "FINISH": { - "TITLE": "못 박았다!", - "DESC": "Facebook 페이지를 Chatwoot와 성공적으로 통합하셨습니다. 다음부터 고객이 페이지에 메시지를 보낼 때, 대화는 받은 메시지함에 자동으로 나타납니다.
웹사이트에 쉽게 추가할 수 있는 위젯 스크립트도 제공하고 있습니다. 일단 당신의 웹사이트에 생방송으로 접속하면, 고객들은 어떠한 외부 도구의 도움 없이도 당신의 웹사이트에서 바로 당신에게 메시지를 보낼 수 있고, 대화는 바로 여기 Chatwoot에 나타납니다.<
멋지죠? 음, 우리는 그럴려고 노력합니다 :)" + "TITLE": "완료되었습니다!", + "DESC": "Facebook 페이지를 Chatwoot와 성공적으로 통합하셨습니다. 다음부터 고객이 페이지에 메시지를 보낼 때, 대화는 받은 메시지함에 자동으로 나타납니다.
웹사이트에 쉽게 추가할 수 있는 위젯 스크립트도 제공하고 있습니다. 일단 당신의 웹사이트에 생방송으로 접속하면, 고객들은 어떠한 외부 도구의 도움 없이도 당신의 웹사이트에서 바로 당신에게 메시지를 보낼 수 있고, 대화는 바로 여기 Chatwoot에 나타납니다.
멋지죠? 음, 우리는 그럴려고 노력합니다 :)" }, "EMAIL_PROVIDER": { - "TITLE": "Select your email provider", - "DESCRIPTION": "Select an email provider from the list below. If you don't see your email provider in the list, you can select the other provider option and provide the IMAP and SMTP Credentials." + "TITLE": "이메일 공급자를 선택하십시오", + "DESCRIPTION": "아래 목록에서 이메일 공급자를 선택하십시오. 목록에 이메일 공급자가 없는 경우, 기타 공급자 옵션을 선택하고 IMAP 및 SMTP 자격 증명을 입력하십시오." }, "MICROSOFT": { - "TITLE": "Microsoft Email", - "DESCRIPTION": "Click on the Sign in with Microsoft button to get started. You will redirected to the email sign in page. Once you accept the requested permissions, you would be redirected back to the inbox creation step.", - "EMAIL_PLACEHOLDER": "Enter email address", - "SIGN_IN": "Sign in with Microsoft", - "ERROR_MESSAGE": "There was an error connecting to Microsoft, please try again" + "TITLE": "Microsoft 이메일", + "DESCRIPTION": "시작하려면 Microsoft로 로그인 버튼을 클릭하십시오. 이메일 로그인 페이지로 리디렉션됩니다. 요청된 권한을 수락하면 받은 메시지함 생성 단계로 다시 리디렉션됩니다.", + "EMAIL_PLACEHOLDER": "이메일 주소 입력", + "SIGN_IN": "Microsoft로 로그인", + "ERROR_MESSAGE": "Microsoft에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오." }, "GOOGLE": { - "TITLE": "Google Email", - "DESCRIPTION": "Click on the Sign in with Google button to get started. You will redirected to the email sign in page. Once you accept the requested permissions, you would be redirected back to the inbox creation step.", - "SIGN_IN": "Sign in with Google", - "EMAIL_PLACEHOLDER": "Enter email address", - "ERROR_MESSAGE": "There was an error connecting to Google, please try again" + "TITLE": "Google 이메일", + "DESCRIPTION": "시작하려면 Google로 로그인 버튼을 클릭하십시오. 이메일 로그인 페이지로 리디렉션됩니다. 요청된 권한을 수락하면 받은 메시지함 생성 단계로 다시 리디렉션됩니다.", + "SIGN_IN": "Google로 로그인", + "EMAIL_PLACEHOLDER": "이메일 주소 입력", + "ERROR_MESSAGE": "Google에 연결하는 동안 오류가 발생했습니다. 다시 시도하십시오." } }, "DETAILS": { - "LOADING_FB": "페이스북 인증하는 중...", - "ERROR_FB_LOADING": "Error loading Facebook SDK. Please disable any ad-blockers and try again from a different browser.", - "ERROR_FB_AUTH": "문제가 발생했습니다 페이지를 새로 고치십시오...", - "ERROR_FB_UNAUTHORIZED": "You're not authorized to perform this action. ", - "ERROR_FB_UNAUTHORIZED_HELP": "Please ensure you have access to the Facebook page with full control. You can read more about Facebook roles here.", + "LOADING_FB": "Facebook 인증하는 중...", + "ERROR_FB_LOADING": "Facebook SDK 로드 오류. 광고 차단기를 비활성화하고 다른 브라우저에서 다시 시도하십시오.", + "ERROR_FB_AUTH": "문제가 발생했습니다. 페이지를 새로 고치십시오...", + "ERROR_FB_UNAUTHORIZED": "이 작업을 수행할 권한이 없습니다.", + "ERROR_FB_UNAUTHORIZED_HELP": "전체 제어 권한으로 Facebook 페이지에 액세스할 수 있는지 확인하십시오. Facebook 역할에 대한 자세한 내용은 여기에서 확인할 수 있습니다.", "CREATING_CHANNEL": "받은 메시지함을 만드는 중...", "TITLE": "받은 메시지함 세부 구성", "DESC": "" @@ -536,22 +536,22 @@ "ADD_AGENTS": "받은 메시지함에 에이전트를 추가하는 중..." }, "FINISH": { - "TITLE": "받은 메시지함이 준비됨!", - "MESSAGE": "이제 새로운 채널을 통해 고객과 대화할 수 있습니다. 행복한 지원", - "BUTTON_TEXT": "나를 그곳으로 데려주세요.", - "MORE_SETTINGS": "More settings", - "WEBSITE_SUCCESS": "웹사이트 채널 만들기를 완료하셨습니다. 아래 표시된 코드를 복사하여 웹사이트에 붙여 넣으십시오. 다음에 고객이 라이브 채팅을 사용할 때 대화는 받은 편지함에 자동으로 표시됩니다.", - "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox", - "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox", - "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox" + "TITLE": "받은 메시지함이 준비되었습니다!", + "MESSAGE": "이제 새로운 채널을 통해 고객과 대화할 수 있습니다. 즐거운 지원 되십시오", + "BUTTON_TEXT": "이동하기", + "MORE_SETTINGS": "추가 설정", + "WEBSITE_SUCCESS": "웹사이트 채널 만들기를 완료하셨습니다. 아래 표시된 코드를 복사하여 웹사이트에 붙여 넣으십시오. 다음에 고객이 라이브 채팅을 사용할 때 대화는 받은 메시지함에 자동으로 표시됩니다.", + "WHATSAPP_QR_INSTRUCTION": "위의 QR 코드를 스캔하여 WhatsApp 받은 메시지함을 빠르게 테스트하십시오", + "MESSENGER_QR_INSTRUCTION": "위의 QR 코드를 스캔하여 Facebook Messenger 받은 메시지함을 빠르게 테스트하십시오", + "TELEGRAM_QR_INSTRUCTION": "위의 QR 코드를 스캔하여 Telegram 받은 메시지함을 빠르게 테스트하십시오" }, "REAUTH": "재승인", "VIEW": "보기", "EDIT": { "API": { - "SUCCESS_MESSAGE": "받은 메시지함 설정이 성공적으로 업데이트됨", - "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "자동 할당 업데이트 완료", - "ERROR_MESSAGE": "We couldn't update inbox settings. Please try again later." + "SUCCESS_MESSAGE": "받은 메시지함 설정이 성공적으로 업데이트되었습니다.", + "AUTO_ASSIGNMENT_SUCCESS_MESSAGE": "자동 할당이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "받은 메시지함 설정을 업데이트할 수 없습니다. 나중에 다시 시도하십시오." }, "EMAIL_COLLECT_BOX": { "ENABLED": "사용함", @@ -562,22 +562,22 @@ "DISABLED": "사용 안 함" }, "SENDER_NAME_SECTION": { - "TITLE": "Sender name", - "SUB_TEXT": "Select the name shown to your customer when they receive emails from your agents.", - "FOR_EG": "For eg:", + "TITLE": "발신자 이름", + "SUB_TEXT": "에이전트로부터 이메일을 받을 때 고객에게 표시되는 이름을 선택하십시오.", + "FOR_EG": "예시:", "FRIENDLY": { - "TITLE": "Friendly", + "TITLE": "친근한", "FROM": "에서", - "SUBTITLE": "Add the name of the agent who sent the reply in the sender name to make it friendly." + "SUBTITLE": "발신자 이름에 답장을 보낸 에이전트의 이름을 추가하여 친근하게 만드십시오." }, "PROFESSIONAL": { - "TITLE": "Professional", - "SUBTITLE": "Use only the configured business name as the sender name in the email header." + "TITLE": "전문적인", + "SUBTITLE": "이메일 헤더에서 구성된 비즈니스 이름만 발신자 이름으로 사용합니다." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", - "PLACEHOLDER": "Enter your business name", - "SAVE_BUTTON_TEXT": "Save" + "BUTTON_TEXT": "+ 비즈니스 이름 구성", + "PLACEHOLDER": "비즈니스 이름을 입력하십시오.", + "SAVE_BUTTON_TEXT": "저장" } }, "ALLOW_MESSAGES_AFTER_RESOLVED": { @@ -589,199 +589,212 @@ "DISABLED": "사용 안 함" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "사용함", - "DISABLED": "사용 안 함" + "ENABLED": "같은 대화 다시 열기", + "DISABLED": "새 대화 만들기", + "ENABLED_DESCRIPTION": "연락처가 다시 메시지를 보내면 이전 대화가 다시 열립니다.", + "DISABLED_DESCRIPTION": "이전 대화가 해결된 후에는 매번 새 대화가 생성됩니다." }, "ENABLE_HMAC": { - "LABEL": "Enable" + "LABEL": "사용" } }, "DELETE": { "BUTTON_TEXT": "삭제", - "AVATAR_DELETE_BUTTON_TEXT": "Delete Avatar", + "AVATAR_DELETE_BUTTON_TEXT": "아바타 삭제", "CONFIRM": { "TITLE": "삭제 확인", "MESSAGE": "삭제하시겠습니까? ", - "PLACE_HOLDER": "Please type {inboxName} to confirm", + "PLACE_HOLDER": "확인하려면 {inboxName}을 입력하십시오.", "YES": "예, 삭제합니다. ", - "NO": "아니요, 유지해주세요. " + "NO": "아니요, 유지합니다. " }, "API": { - "SUCCESS_MESSAGE": "받은 메시지함이 성공적으로 삭제됨.", - "ERROR_MESSAGE": "받은 편지함을 삭제할 수 없음. 나중에 다시 시도해 주십시오.", - "AVATAR_SUCCESS_MESSAGE": "Inbox avatar deleted successfully", - "AVATAR_ERROR_MESSAGE": "Could not delete the inbox avatar. Please try again later." + "SUCCESS_MESSAGE": "받은 메시지함이 성공적으로 삭제되었습니다.", + "ERROR_MESSAGE": "받은 메시지함을 삭제할 수 없습니다. 나중에 다시 시도하십시오.", + "AVATAR_SUCCESS_MESSAGE": "받은 메시지함 아바타가 성공적으로 삭제되었습니다.", + "AVATAR_ERROR_MESSAGE": "받은 메시지함 아바타를 삭제할 수 없습니다. 나중에 다시 시도하십시오." } }, "TABS": { "SETTINGS": "설정", "COLLABORATORS": "협력자", - "CONFIGURATION": "설치", - "CAMPAIGN": "Campaigns", + "CONFIGURATION": "구성", + "CAMPAIGN": "캠페인", "PRE_CHAT_FORM": "대화 전 설문", "BUSINESS_HOURS": "영업시간", - "WIDGET_BUILDER": "Widget Builder", - "BOT_CONFIGURATION": "Bot Configuration", - "ACCOUNT_HEALTH": "Account Health", + "WIDGET_BUILDER": "위젯 빌더", + "BOT_CONFIGURATION": "봇 구성", + "ACCOUNT_HEALTH": "계정 상태", "CSAT": "CSAT" }, "ACCOUNT_HEALTH": { - "TITLE": "Manage your WhatsApp account", - "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", - "GO_TO_SETTINGS": "Go to Meta Business Manager", - "NO_DATA": "Health data is not available", + "TITLE": "WhatsApp 계정 관리", + "DESCRIPTION": "WhatsApp 계정 상태, 메시지 제한 및 품질을 검토하십시오. 필요한 경우 설정을 업데이트하거나 문제를 해결하십시오.", + "GO_TO_SETTINGS": "Meta Business Manager로 이동", + "NO_DATA": "상태 데이터를 사용할 수 없습니다", "FIELDS": { "DISPLAY_PHONE_NUMBER": { - "LABEL": "Display phone number", - "TOOLTIP": "Phone number displayed to customers" + "LABEL": "표시 전화 번호", + "TOOLTIP": "고객에게 표시되는 전화 번호" }, "VERIFIED_NAME": { - "LABEL": "Business name", - "TOOLTIP": "Business name verified by WhatsApp" + "LABEL": "비즈니스 이름", + "TOOLTIP": "WhatsApp에서 인증된 비즈니스 이름" }, "DISPLAY_NAME_STATUS": { - "LABEL": "Display name status", - "TOOLTIP": "Status of your business name verification" + "LABEL": "표시 이름 상태", + "TOOLTIP": "비즈니스 이름 인증 상태" }, "QUALITY_RATING": { - "LABEL": "Quality rating", - "TOOLTIP": "WhatsApp quality rating for your account" + "LABEL": "품질 등급", + "TOOLTIP": "계정의 WhatsApp 품질 등급" }, "MESSAGING_LIMIT_TIER": { - "LABEL": "Messaging limit tier", - "TOOLTIP": "Daily messaging limit for your account" + "LABEL": "메시지 제한 등급", + "TOOLTIP": "계정의 일일 메시지 제한" }, "ACCOUNT_MODE": { - "LABEL": "Account mode", - "TOOLTIP": "Current operating mode of your WhatsApp account" + "LABEL": "계정 모드", + "TOOLTIP": "WhatsApp 계정의 현재 운영 모드" } }, "VALUES": { "TIERS": { - "TIER_250": "250 customers per 24h", - "TIER_1000": "1K customers per 24h", - "TIER_1K": "1K customers per 24h", - "TIER_10K": "10K customers per 24h", - "TIER_100K": "100K customers per 24h", - "TIER_UNLIMITED": "Unlimited customers per 24h", - "UNKNOWN": "Rating not available" + "TIER_250": "24시간당 고객 250명", + "TIER_1000": "24시간당 고객 1,000명", + "TIER_1K": "24시간당 고객 1,000명", + "TIER_10K": "24시간당 고객 10,000명", + "TIER_100K": "24시간당 고객 100,000명", + "TIER_UNLIMITED": "24시간당 무제한 고객", + "UNKNOWN": "등급을 사용할 수 없습니다" }, "STATUSES": { - "APPROVED": "Approved", - "PENDING_REVIEW": "Pending Review", - "AVAILABLE_WITHOUT_REVIEW": "Available Without Review", - "REJECTED": "Rejected", - "DECLINED": "Declined", - "NON_EXISTS": "Non exists" + "APPROVED": "승인됨", + "PENDING_REVIEW": "검토 대기 중", + "AVAILABLE_WITHOUT_REVIEW": "검토 없이 사용 가능", + "REJECTED": "거부됨", + "DECLINED": "거절됨", + "NON_EXISTS": "존재하지 않음" }, "MODES": { - "SANDBOX": "Sandbox", - "LIVE": "Live" + "SANDBOX": "샌드박스", + "LIVE": "라이브" } + }, + "WEBHOOK": { + "TITLE": "웹훅 구성", + "DESCRIPTION": "고객 메시지를 수신하려면 WhatsApp Business 계정에 웹훅 URL이 필요합니다", + "ACTION_REQUIRED": "웹훅이 구성되지 않았습니다", + "REGISTER_BUTTON": "웹훅 등록", + "REGISTER_SUCCESS": "웹훅이 성공적으로 등록되었습니다", + "REGISTER_ERROR": "웹훅 등록에 실패했습니다. 다시 시도하십시오.", + "CONFIGURED_SUCCESS": "웹훅이 성공적으로 구성되었습니다", + "URL_MISMATCH": "웹훅 URL이 일치하지 않습니다" } }, "SETTINGS": "설정", "FEATURES": { - "LABEL": "특징", + "LABEL": "기능", "DISPLAY_FILE_PICKER": "위젯에 파일 선택기 표시", "DISPLAY_EMOJI_PICKER": "위젯에 이모지 선택기 표시", - "ALLOW_END_CONVERSATION": "Allow users to end conversation from the widget", - "USE_INBOX_AVATAR_FOR_BOT": "Use inbox name and avatar for the bot" + "ALLOW_END_CONVERSATION": "사용자가 위젯에서 대화를 종료할 수 있도록 허용", + "USE_INBOX_AVATAR_FOR_BOT": "봇에 받은 메시지함 이름 및 아바타 사용" }, "SETTINGS_POPUP": { "MESSENGER_HEADING": "메신저 스크립트", - "MESSENGER_SUB_HEAD": "이 버튼을 당신의 body 태그 안에 넣으세요.", + "MESSENGER_SUB_HEAD": "이 버튼을 body 태그 안에 넣으십시오.", "ALLOWED_DOMAINS": { - "TITLE": "Allowed Domains", - "SUBTITLE": "Add wildcard or regular domains separated by commas (leave blank to allow all), e.g. *.chatwoot.dev, chatwoot.com.", - "PLACEHOLDER": "Enter domains separated by commas (eg: *.chatwoot.dev, chatwoot.com)" + "TITLE": "허용된 도메인", + "SUBTITLE": "쉼표로 구분된 와일드카드 또는 일반 도메인을 추가하십시오 (모두 허용하려면 비워 두십시오). 예: *.chatwoot.dev, chatwoot.com.", + "PLACEHOLDER": "쉼표로 구분된 도메인을 입력하십시오 (예: *.chatwoot.dev, chatwoot.com)" }, "INBOX_AGENTS": "에이전트", "INBOX_AGENTS_SUB_TEXT": "받은 메시지함에서 에이전트 추가 또는 제거", - "AGENT_ASSIGNMENT": "Conversation Assignment", - "AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings", + "AGENT_ASSIGNMENT": "대화 할당", + "AGENT_ASSIGNMENT_SUB_TEXT": "대화 할당 설정 업데이트", "UPDATE": "업데이트", - "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", - "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Enable or disable email collect box on new conversation", + "ENABLE_EMAIL_COLLECT_BOX": "이메일 수집 박스 사용", + "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "새 대화에서 이메일 수집 박스 사용 또는 사용 안 함", "AUTO_ASSIGNMENT": "자동 할당 사용", - "SENDER_NAME_SECTION": "Enable Agent Name in Email", - "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", - "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", - "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "SENDER_NAME_SECTION": "이메일에 에이전트 이름 표시", + "SENDER_NAME_SECTION_TEXT": "이메일에 에이전트 이름 표시를 사용 또는 사용 안 함으로 설정합니다. 사용 안 함 시 비즈니스 이름이 표시됩니다.", + "ENABLE_CONTINUITY_VIA_EMAIL": "이메일을 통한 대화 연속성 사용", + "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "연락처 이메일 주소가 있는 경우 이메일을 통해 대화가 계속됩니다.", + "LOCK_TO_SINGLE_CONVERSATION": "단일 대화로 제한", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "이 받은 메시지함에서 동일한 연락처에 대한 다중 대화를 사용 또는 사용 안 함으로 설정", "INBOX_UPDATE_TITLE": "받은 메시지함 설정", "INBOX_UPDATE_SUB_TEXT": "받은 메시지함 설정 업데이트", - "AUTO_ASSIGNMENT_SUB_TEXT": "받은 메시지에 추가된 에이전트에 새 대화를 자동으로 할당하거나 할당하지 않도록 설정하십시오.", + "AUTO_ASSIGNMENT_SUB_TEXT": "받은 메시지함에 추가된 에이전트에 새 대화를 자동으로 할당하거나 할당하지 않도록 설정하십시오.", "HMAC_VERIFICATION": "사용자 신원 검증", - "HMAC_DESCRIPTION": "In order to validate the user's identity, you can pass an `identifier_hash` for each user. You can generate a HMAC sha256 hash using the `identifier` with the key shown here.", - "HMAC_LINK_TO_DOCS": "You can read more here.", - "HMAC_MANDATORY_VERIFICATION": "Enforce User Identity Validation", - "HMAC_MANDATORY_DESCRIPTION": "If enabled, requests missing the `identifier_hash` will be rejected.", - "INBOX_IDENTIFIER": "Inbox Identifier", - "INBOX_IDENTIFIER_SUB_TEXT": "Use the `inbox_identifier` token shown here to authentication your API clients.", - "FORWARD_EMAIL_TITLE": "Forward to Email", - "FORWARD_EMAIL_SUB_TEXT": "당신의 이메일 주소로 이메일 전달을 시작하십시오.", - "FORWARD_EMAIL_NOT_CONFIGURED": "Forwarding emails to your inbox is currently disabled on this installation. To use this feature, it must be enabled by your administrator. Please get in touch with them to proceed.", - "ALLOW_MESSAGES_AFTER_RESOLVED": "Allow messages after conversation resolved", - "ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "Allow the end-users to send messages even after the conversation is resolved.", - "WHATSAPP_SECTION_SUBHEADER": "This API Key is used for the integration with the WhatsApp APIs.", - "WHATSAPP_SECTION_UPDATE_SUBHEADER": "Enter the new API key to be used for the integration with the WhatsApp APIs.", + "HMAC_DESCRIPTION": "이 키를 사용하여 사용자의 신원을 확인하는 데 사용할 수 있는 비밀 토큰을 생성할 수 있습니다.", + "HMAC_LINK_TO_DOCS": "자세한 내용은 여기에서 확인할 수 있습니다.", + "HMAC_MANDATORY_VERIFICATION": "사용자 신원 검증 강제 적용", + "HMAC_MANDATORY_DESCRIPTION": "사용 시, 검증할 수 없는 요청은 거부됩니다.", + "INBOX_IDENTIFIER": "받은 메시지함 식별자", + "INBOX_IDENTIFIER_SUB_TEXT": "여기에 표시된 `inbox_identifier` 토큰을 사용하여 API 클라이언트를 인증하십시오.", + "FORWARD_EMAIL_TITLE": "이메일 전달", + "FORWARD_EMAIL_SUB_TEXT": "다음 이메일 주소로 이메일 전달을 시작하십시오.", + "FORWARD_EMAIL_NOT_CONFIGURED": "이 설치에서 받은 메시지함으로의 이메일 전달이 현재 비활성화되어 있습니다. 이 기능을 사용하려면 관리자가 활성화해야 합니다. 관리자에게 문의하십시오.", + "ALLOW_MESSAGES_AFTER_RESOLVED": "대화 해결 후 메시지 허용", + "ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "대화가 해결된 후에도 최종 사용자가 메시지를 보낼 수 있도록 허용합니다.", + "WHATSAPP_SECTION_SUBHEADER": "이 API Key는 WhatsApp API와의 통합에 사용됩니다.", + "WHATSAPP_SECTION_UPDATE_SUBHEADER": "WhatsApp API와의 통합에 사용할 새 API key를 입력하십시오.", "WHATSAPP_SECTION_TITLE": "API Key", - "WHATSAPP_SECTION_UPDATE_TITLE": "Update API Key", - "WHATSAPP_SECTION_UPDATE_PLACEHOLDER": "Enter the new API Key here", + "WHATSAPP_SECTION_UPDATE_TITLE": "API Key 업데이트", + "WHATSAPP_SECTION_UPDATE_PLACEHOLDER": "여기에 새 API Key를 입력하십시오.", "WHATSAPP_SECTION_UPDATE_BUTTON": "업데이트", - "WHATSAPP_EMBEDDED_SIGNUP_TITLE": "WhatsApp Embedded Signup", - "WHATSAPP_EMBEDDED_SIGNUP_SUBHEADER": "This inbox is connected through WhatsApp embedded signup.", - "WHATSAPP_EMBEDDED_SIGNUP_DESCRIPTION": "You can reconfigure this inbox to update your WhatsApp Business settings.", - "WHATSAPP_RECONFIGURE_BUTTON": "Reconfigure", - "WHATSAPP_CONNECT_TITLE": "Connect to WhatsApp Business", - "WHATSAPP_CONNECT_SUBHEADER": "Upgrade to WhatsApp embedded signup for easier management.", - "WHATSAPP_CONNECT_DESCRIPTION": "Connect this inbox to WhatsApp Business for enhanced features and easier management.", + "WHATSAPP_EMBEDDED_SIGNUP_TITLE": "WhatsApp 임베디드 가입", + "WHATSAPP_EMBEDDED_SIGNUP_SUBHEADER": "이 받은 메시지함은 WhatsApp 임베디드 가입을 통해 연결되었습니다.", + "WHATSAPP_EMBEDDED_SIGNUP_DESCRIPTION": "이 받은 메시지함을 다시 구성하여 WhatsApp Business 설정을 업데이트할 수 있습니다.", + "WHATSAPP_RECONFIGURE_BUTTON": "다시 구성", + "WHATSAPP_CONNECT_TITLE": "WhatsApp Business에 연결", + "WHATSAPP_CONNECT_SUBHEADER": "더 쉬운 관리를 위해 WhatsApp 임베디드 가입으로 업그레이드하십시오.", + "WHATSAPP_CONNECT_DESCRIPTION": "향상된 기능과 더 쉬운 관리를 위해 이 받은 메시지함을 WhatsApp Business에 연결하십시오.", "WHATSAPP_CONNECT_BUTTON": "연결", - "WHATSAPP_CONNECT_SUCCESS": "Successfully connected to WhatsApp Business!", - "WHATSAPP_CONNECT_ERROR": "Failed to connect to WhatsApp Business. Please try again.", - "WHATSAPP_RECONFIGURE_SUCCESS": "Successfully reconfigured WhatsApp Business!", - "WHATSAPP_RECONFIGURE_ERROR": "Failed to reconfigure WhatsApp Business. Please try again.", - "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID is not configured. Please contact your administrator.", - "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp Configuration ID is not configured. Please contact your administrator.", - "WHATSAPP_LOGIN_CANCELLED": "WhatsApp login was cancelled. Please try again.", - "WHATSAPP_WEBHOOK_TITLE": "Webhook Verification Token", - "WHATSAPP_WEBHOOK_SUBHEADER": "This token is used to verify the authenticity of the webhook endpoint.", - "WHATSAPP_TEMPLATES_SYNC_TITLE": "Sync Templates", - "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", - "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", - "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", - "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" + "WHATSAPP_CONNECT_SUCCESS": "WhatsApp Business에 성공적으로 연결되었습니다!", + "WHATSAPP_CONNECT_ERROR": "WhatsApp Business에 연결하지 못했습니다. 다시 시도하십시오.", + "WHATSAPP_RECONFIGURE_SUCCESS": "WhatsApp Business가 성공적으로 다시 구성되었습니다!", + "WHATSAPP_RECONFIGURE_ERROR": "WhatsApp Business를 다시 구성하지 못했습니다. 다시 시도하십시오.", + "WHATSAPP_APP_ID_MISSING": "WhatsApp 앱 ID가 구성되지 않았습니다. 관리자에게 문의하십시오.", + "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp 구성 ID가 구성되지 않았습니다. 관리자에게 문의하십시오.", + "WHATSAPP_LOGIN_CANCELLED": "WhatsApp 로그인이 취소되었습니다. 다시 시도하십시오.", + "WHATSAPP_WEBHOOK_TITLE": "웹훅 인증 토큰", + "WHATSAPP_WEBHOOK_SUBHEADER": "이 토큰은 웹훅 엔드포인트의 진위를 확인하는 데 사용됩니다.", + "WHATSAPP_TEMPLATES_SYNC_TITLE": "템플릿 동기화", + "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "WhatsApp에서 메시지 템플릿을 수동으로 동기화하여 사용 가능한 템플릿을 업데이트하십시오.", + "WHATSAPP_TEMPLATES_SYNC_BUTTON": "템플릿 동기화", + "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "템플릿 동기화가 성공적으로 시작되었습니다. 업데이트되기까지 몇 분 정도 걸릴 수 있습니다.", + "UPDATE_PRE_CHAT_FORM_SETTINGS": "대화 전 설문 설정 업데이트" }, "HELP_CENTER": { - "LABEL": "Help Center", - "PLACEHOLDER": "Select Help Center", - "SELECT_PLACEHOLDER": "Select Help Center", - "REMOVE": "Remove Help Center", - "SUB_TEXT": "Attach a Help Center with the inbox" + "LABEL": "도움말 센터", + "PLACEHOLDER": "도움말 센터 선택", + "SELECT_PLACEHOLDER": "도움말 센터 선택", + "REMOVE": "도움말 센터 제거", + "SUB_TEXT": "받은 메시지함에 도움말 센터 연결", + "NONE": "없음" }, "AUTO_ASSIGNMENT": { - "MAX_ASSIGNMENT_LIMIT": "Auto assignment limit", - "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", - "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" + "MAX_ASSIGNMENT_LIMIT": "자동 할당 제한", + "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "0보다 큰 값을 입력하십시오.", + "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "이 받은 메시지함에서 에이전트에게 자동 할당될 수 있는 최대 대화 수를 제한합니다." }, "FACEBOOK_REAUTHORIZE": { "TITLE": "재승인", - "SUBTITLE": "페이스북 연결이 만료되었습니다. 서비스를 계속하려면 페이스북 페이지를 다시 연결하십시오.", + "SUBTITLE": "Facebook 연결이 만료되었습니다. 서비스를 계속하려면 Facebook 페이지를 다시 연결하십시오.", "MESSAGE_SUCCESS": "다시 연결 성공", "MESSAGE_ERROR": "오류가 발생했습니다. 다시 시도하십시오." }, "PRE_CHAT_FORM": { "DESCRIPTION": "대화 전 설문을 통해, 실제 대화 전에 사용자 정보를 확보할 수 있습니다.", - "SET_FIELDS": "Pre chat form fields", + "SET_FIELDS": "대화 전 설문 필드", "SET_FIELDS_HEADER": { - "FIELDS": "Fields", - "LABEL": "Label", - "PLACE_HOLDER": "Placeholder", - "KEY": "Key", - "TYPE": "Type", - "REQUIRED": "Required" + "FIELDS": "필드", + "LABEL": "레이블", + "PLACE_HOLDER": "플레이스홀더", + "KEY": "키", + "TYPE": "유형", + "REQUIRED": "필수" }, "ENABLE": { "LABEL": "대화 전 설문 사용하기", @@ -791,105 +804,121 @@ } }, "PRE_CHAT_MESSAGE": { - "LABEL": "Pre chat message", - "PLACEHOLDER": "이 메시지가 대화전 설문과 함께 사용자에게 보여집니다." + "LABEL": "대화 전 메시지", + "PLACEHOLDER": "이 메시지가 대화 전 설문과 함께 사용자에게 보여집니다." }, "REQUIRE_EMAIL": { "LABEL": "대화 전 사용자들에게 이름과 이메일 주소를 요구합니다." } }, "CSAT": { - "TITLE": "Enable CSAT", - "SUBTITLE": "Automatically trigger CSAT surveys at the end of conversations to understand how customers feel about their support experience. Track satisfaction trends and identify areas for improvement over time.", + "TITLE": "CSAT 사용", + "SUBTITLE": "대화가 끝날 때 자동으로 CSAT 설문조사를 발송하여 고객이 지원 경험에 대해 어떻게 느끼는지 파악합니다. 만족도 추이를 추적하고 시간이 지남에 따라 개선할 영역을 식별합니다.", "DISPLAY_TYPE": { - "LABEL": "Display type" + "LABEL": "표시 유형" }, "MESSAGE": { "LABEL": "메시지", - "PLACEHOLDER": "Please enter a message to show users with the form" + "PLACEHOLDER": "사용자에게 설문과 함께 표시할 메시지를 입력하십시오." }, "BUTTON_TEXT": { - "LABEL": "Button text", - "PLACEHOLDER": "Please rate us" + "LABEL": "버튼 텍스트", + "PLACEHOLDER": "평가해 주십시오" }, "LANGUAGE": { "LABEL": "언어", - "PLACEHOLDER": "Select template language" + "PLACEHOLDER": "템플릿 언어 선택" }, "MESSAGE_PREVIEW": { - "LABEL": "Message preview", - "TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform." + "LABEL": "메시지 미리보기", + "TOOLTIP": "WhatsApp 플랫폼에서 렌더링될 때 약간 다를 수 있습니다." }, "TEMPLATE_STATUS": { - "APPROVED": "Approved by WhatsApp", - "PENDING": "Pending WhatsApp approval", - "REJECTED": "Meta rejected the template", - "DEFAULT": "Needs WhatsApp approval", - "NOT_FOUND": "The template does not exist in the Meta platform." + "APPROVED": "WhatsApp에서 승인됨", + "PENDING": "WhatsApp 승인 대기 중", + "REJECTED": "Meta에서 템플릿을 거부했습니다", + "DEFAULT": "WhatsApp 승인이 필요합니다", + "NOT_FOUND": "Meta 플랫폼에 해당 템플릿이 존재하지 않습니다." }, "TEMPLATE_CREATION": { - "SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval", - "ERROR_MESSAGE": "Failed to create WhatsApp template" + "SUCCESS_MESSAGE": "WhatsApp 템플릿이 성공적으로 생성되어 승인을 위해 전송되었습니다.", + "ERROR_MESSAGE": "WhatsApp 템플릿을 생성하지 못했습니다." }, "TEMPLATE_UPDATE_DIALOG": { - "TITLE": "Edit survey details", - "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", - "CONFIRM": "Create new template", - "CANCEL": "Go back" + "TITLE": "설문 세부 정보 편집", + "DESCRIPTION": "이전 템플릿을 삭제하고 WhatsApp 승인을 위해 다시 전송될 새 템플릿을 만듭니다.", + "CONFIRM": "새 템플릿 만들기", + "CANCEL": "돌아가기" }, "SURVEY_RULE": { - "LABEL": "Survey rule", - "DESCRIPTION_PREFIX": "Send the survey if the conversation", - "DESCRIPTION_SUFFIX": "any of the labels", + "LABEL": "설문 규칙", + "DESCRIPTION_PREFIX": "대화가 다음 레이블 중 하나를", + "DESCRIPTION_SUFFIX": "경우 설문을 전송합니다", "OPERATOR": { - "CONTAINS": "포함된", - "DOES_NOT_CONTAINS": "포함되지 않은" + "CONTAINS": "포함하는", + "DOES_NOT_CONTAINS": "포함하지 않는" }, - "SELECT_PLACEHOLDER": "select labels" + "SELECT_PLACEHOLDER": "레이블 선택" }, - "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "NOTE": "참고: CSAT 설문조사는 대화당 한 번만 전송됩니다.", + "WHATSAPP_NOTE": "참고: 템플릿을 생성하여 WhatsApp 승인을 위해 전송합니다. 승인된 후 설문 규칙에 따라 대화당 한 번만 설문조사가 전송됩니다.", "API": { - "SUCCESS_MESSAGE": "CSAT settings updated successfully", - "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." + "SUCCESS_MESSAGE": "CSAT 설정이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "CSAT 설정을 업데이트할 수 없습니다. 나중에 다시 시도하십시오." + }, + "UTILITY_ANALYZER": { + "ACTION": "유틸리티 적합성 확인", + "HELPER_NOTE": "제출 전에 이 메시지를 확인하여 유틸리티 적합성을 높이십시오. 시스템은 보고용 버튼이 포함된 전용 CSAT 템플릿을 만들고 Utility로 제출하지만, Meta는 내용에 따라 이를 Marketing으로 다시 분류할 수 있습니다.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "이는 가이드용 점검이며 Meta 승인을 보장하지 않습니다.", + "SUGGESTION_LABEL": "추천 유틸리티 안전 문구", + "APPLY": "이 문구 사용", + "ERROR_MESSAGE": "메시지를 분석할 수 없습니다. 다시 시도하십시오.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "유틸리티일 가능성 높음", + "LIKELY_MARKETING": "마케팅일 가능성 높음", + "UNCLEAR": "추가 확인 필요" + } } }, "BUSINESS_HOURS": { "TITLE": "영업시간 설정", - "SUBTITLE": "라이브챗 위젯의 대화용 영업시간을 설정하세요.", + "SUBTITLE": "라이브챗 위젯의 대화용 영업시간을 설정하십시오.", "WEEKLY_TITLE": "일주일 중 영업시간 설정", "TIMEZONE_LABEL": "표준시간대 선택", "UPDATE": "변경된 영업시간 적용", "TOGGLE_AVAILABILITY": "이 받은 메시지함에 대해 영업시간 설정 적용", - "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", - "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", + "UNAVAILABLE_MESSAGE_LABEL": "방문자에게 표시할 부재 메시지", + "TOGGLE_HELP": "영업시간 설정을 사용하면 모든 에이전트가 오프라인이더라도 라이브 채팅 위젯에 근무 가능 시간이 표시됩니다. 근무 가능 시간 외에는 방문자에게 메시지와 대화 전 설문으로 안내할 수 있습니다.", "DAY": { + "DAY": "요일", + "AVAILABILITY": "운영 시간", + "HOURS": "Hours", "ENABLE": "아래 날짜에 대해 영업시간 설정 적용", "UNAVAILABLE": "영업 종료", - "HOURS": "시간", "VALIDATION_ERROR": "영업시작 시간은 영업종료 시간보다 빨라야 합니다.", "CHOOSE": "선택" }, - "ALL_DAY": "All-Day" + "ALL_DAY": "종일" }, "IMAP": { "TITLE": "IMAP", - "SUBTITLE": "Set your IMAP details", - "NOTE_TEXT": "To enable SMTP, please configure IMAP.", - "UPDATE": "Update IMAP settings", - "TOGGLE_AVAILABILITY": "Enable IMAP configuration for this inbox", - "TOGGLE_HELP": "Enabling IMAP will help the user to receive email", + "SUBTITLE": "IMAP 세부 정보를 설정하십시오.", + "NOTE_TEXT": "SMTP를 사용하려면 먼저 IMAP을 구성하십시오.", + "UPDATE": "IMAP 설정 업데이트", + "TOGGLE_AVAILABILITY": "이 받은 메시지함에 대해 IMAP 구성 사용", + "TOGGLE_HELP": "IMAP을 사용하면 이메일을 수신할 수 있습니다.", "EDIT": { - "SUCCESS_MESSAGE": "IMAP settings updated successfully", - "ERROR_MESSAGE": "Unable to update IMAP settings" + "SUCCESS_MESSAGE": "IMAP 설정이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "IMAP 설정을 업데이트할 수 없습니다." }, "ADDRESS": { - "LABEL": "Address", - "PLACE_HOLDER": "Address (Eg: imap.gmail.com)" + "LABEL": "주소", + "PLACE_HOLDER": "주소 (예: imap.gmail.com)" }, "PORT": { - "LABEL": "Port", - "PLACE_HOLDER": "Port" + "LABEL": "포트", + "PLACE_HOLDER": "포트" }, "LOGIN": { "LABEL": "로그인", @@ -899,29 +928,29 @@ "LABEL": "비밀번호", "PLACE_HOLDER": "비밀번호" }, - "ENABLE_SSL": "Enable SSL" + "ENABLE_SSL": "SSL 사용" }, "MICROSOFT": { "TITLE": "Microsoft", - "SUBTITLE": "Reauthorize your MICROSOFT account" + "SUBTITLE": "Microsoft 계정을 재인증하십시오." }, "SMTP": { "TITLE": "SMTP", - "SUBTITLE": "Set your SMTP details", - "UPDATE": "Update SMTP settings", - "TOGGLE_AVAILABILITY": "Enable SMTP configuration for this inbox", - "TOGGLE_HELP": "Enabling SMTP will help the user to send email", + "SUBTITLE": "SMTP 세부 정보를 설정하십시오.", + "UPDATE": "SMTP 설정 업데이트", + "TOGGLE_AVAILABILITY": "이 받은 메시지함에 대해 SMTP 구성 사용", + "TOGGLE_HELP": "SMTP를 사용하면 이메일을 발송할 수 있습니다.", "EDIT": { - "SUCCESS_MESSAGE": "SMTP settings updated successfully", - "ERROR_MESSAGE": "Unable to update SMTP settings" + "SUCCESS_MESSAGE": "SMTP 설정이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "SMTP 설정을 업데이트할 수 없습니다." }, "ADDRESS": { - "LABEL": "Address", - "PLACE_HOLDER": "Address (Eg: smtp.gmail.com)" + "LABEL": "주소", + "PLACE_HOLDER": "주소 (예: smtp.gmail.com)" }, "PORT": { - "LABEL": "Port", - "PLACE_HOLDER": "Port" + "LABEL": "포트", + "PLACE_HOLDER": "포트" }, "LOGIN": { "LABEL": "로그인", @@ -932,23 +961,23 @@ "PLACE_HOLDER": "비밀번호" }, "DOMAIN": { - "LABEL": "Domain", - "PLACE_HOLDER": "Domain" + "LABEL": "도메인", + "PLACE_HOLDER": "도메인" }, - "ENCRYPTION": "Encryption", + "ENCRYPTION": "암호화", "SSL_TLS": "SSL/TLS", "START_TLS": "STARTTLS", - "OPEN_SSL_VERIFY_MODE": "Open SSL Verify Mode", - "AUTH_MECHANISM": "Authentication" + "OPEN_SSL_VERIFY_MODE": "Open SSL 인증 모드", + "AUTH_MECHANISM": "인증" }, - "NOTE": "Note: ", + "NOTE": "참고: ", "WIDGET_BUILDER": { "WIDGET_OPTIONS": { "AVATAR": { - "LABEL": "Website Avatar", + "LABEL": "웹사이트 아바타", "DELETE": { "API": { - "SUCCESS_MESSAGE": "Avatar deleted successfully", + "SUCCESS_MESSAGE": "아바타가 성공적으로 삭제되었습니다.", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } } @@ -956,53 +985,54 @@ "WEBSITE_NAME": { "LABEL": "웹사이트 이름", "PLACE_HOLDER": "웹사이트 이름 입력 (예: Acme Inc)", - "ERROR": "Please enter a valid website name" + "ERROR": "올바른 웹사이트 이름을 입력하십시오." }, "WELCOME_HEADING": { - "LABEL": "헤드라인 입력", - "PLACE_HOLDER": "Hi there!" + "LABEL": "환영 헤드라인", + "PLACE_HOLDER": "안녕하세요!" }, "WELCOME_TAGLINE": { - "LABEL": "태그라인 입력", + "LABEL": "환영 태그라인", "PLACE_HOLDER": "우리는 간단하게 우리와 연결되도록 합니다. 우리에게 무엇이든 물어보거나 피드백을 공유하십시오." }, "REPLY_TIME": { - "LABEL": "Reply Time", + "LABEL": "응답 시간", "IN_A_FEW_MINUTES": "몇 분 후에", "IN_A_FEW_HOURS": "몇 시간 안에", - "IN_A_DAY": "며칠 안에" + "IN_A_DAY": "하루 안에" }, "WIDGET_COLOR_LABEL": "위젯 색깔", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE_POSITION_LABEL": "위젯 버블 위치", + "WIDGET_BUBBLE_TYPE_LABEL": "위젯 버블 유형", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "채팅하기", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "위젯 버블 런처 제목", "PLACE_HOLDER": "채팅하기" }, "UPDATE": { - "BUTTON_TEXT": "Update Widget Settings", + "BUTTON_TEXT": "위젯 설정 업데이트", "API": { - "SUCCESS_MESSAGE": "Widget settings updated successfully", - "ERROR_MESSAGE": "Unable to update widget settings" + "SUCCESS_MESSAGE": "위젯 설정이 성공적으로 업데이트되었습니다.", + "ERROR_MESSAGE": "위젯 설정을 업데이트할 수 없습니다." } }, "WIDGET_VIEW_OPTION": { - "PREVIEW": "Preview", - "SCRIPT": "Script" + "PREVIEW": "미리보기", + "SCRIPT": "스크립트" }, "WIDGET_BUBBLE_POSITION": { - "LEFT": "Left", - "RIGHT": "Right" + "LEFT": "왼쪽", + "RIGHT": "오른쪽" }, "WIDGET_BUBBLE_TYPE": { - "STANDARD": "Standard", - "EXPANDED_BUBBLE": "Expanded Bubble" - } + "STANDARD": "표준", + "EXPANDED_BUBBLE": "확장 버블" + }, + "WIDGET_BUBBLE": "버블" }, "WIDGET_SCREEN": { - "DEFAULT": "Default", - "CHAT": "Chat" + "DEFAULT": "기본", + "CHAT": "채팅" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "보통 몇 분 안에 응답", @@ -1015,11 +1045,11 @@ }, "BODY": { "TEAM_AVAILABILITY": { - "ONLINE": "We are Online", - "OFFLINE": "부재중" + "ONLINE": "현재 온라인입니다", + "OFFLINE": "현재 부재 중입니다" }, - "USER_MESSAGE": "Hi", - "AGENT_MESSAGE": "Hello" + "USER_MESSAGE": "안녕하세요", + "AGENT_MESSAGE": "안녕하십니까" }, "BRANDING_TEXT": "Chatwoot 작동중", "SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};" @@ -1027,20 +1057,20 @@ "EMAIL_PROVIDERS": { "MICROSOFT": { "TITLE": "Microsoft", - "DESCRIPTION": "Connect with Microsoft" + "DESCRIPTION": "Microsoft에 연결" }, "GOOGLE": { "TITLE": "Google", - "DESCRIPTION": "Connect with Google" + "DESCRIPTION": "Google에 연결" }, "OTHER_PROVIDERS": { - "TITLE": "Other Providers", - "DESCRIPTION": "Connect with Other Providers" + "TITLE": "기타 공급자", + "DESCRIPTION": "기타 공급자에 연결" } }, "CHANNELS": { "MESSENGER": "Messenger", - "WEB_WIDGET": "홈페이지", + "WEB_WIDGET": "웹사이트", "TWITTER_PROFILE": "트위터", "TWILIO_SMS": "Twilio SMS", "WHATSAPP": "WhatsApp", @@ -1051,7 +1081,59 @@ "API": "API 채널", "INSTAGRAM": "Instagram", "TIKTOK": "TikTok", - "VOICE": "Voice" - } + "VOICE": "음성" + }, + "ASSIGNMENT": { + "TITLE": "대화 할당", + "DESCRIPTION": "할당 정책에 따라 수신 대화를 사용 가능한 에이전트에게 자동으로 할당합니다.", + "ENABLE_AUTO_ASSIGNMENT": "자동 대화 할당 사용", + "DEFAULT_RULES_TITLE": "기본 할당 규칙", + "DEFAULT_RULES_DESCRIPTION": "모든 대화에 기본 할당 동작을 사용합니다.", + "DEFAULT_RULE_1": "가장 먼저 생성된 대화 우선", + "DEFAULT_RULE_2": "라운드 로빈 배분", + "CUSTOMIZE_WITH_POLICY": "할당 정책으로 사용자 정의", + "USING_POLICY": "이 받은 메시지함에 사용자 정의 할당 정책을 사용 중", + "CUSTOMIZE_POLICY": "할당 정책으로 사용자 정의", + "DELETE_POLICY": "정책 삭제", + "POLICY_LABEL": "할당 정책", + "ASSIGNMENT_ORDER_LABEL": "할당 순서", + "ASSIGNMENT_METHOD_LABEL": "할당 방법", + "POLICY_STATUS": { + "ACTIVE": "활성", + "INACTIVE": "비활성" + }, + "PRIORITY": { + "EARLIEST_CREATED": "가장 먼저 생성됨", + "LONGEST_WAITING": "가장 오래 대기 중" + }, + "METHOD": { + "ROUND_ROBIN": "라운드 로빈", + "BALANCED": "균형 할당" + }, + "UPGRADE_PROMPT": "사용자 정의 할당 정책은 Business 플랜에서 사용할 수 있습니다.", + "UPGRADE_TO_BUSINESS": "Business로 업그레이드", + "DEFAULT_POLICY_LINKED": "기본 정책이 연결됨", + "DEFAULT_POLICY_DESCRIPTION": "이 받은 메시지함에서 대화가 에이전트에게 할당되는 방식을 사용자 정의하려면 사용자 정의 할당 정책을 연결하십시오.", + "LINK_EXISTING_POLICY": "기존 정책 연결", + "CREATE_NEW_POLICY": "새 정책 만들기", + "NO_POLICIES": "할당 정책을 찾을 수 없습니다.", + "VIEW_ALL_POLICIES": "모든 정책 보기", + "CURRENT_BEHAVIOR": "현재 기본 할당 동작을 사용 중:", + "LINK_SUCCESS": "할당 정책이 성공적으로 연결되었습니다.", + "LINK_ERROR": "할당 정책을 연결하지 못했습니다." + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "할당 정책을 삭제하시겠습니까?", + "DELETE_CONFIRM_MESSAGE": "이 받은 메시지함에서 이 할당 정책을 제거하시겠습니까? 받은 메시지함은 기본 할당 규칙으로 돌아갑니다.", + "CANCEL": "취소", + "CONFIRM_DELETE": "삭제", + "DELETE_SUCCESS": "할당 정책이 성공적으로 제거되었습니다.", + "DELETE_ERROR": "할당 정책을 제거하지 못했습니다." + }, + "COUNT": "{n}개의 받은 메시지함 | {n}개의 받은 메시지함", + "SEARCH_PLACEHOLDER": "받은 메시지함 검색...", + "NO_RESULTS": "검색과 일치하는 받은 메시지함이 없습니다", + "CHANNEL_PREFERENCES": "채널 환경설정", + "WIDGET_FEATURES": "위젯 기능" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/integrationApps.json b/app/javascript/dashboard/i18n/locale/ko/integrationApps.json index cf0cd9fec..bc02d5d89 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrationApps.json @@ -1,62 +1,66 @@ { "INTEGRATION_APPS": { - "FETCHING": "Fetching Integrations", - "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", - "HEADER": "Applications", + "FETCHING": "통합을 가져오는 중", + "NO_HOOK_CONFIGURED": "이 계정에 구성된 {integrationId} 통합이 없습니다.", + "HEADER": "애플리케이션", "STATUS": { "ENABLED": "사용함", "DISABLED": "사용 안 함" }, "CONFIGURE": "구성", - "ADD_BUTTON": "Add a new hook", + "ADD_BUTTON": "새 훅 추가", "DELETE": { "TITLE": { - "INBOX": "Confirm deletion", - "ACCOUNT": "Disconnect" + "INBOX": "삭제 확인", + "ACCOUNT": "연결 해제" }, "MESSAGE": { - "INBOX": "Are you sure to delete?", - "ACCOUNT": "Are you sure to disconnect?" + "INBOX": "삭제하시겠습니까?", + "ACCOUNT": "연결을 해제하시겠습니까?" }, "CONFIRM_BUTTON_TEXT": { - "INBOX": "Yes, Delete", - "ACCOUNT": "Yes, Disconnect" + "INBOX": "예, 삭제합니다", + "ACCOUNT": "예, 연결을 해제합니다" }, "CANCEL_BUTTON_TEXT": "취소", "API": { - "SUCCESS_MESSAGE": "Hook deleted successfully", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "훅이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "LIST": { - "FETCHING": "Fetching integration hooks", + "FETCHING": "통합 훅을 가져오는 중", "INBOX": "받은 메시지함", "DELETE": { "BUTTON_TEXT": "삭제" - } + }, + "ACTIONS": "액션" }, "ADD": { "FORM": { "INBOX": { - "LABEL": "Select Inbox", - "PLACEHOLDER": "Select Inbox" + "LABEL": "받은 메시지함 선택", + "PLACEHOLDER": "받은 메시지함 선택" }, "SUBMIT": "만들기", "CANCEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Integration hook added successfully", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "통합 훅이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "CONNECT": { "BUTTON_TEXT": "연결" }, "DISCONNECT": { - "BUTTON_TEXT": "Disconnect" + "BUTTON_TEXT": "연결 해제" }, "SIDEBAR_DESCRIPTION": { - "DIALOGFLOW": "Dialogflow is a natural language processing platform for building conversational interfaces. Integrating it with {installationName} lets bots handle queries first and transfer them to agents when needed. It helps qualify leads and reduce agent workload by answering FAQs. To add Dialogflow, create a Service Account in Google Console and share the credentials. Refer to the docs for details" - } + "DIALOGFLOW": "Dialogflow는 대화형 인터페이스를 구축하기 위한 자연어 처리 플랫폼입니다. {installationName}와(과) 통합하면 봇이 먼저 문의를 처리하고 필요할 때 에이전트에게 전달할 수 있습니다. 리드 평가에 도움이 되고 FAQ 응답을 통해 에이전트 업무량을 줄여줍니다. Dialogflow를 추가하려면 Google Console에서 서비스 계정을 만들고 자격 증명을 공유하십시오. 자세한 내용은 문서를 참조하십시오" + }, + "COUNT": "{n}개의 통합 | {n}개의 통합", + "SEARCH_PLACEHOLDER": "검색...", + "NO_RESULTS": "검색과 일치하는 결과가 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json index 16add473d..4ba307dd0 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json @@ -2,416 +2,460 @@ "INTEGRATION_SETTINGS": { "SHOPIFY": { "DELETE": { - "TITLE": "Delete Shopify Integration", - "MESSAGE": "Are you sure you want to delete the Shopify integration?" + "TITLE": "Shopify 연동 삭제", + "MESSAGE": "Shopify 연동을 삭제하시겠습니까?" }, "STORE_URL": { - "TITLE": "Connect Shopify Store", - "LABEL": "Store URL", + "TITLE": "Shopify 스토어 연결", + "LABEL": "스토어 URL", "PLACEHOLDER": "your-store.myshopify.com", - "HELP": "Enter your Shopify store's myshopify.com URL", + "HELP": "Shopify 스토어의 myshopify.com URL을 입력하십시오", "CANCEL": "취소", - "SUBMIT": "Connect Store" + "SUBMIT": "스토어 연결" }, - "ERROR": "There was an error connecting to Shopify. Please try again or contact support if the issue persists." + "ERROR": "Shopify에 연결하는 중 오류가 발생했습니다. 다시 시도하시거나 문제가 지속되면 지원팀에 문의하십시오.", + "HEADER": "Shopify" }, "HEADER": "통합", - "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", - "LEARN_MORE": "Learn more about integrations", - "LOADING": "Fetching integrations", + "DESCRIPTION": "Chatwoot은 다양한 도구 및 서비스와 통합하여 팀의 효율성을 향상시킵니다. 아래 목록을 탐색하여 자주 사용하는 앱을 구성하십시오.", + "LEARN_MORE": "통합에 대해 자세히 알아보기", + "LOADING": "통합을 가져오는 중", "CAPTAIN": { - "DISABLED": "Captain is not enabled on your account.", - "CLICK_HERE_TO_CONFIGURE": "Click here to configure", - "LOADING_CONSOLE": "Loading Captain Console...", - "FAILED_TO_LOAD_CONSOLE": "Failed to load Captain Console. Please refresh and try again." + "DISABLED": "계정에서 Captain이 활성화되어 있지 않습니다.", + "CLICK_HERE_TO_CONFIGURE": "여기를 클릭하여 구성하십시오", + "LOADING_CONSOLE": "Captain 콘솔을 로드하는 중...", + "FAILED_TO_LOAD_CONSOLE": "Captain 콘솔을 로드하지 못했습니다. 페이지를 새로고침한 후 다시 시도하십시오." }, "WEBHOOK": { - "SUBSCRIBED_EVENTS": "Subscribed Events", - "LEARN_MORE": "Learn more about webhooks", + "SUBSCRIBED_EVENTS": "구독된 이벤트", + "LEARN_MORE": "webhook에 대해 자세히 알아보기", "FORM": { "CANCEL": "취소", - "DESC": "웹훅 이벤트는 Chatwoot 계정에서 일어나는 일에 대한 실시간 정보를 제공합니다. 콜백을 구성하려면 유효한 URL을 입력하십시오.", + "DESC": "webhook 이벤트는 Chatwoot 계정에서 일어나는 일에 대한 실시간 정보를 제공합니다. 콜백을 구성하려면 유효한 URL을 입력하십시오.", "SUBSCRIPTIONS": { - "LABEL": "Events", + "LABEL": "이벤트", "EVENTS": { - "CONVERSATION_CREATED": "Conversation Created", - "CONVERSATION_STATUS_CHANGED": "Conversation Status Changed", - "CONVERSATION_UPDATED": "Conversation Updated", - "MESSAGE_CREATED": "Message created", - "MESSAGE_UPDATED": "Message updated", - "WEBWIDGET_TRIGGERED": "Live chat widget opened by the user", - "CONTACT_CREATED": "Contact created", - "CONTACT_UPDATED": "Contact updated", - "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_CREATED": "대화 생성됨", + "CONVERSATION_STATUS_CHANGED": "대화 상태 변경됨", + "CONVERSATION_UPDATED": "대화 업데이트됨", + "MESSAGE_CREATED": "메시지 생성됨", + "MESSAGE_UPDATED": "메시지 업데이트됨", + "WEBWIDGET_TRIGGERED": "사용자가 실시간 채팅 위젯을 열었습니다", + "CONTACT_CREATED": "연락처 생성됨", + "CONTACT_UPDATED": "연락처 업데이트됨", + "CONVERSATION_TYPING_ON": "대화 입력 중", + "CONVERSATION_TYPING_OFF": "대화 입력 중지" } }, "NAME": { - "LABEL": "Webhook Name", - "PLACEHOLDER": "Enter the name of the webhook" + "LABEL": "webhook 이름", + "PLACEHOLDER": "webhook 이름을 입력하십시오" }, "END_POINT": { - "LABEL": "웹훅 URL", - "PLACEHOLDER": "Example: {webhookExampleURL}", + "LABEL": "webhook URL", + "PLACEHOLDER": "예: {webhookExampleURL}", "ERROR": "올바른 URL을 입력하십시오." }, - "EDIT_SUBMIT": "Update webhook", - "ADD_SUBMIT": "웹훅 만들기" + "EDIT_SUBMIT": "webhook 업데이트", + "ADD_SUBMIT": "webhook 만들기" }, - "TITLE": "웹훅", + "TITLE": "webhook", "CONFIGURE": "구성", - "HEADER": "웹훅 설정", - "HEADER_BTN_TXT": "새 웹훅 추가", - "LOADING": "첨부된 웹훅을 가져오는 중", - "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", - "SIDEBAR_TXT": "

라벨

라벨은 대화를 분류하고 우선순위를 정하는 데 도움이 된다. 사이드패널에서 대화에 라벨을 할당할 수 있다.

라벨은 계정에 연결되며 조직에서 사용자 정의 워크플로우를 만드는 데 사용할 수 있다. 라벨에 사용자 정의 색상을 지정할 수 있으며, 라벨을 쉽게 식별할 수 있다. 사이드바에 라벨을 표시하여 대화를 쉽게 필터링할 수 있다.

", + "HEADER": "webhook 설정", + "HEADER_BTN_TXT": "새 webhook 추가", + "LOADING": "연결된 webhook을 가져오는 중", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없습니다", + "SIDEBAR_TXT": "

webhook

webhook은 모든 계정에 대해 정의할 수 있는 HTTP 콜백입니다. Chatwoot에서 메시지 생성과 같은 이벤트에 의해 트리거됩니다. 이 계정에 대해 하나 이상의 webhook을 만들 수 있습니다.

webhook을 만들려면 새 webhook 추가 버튼을 클릭하십시오. 삭제 버튼을 클릭하여 기존 webhook을 제거할 수도 있습니다.

", "LIST": { - "404": "이 계정에 구성된 웹훅이 없음.", - "TITLE": "웹훅 관리", + "404": "이 계정에 구성된 webhook이 없습니다.", + "TITLE": "webhook 관리", "TABLE_HEADER": { - "WEBHOOK_ENDPOINT": "웹훅 엔드포인트", + "WEBHOOK_ENDPOINT": "webhook 엔드포인트", "ACTIONS": "액션" } }, "EDIT": { "BUTTON_TEXT": "수정", - "TITLE": "Edit webhook", + "TITLE": "webhook 수정", "API": { - "SUCCESS_MESSAGE": "Webhook configuration updated successfully", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "webhook 구성이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "ADD": { "CANCEL": "취소", - "TITLE": "새 웹훅 추가", + "TITLE": "새 webhook 추가", "API": { - "SUCCESS_MESSAGE": "Webhook configuration added successfully", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "webhook 구성이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "웹훅이 성공적으로 삭제됨", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "webhook이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, "CONFIRM": { "TITLE": "삭제 확인", - "MESSAGE": "Are you sure to delete the webhook? ({webhookURL})", - "YES": "예, 삭제합니다. ", - "NO": "아니요, 유지합니다." + "MESSAGE": "webhook을 삭제하시겠습니까? ({webhookURL})", + "YES": "예, 삭제합니다 ", + "NO": "아니요, 유지합니다" } - } + }, + "SECRET": { + "LABEL": "Secret", + "COPY": "시크릿을 클립보드에 복사", + "COPY_SUCCESS": "시크릿이 클립보드에 복사되었습니다", + "TOGGLE": "시크릿 표시 전환", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n}개의 웹훅 | {n}개의 웹훅", + "SEARCH_PLACEHOLDER": "웹훅 검색...", + "NO_RESULTS": "검색과 일치하는 웹훅이 없습니다" }, "SLACK": { "DELETE": "삭제", "DELETE_CONFIRMATION": { - "TITLE": "Delete the integration", - "MESSAGE": "Are you sure you want to delete the integration? Doing so will result in the loss of access to conversations on your Slack workspace." + "TITLE": "연동 삭제", + "MESSAGE": "연동을 삭제하시겠습니까? 삭제하면 Slack 워크스페이스의 대화에 대한 액세스가 사라집니다." }, "HELP_TEXT": { - "TITLE": "Using Slack Integration", - "BODY": "With this integration, all of your incoming conversations will be synced to the ***{selectedChannelName}*** channel in your Slack workspace. You can manage all your customer conversations right within the channel and never miss a message.\n\nHere are the main features of the integration:\n\n**Respond to conversations from within Slack:** To respond to a conversation in the ***{selectedChannelName}*** Slack channel, simply type out your message and send it as a thread. This will create a response back to the customer through Chatwoot. It's that simple!\n\n **Create private notes:** If you want to create private notes instead of replies, start your message with ***`note:`***. This ensures that your message is kept private and won't be visible to the customer.\n\n**Associate an agent profile:** If the person who replied on Slack has an agent profile in Chatwoot under the same email, the replies will be associated with that agent profile automatically. This means you can easily track who said what and when. On the other hand, when the replier doesn't have an associated agent profile, the replies will appear from the bot profile to the customer.", - "SELECTED": "selected" + "TITLE": "Slack 연동 사용 방법", + "BODY": "이 연동을 통해 모든 수신 대화가 Slack 워크스페이스의 ***{selectedChannelName}*** 채널에 동기화됩니다. 채널 내에서 바로 모든 고객 대화를 관리할 수 있으며 메시지를 놓치지 않습니다.\n\n이 연동의 주요 기능은 다음과 같습니다:\n\n**Slack 내에서 대화에 응답하기:** ***{selectedChannelName}*** Slack 채널에서 대화에 응답하려면 메시지를 입력하고 스레드로 전송하십시오. 이렇게 하면 Chatwoot을 통해 고객에게 응답이 생성됩니다. 매우 간단합니다!\n\n **비공개 메모 작성:** 답장 대신 비공개 메모를 작성하려면 메시지를 ***`note:`***로 시작하십시오. 이렇게 하면 메시지가 비공개로 유지되며 고객에게 표시되지 않습니다.\n\n**상담원 프로필 연결:** Slack에서 답장한 사람이 동일한 이메일로 Chatwoot에 상담원 프로필을 가지고 있는 경우, 답장이 자동으로 해당 상담원 프로필과 연결됩니다. 이를 통해 누가 언제 무엇을 말했는지 쉽게 추적할 수 있습니다. 반면 답장한 사람에게 연결된 상담원 프로필이 없는 경우, 고객에게는 봇 프로필에서 보낸 것으로 표시됩니다.", + "SELECTED": "선택됨" }, "SELECT_CHANNEL": { - "OPTION_LABEL": "Select a channel", + "OPTION_LABEL": "채널 선택", "UPDATE": "업데이트", - "BUTTON_TEXT": "Connect channel", - "DESCRIPTION": "Your Slack workspace is now linked with Chatwoot. However, the integration is currently inactive. To activate the integration and connect a channel to Chatwoot, please click the button below.\n\n**Note:** If you are attempting to connect a private channel, add the Chatwoot app to the Slack channel before proceeding with this step.", - "ATTENTION_REQUIRED": "Attention required", - "EXPIRED": "Your Slack integration has expired. To continue receiving messages on Slack, please delete the integration and connect your workspace again." + "BUTTON_TEXT": "채널 연결", + "DESCRIPTION": "Slack 워크스페이스가 Chatwoot에 연결되었습니다. 그러나 현재 연동이 비활성 상태입니다. 연동을 활성화하고 채널을 Chatwoot에 연결하려면 아래 버튼을 클릭하십시오.\n\n**참고:** 비공개 채널을 연결하려는 경우, 이 단계를 진행하기 전에 Chatwoot 앱을 Slack 채널에 추가하십시오.", + "ATTENTION_REQUIRED": "주의가 필요합니다", + "EXPIRED": "Slack 연동이 만료되었습니다. Slack에서 메시지를 계속 수신하려면 연동을 삭제하고 워크스페이스를 다시 연결하십시오." }, - "UPDATE_ERROR": "There was an error updating the integration, please try again", - "UPDATE_SUCCESS": "The channel is connected successfully", - "FAILED_TO_FETCH_CHANNELS": "There was an error fetching the channels from Slack, please try again" + "UPDATE_ERROR": "연동을 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "UPDATE_SUCCESS": "채널이 성공적으로 연결되었습니다", + "FAILED_TO_FETCH_CHANNELS": "Slack에서 채널을 가져오는 중 오류가 발생했습니다. 다시 시도하십시오.", + "HEADER": "Slack" }, "DYTE": { - "CLICK_HERE_TO_JOIN": "Click here to join", - "LEAVE_THE_ROOM": "Leave the room", - "START_VIDEO_CALL_HELP_TEXT": "Start a new video call with the customer", - "JOIN_ERROR": "There was an error joining the call, please try again", - "CREATE_ERROR": "There was an error creating a meeting link, please try again" + "CLICK_HERE_TO_JOIN": "여기를 클릭하여 참여하십시오", + "LEAVE_THE_ROOM": "방 나가기", + "START_VIDEO_CALL_HELP_TEXT": "고객과 새 영상 통화를 시작합니다", + "JOIN_ERROR": "통화에 참여하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "CREATE_ERROR": "회의 링크를 생성하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "OPEN_AI": { - "AI_ASSIST": "AI Assist", - "WITH_AI": " {option} with AI ", + "AI_ASSIST": "AI 어시스트", + "WITH_AI": " AI로 {option} ", "OPTIONS": { - "REPLY_SUGGESTION": "Reply Suggestion", - "SUMMARIZE": "Summarize", - "REPHRASE": "Improve Writing", - "FIX_SPELLING_GRAMMAR": "Fix Spelling and Grammar", - "SHORTEN": "Shorten", - "EXPAND": "Expand", - "MAKE_FRIENDLY": "Change message tone to friendly", - "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "REPLY_SUGGESTION": "답장 제안", + "SUMMARIZE": "요약", + "REPHRASE": "문장 개선", + "FIX_SPELLING_GRAMMAR": "맞춤법 및 문법 수정", + "SHORTEN": "줄이기", + "EXPAND": "확장", + "MAKE_FRIENDLY": "메시지 톤을 친근하게 변경", + "MAKE_FORMAL": "격식체 사용", + "SIMPLIFY": "간소화", + "CONFIDENT": "자신감 있는 톤 사용", + "PROFESSIONAL": "전문적인 톤 사용", + "CASUAL": "캐주얼한 톤 사용", + "STRAIGHTFORWARD": "직설적인 톤 사용" }, "ASSISTANCE_MODAL": { - "DRAFT_TITLE": "Draft content", - "GENERATED_TITLE": "Generated content", - "AI_WRITING": "AI is writing", + "DRAFT_TITLE": "초안 내용", + "GENERATED_TITLE": "생성된 내용", + "AI_WRITING": "AI가 작성 중입니다", "BUTTONS": { - "APPLY": "Use this suggestion", + "APPLY": "이 제안 사용", "CANCEL": "취소" } }, "CTA_MODAL": { - "TITLE": "Integrate with OpenAI", - "DESC": "Bring advanced AI features to your dashboard with OpenAI's GPT models. To begin, enter the API key from your OpenAI account.", - "KEY_PLACEHOLDER": "Enter your OpenAI API key", + "TITLE": "OpenAI와 통합", + "DESC": "OpenAI의 GPT 모델을 사용하여 대시보드에 고급 AI 기능을 도입하십시오. 시작하려면 OpenAI 계정의 API 키를 입력하십시오.", + "KEY_PLACEHOLDER": "OpenAI API 키를 입력하십시오", "BUTTONS": { - "NEED_HELP": "Need help?", - "DISMISS": "Dismiss", - "FINISH": "Finish Setup" + "NEED_HELP": "도움이 필요하십니까?", + "DISMISS": "닫기", + "FINISH": "설정 완료" }, - "DISMISS_MESSAGE": "You can setup OpenAI integration later Whenever you want.", - "SUCCESS_MESSAGE": "OpenAI integration setup successfully" + "DISMISS_MESSAGE": "OpenAI 연동은 원하실 때 언제든지 설정할 수 있습니다.", + "SUCCESS_MESSAGE": "OpenAI 연동이 성공적으로 설정되었습니다" }, - "TITLE": "Improve With AI", - "SUMMARY_TITLE": "Summary with AI", - "REPLY_TITLE": "Reply suggestion with AI", - "SUBTITLE": "An improved reply will be generated using AI, based on your current draft.", + "TITLE": "AI로 개선", + "SUMMARY_TITLE": "AI 요약", + "REPLY_TITLE": "AI 답장 제안", + "SUBTITLE": "현재 초안을 기반으로 AI를 사용하여 개선된 답장이 생성됩니다.", "TONE": { - "TITLE": "Tone", + "TITLE": "톤", "OPTIONS": { - "PROFESSIONAL": "Professional", - "FRIENDLY": "Friendly" + "PROFESSIONAL": "전문적", + "FRIENDLY": "친근한" } }, "BUTTONS": { - "GENERATE": "Generate", - "GENERATING": "Generating...", + "GENERATE": "생성", + "GENERATING": "생성 중...", "CANCEL": "취소" }, - "GENERATE_ERROR": "There was an error processing the content, please try again" + "GENERATE_ERROR": "내용을 처리하는 중 오류가 발생했습니다. OpenAI API 키를 확인한 후 다시 시도하십시오.", + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "답장 개선", + "IMPROVE_REPLY_SELECTION": "선택 항목 개선", + "CHANGE_TONE": { + "TITLE": "톤 변경", + "OPTIONS": { + "PROFESSIONAL": "전문적", + "CASUAL": "캐주얼", + "STRAIGHTFORWARD": "직설적", + "CONFIDENT": "자신감 있는", + "FRIENDLY": "친근한" + } + }, + "GRAMMAR": "문법 및 맞춤법 수정", + "SUGGESTION": "답장 제안", + "SUMMARIZE": "대화 요약", + "ASK_COPILOT": "Copilot에게 질문" + } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "통합이 성공적으로 삭제됨." + "SUCCESS_MESSAGE": "통합이 성공적으로 삭제되었습니다" } }, "CONNECT": { "BUTTON_TEXT": "연결" }, "DASHBOARD_APPS": { - "TITLE": "Dashboard Apps", - "HEADER_BTN_TXT": "Add a new dashboard app", - "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", - "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", - "LEARN_MORE": "Learn more about Dashboard Apps", + "TITLE": "대시보드 앱", + "HEADER_BTN_TXT": "새 대시보드 앱 추가", + "SIDEBAR_TXT": "

대시보드 앱

대시보드 앱을 사용하면 조직이 Chatwoot 대시보드 내에 애플리케이션을 임베드하여 고객 지원 상담원에게 컨텍스트를 제공할 수 있습니다. 이 기능을 사용하면 독립적으로 애플리케이션을 만들고 대시보드 내에 임베드하여 사용자 정보, 주문 내역 또는 이전 결제 내역을 제공할 수 있습니다.

Chatwoot의 대시보드를 사용하여 애플리케이션을 임베드하면, 애플리케이션은 대화 및 연락처 컨텍스트를 윈도우 이벤트로 수신합니다. 컨텍스트를 수신하려면 페이지에서 메시지 이벤트에 대한 리스너를 구현하십시오.

새 대시보드 앱을 추가하려면 '새 대시보드 앱 추가' 버튼을 클릭하십시오.

", + "DESCRIPTION": "대시보드 앱을 사용하면 조직이 대시보드 내에 애플리케이션을 임베드하여 고객 지원 상담원에게 컨텍스트를 제공할 수 있습니다. 이 기능을 사용하면 독립적으로 애플리케이션을 만들고 임베드하여 사용자 정보, 주문 내역 또는 이전 결제 내역을 제공할 수 있습니다.", + "LEARN_MORE": "대시보드 앱에 대해 자세히 알아보기", "LIST": { - "404": "There are no dashboard apps configured on this account yet", - "LOADING": "Fetching dashboard apps...", + "404": "이 계정에 구성된 대시보드 앱이 아직 없습니다", + "LOADING": "대시보드 앱을 가져오는 중...", "TABLE_HEADER": { "NAME": "이름", - "ENDPOINT": "Endpoint" + "ENDPOINT": "엔드포인트", + "ACTIONS": "액션" }, - "EDIT_TOOLTIP": "Edit app", - "DELETE_TOOLTIP": "Delete app" + "EDIT_TOOLTIP": "앱 수정", + "DELETE_TOOLTIP": "앱 삭제" }, "FORM": { "TITLE_LABEL": "이름", - "TITLE_PLACEHOLDER": "Enter a name for your dashboard app", - "TITLE_ERROR": "A name for the dashboard app is required", - "URL_LABEL": "Endpoint", - "URL_PLACEHOLDER": "Enter the endpoint URL where your app is hosted", - "URL_ERROR": "A valid URL is required" + "TITLE_PLACEHOLDER": "대시보드 앱의 이름을 입력하십시오", + "TITLE_ERROR": "대시보드 앱의 이름은 필수입니다", + "URL_LABEL": "엔드포인트", + "URL_PLACEHOLDER": "앱이 호스팅되는 엔드포인트 URL을 입력하십시오", + "URL_ERROR": "유효한 URL이 필요합니다" }, "CREATE": { - "HEADER": "Add a new dashboard app", + "HEADER": "새 대시보드 앱 추가", "FORM_SUBMIT": "보내기", "FORM_CANCEL": "취소", - "API_SUCCESS": "Dashboard app configured successfully", - "API_ERROR": "We couldn't create an app. Please try again later" + "API_SUCCESS": "대시보드 앱이 성공적으로 구성되었습니다", + "API_ERROR": "앱을 만들 수 없었습니다. 나중에 다시 시도하십시오." }, "UPDATE": { - "HEADER": "Edit dashboard app", + "HEADER": "대시보드 앱 수정", "FORM_SUBMIT": "업데이트", "FORM_CANCEL": "취소", - "API_SUCCESS": "Dashboard app updated successfully", - "API_ERROR": "We couldn't update the app. Please try again later" + "API_SUCCESS": "대시보드 앱이 성공적으로 업데이트되었습니다", + "API_ERROR": "앱을 업데이트할 수 없었습니다. 나중에 다시 시도하십시오." }, "DELETE": { - "CONFIRM_YES": "Yes, delete it", - "CONFIRM_NO": "No, keep it", - "TITLE": "Confirm deletion", - "MESSAGE": "Are you sure to delete the app - {appName}?", - "API_SUCCESS": "Dashboard app deleted successfully", - "API_ERROR": "We couldn't delete the app. Please try again later" - } + "CONFIRM_YES": "예, 삭제합니다", + "CONFIRM_NO": "아니요, 유지합니다", + "TITLE": "삭제 확인", + "MESSAGE": "앱을 삭제하시겠습니까 - {appName}?", + "API_SUCCESS": "대시보드 앱이 성공적으로 삭제되었습니다", + "API_ERROR": "앱을 삭제할 수 없었습니다. 나중에 다시 시도하십시오." + }, + "COUNT": "{n}개의 대시보드 앱 | {n}개의 대시보드 앱", + "SEARCH_PLACEHOLDER": "대시보드 앱 검색...", + "NO_RESULTS": "검색과 일치하는 대시보드 앱이 없습니다" }, "LINEAR": { - "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", - "LOADING": "Fetching linear issues...", - "LOADING_ERROR": "There was an error fetching the linear issues, please try again", + "ADD_OR_LINK_BUTTON": "Linear 이슈 생성/연결", + "LOADING": "Linear 이슈를 가져오는 중...", + "LOADING_ERROR": "Linear 이슈를 가져오는 중 오류가 발생했습니다. 다시 시도하십시오.", "CREATE": "만들기", "LINK": { - "SEARCH": "Search issues", - "SELECT": "Select issue", - "TITLE": "링크", - "EMPTY_LIST": "No linear issues found", - "LOADING": "Loading", - "ERROR": "There was an error fetching the linear issues, please try again", - "LINK_SUCCESS": "Issue linked successfully", - "LINK_ERROR": "There was an error linking the issue, please try again", - "LINK_TITLE": "Conversation (#{conversationId}) with {name}" + "SEARCH": "이슈 검색", + "SELECT": "이슈 선택", + "TITLE": "연결", + "EMPTY_LIST": "Linear 이슈를 찾을 수 없습니다", + "LOADING": "로딩 중", + "ERROR": "Linear 이슈를 가져오는 중 오류가 발생했습니다. 다시 시도하십시오.", + "LINK_SUCCESS": "이슈가 성공적으로 연결되었습니다", + "LINK_ERROR": "이슈를 연결하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "LINK_TITLE": "대화 (#{conversationId}) - {name}" }, "ADD_OR_LINK": { - "TITLE": "Create/link linear issue", - "DESCRIPTION": "Create Linear issues from conversations, or link existing ones for seamless tracking.", + "TITLE": "Linear 이슈 생성/연결", + "DESCRIPTION": "대화에서 Linear 이슈를 생성하거나 기존 이슈를 연결하여 원활하게 추적할 수 있습니다.", "FORM": { "TITLE": { - "LABEL": "Title", - "PLACEHOLDER": "Enter title", - "REQUIRED_ERROR": "Title is required" + "LABEL": "제목", + "PLACEHOLDER": "제목을 입력하십시오", + "REQUIRED_ERROR": "제목은 필수입니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Enter description" + "LABEL": "설명", + "PLACEHOLDER": "설명을 입력하십시오" }, "TEAM": { - "LABEL": "Team", + "LABEL": "팀", "PLACEHOLDER": "팀 선택", - "SEARCH": "Search team", - "REQUIRED_ERROR": "Team is required" + "SEARCH": "팀 검색", + "REQUIRED_ERROR": "팀은 필수입니다" }, "ASSIGNEE": { - "LABEL": "Assignee", - "PLACEHOLDER": "Select assignee", - "SEARCH": "Search assignee" + "LABEL": "담당자", + "PLACEHOLDER": "담당자 선택", + "SEARCH": "담당자 검색" }, "PRIORITY": { - "LABEL": "Priority", - "PLACEHOLDER": "Select priority", - "SEARCH": "Search priority" + "LABEL": "우선순위", + "PLACEHOLDER": "우선순위 선택", + "SEARCH": "우선순위 검색" }, "LABEL": { - "LABEL": "Label", - "PLACEHOLDER": "Select label", - "SEARCH": "Search label" + "LABEL": "라벨", + "PLACEHOLDER": "라벨 선택", + "SEARCH": "라벨 검색" }, "STATUS": { "LABEL": "상태", - "PLACEHOLDER": "Select status", - "SEARCH": "Search status" + "PLACEHOLDER": "상태 선택", + "SEARCH": "상태 검색" }, "PROJECT": { - "LABEL": "Project", - "PLACEHOLDER": "Select project", - "SEARCH": "Search project" + "LABEL": "프로젝트", + "PLACEHOLDER": "프로젝트 선택", + "SEARCH": "프로젝트 검색" } }, "CREATE": "만들기", "CANCEL": "취소", - "CREATE_SUCCESS": "Issue created successfully", - "CREATE_ERROR": "There was an error creating the issue, please try again", - "LOADING_TEAM_ERROR": "There was an error fetching the teams, please try again", - "LOADING_TEAM_ENTITIES_ERROR": "There was an error fetching the team entities, please try again" + "CREATE_SUCCESS": "이슈가 성공적으로 생성되었습니다", + "CREATE_ERROR": "이슈를 생성하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "LOADING_TEAM_ERROR": "팀을 가져오는 중 오류가 발생했습니다. 다시 시도하십시오.", + "LOADING_TEAM_ENTITIES_ERROR": "팀 엔티티를 가져오는 중 오류가 발생했습니다. 다시 시도하십시오." }, "ISSUE": { "STATUS": "상태", - "PRIORITY": "Priority", - "ASSIGNEE": "Assignee", + "PRIORITY": "우선순위", + "ASSIGNEE": "담당자", "LABELS": "라벨", - "CREATED_AT": "Created at {createdAt}" + "CREATED_AT": "생성일: {createdAt}" }, "UNLINK": { - "TITLE": "Unlink", - "SUCCESS": "Issue unlinked successfully", - "ERROR": "There was an error unlinking the issue, please try again" + "TITLE": "연결 해제", + "SUCCESS": "이슈 연결이 성공적으로 해제되었습니다", + "ERROR": "이슈 연결을 해제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, - "NO_LINKED_ISSUES": "No linked issues found", + "NO_LINKED_ISSUES": "연결된 이슈가 없습니다", "DELETE": { - "TITLE": "Are you sure you want to delete the integration?", - "MESSAGE": "Are you sure you want to delete the integration?", - "CONFIRM": "Yes, delete", + "TITLE": "연동을 삭제하시겠습니까?", + "MESSAGE": "연동을 삭제하시겠습니까?", + "CONFIRM": "예, 삭제합니다", "CANCEL": "취소" }, "CTA": { - "TITLE": "Connect to Linear", - "AGENT_DESCRIPTION": "Linear workspace is not connected. Request your administrator to connect a workspace to use this integration.", - "DESCRIPTION": "Linear workspace is not connected. Click the button below to connect your workspace to use this integration.", - "BUTTON_TEXT": "Connect Linear workspace" - } + "TITLE": "Linear에 연결", + "AGENT_DESCRIPTION": "Linear 워크스페이스가 연결되어 있지 않습니다. 이 연동을 사용하려면 관리자에게 워크스페이스 연결을 요청하십시오.", + "DESCRIPTION": "Linear 워크스페이스가 연결되어 있지 않습니다. 이 연동을 사용하려면 아래 버튼을 클릭하여 워크스페이스를 연결하십시오.", + "BUTTON_TEXT": "Linear 워크스페이스 연결" + }, + "HEADER": "Linear" }, "NOTION": { "DELETE": { - "TITLE": "Are you sure you want to delete the Notion integration?", - "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", - "CONFIRM": "Yes, delete", + "TITLE": "Notion 연동을 삭제하시겠습니까?", + "MESSAGE": "이 연동을 삭제하면 Notion 워크스페이스에 대한 액세스가 제거되고 모든 관련 기능이 중지됩니다.", + "CONFIRM": "예, 삭제합니다", "CANCEL": "취소" - } - } + }, + "HEADER": "Notion" + }, + "SEARCH_PLACEHOLDER": "통합 검색...", + "NO_RESULTS": "검색과 일치하는 통합이 없습니다" }, "CAPTAIN": { "NAME": "Captain", - "HEADER_KNOW_MORE": "Know more", + "HEADER_KNOW_MORE": "자세히 알아보기", "ASSISTANT_SWITCHER": { - "ASSISTANTS": "Assistants", - "SWITCH_ASSISTANT": "Switch between assistants", - "NEW_ASSISTANT": "Create Assistant", - "EMPTY_LIST": "No assistants found, please create one to get started" + "ASSISTANTS": "어시스턴트", + "SWITCH_ASSISTANT": "어시스턴트 간 전환", + "NEW_ASSISTANT": "어시스턴트 만들기", + "EMPTY_LIST": "어시스턴트가 없습니다. 시작하려면 하나를 만드십시오." }, "COPILOT": { "TITLE": "Copilot", - "TRY_THESE_PROMPTS": "Try these prompts", - "PANEL_TITLE": "Get started with Copilot", - "KICK_OFF_MESSAGE": "Need a quick summary, want to check past conversations, or draft a better reply? Copilot’s here to speed things up.", + "TRY_THESE_PROMPTS": "다음 프롬프트를 시도하십시오", + "PANEL_TITLE": "Copilot 시작하기", + "KICK_OFF_MESSAGE": "빠른 요약이 필요하거나 이전 대화를 확인하거나 더 나은 답장을 작성하고 싶으신가요? Copilot이 도와드립니다.", "SEND_MESSAGE": "메시지 보내기...", - "EMPTY_MESSAGE": "There was an error generating the response. Please try again.", - "LOADER": "Captain is thinking", + "EMPTY_MESSAGE": "응답을 생성하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "LOADER": "Captain이 생각 중입니다", "YOU": "나", - "USE": "Use this", - "RESET": "Reset", - "SHOW_STEPS": "Show steps", - "SELECT_ASSISTANT": "Select Assistant", + "USE": "사용하기", + "RESET": "초기화", + "SHOW_STEPS": "단계 표시", + "SELECT_ASSISTANT": "어시스턴트 선택", "PROMPTS": { "SUMMARIZE": { - "LABEL": "Summarize this conversation", - "CONTENT": "Summarize the key points discussed between the customer and the support agent, including the customer's concerns, questions, and the solutions or responses provided by the support agent" + "LABEL": "이 대화 요약", + "CONTENT": "고객과 지원 상담원 간에 논의된 주요 사항을 요약하십시오. 고객의 우려 사항, 질문, 지원 상담원이 제공한 솔루션 또는 응답을 포함하십시오." }, "SUGGEST": { - "LABEL": "Suggest an answer", - "CONTENT": "Analyze the customer's inquiry, and draft a response that effectively addresses their concerns or questions. Ensure the reply is clear, concise, and provides helpful information." + "LABEL": "답변 제안", + "CONTENT": "고객의 문의를 분석하고 우려 사항이나 질문에 효과적으로 대응하는 답변을 작성하십시오. 답변이 명확하고 간결하며 유용한 정보를 제공하도록 하십시오." }, "RATE": { - "LABEL": "Rate this conversation", - "CONTENT": "Review the conversation to see how well it meets the customer's needs. Share a rating out of 5 based on tone, clarity, and effectiveness." + "LABEL": "이 대화 평가", + "CONTENT": "대화가 고객의 요구를 얼마나 잘 충족하는지 검토하십시오. 톤, 명확성 및 효과를 기준으로 5점 만점으로 평가하십시오." }, "HIGH_PRIORITY": { - "LABEL": "High priority conversations", - "CONTENT": "Give me a summary of all high priority open conversations. Include the conversation ID, customer name (if available), last message content, and assigned agent. Group by status if relevant." + "LABEL": "높은 우선순위 대화", + "CONTENT": "모든 높은 우선순위 열린 대화의 요약을 알려 주십시오. 대화 ID, 고객 이름(가능한 경우), 마지막 메시지 내용 및 배정된 상담원을 포함하십시오. 관련이 있는 경우 상태별로 그룹화하십시오." }, "LIST_CONTACTS": { - "LABEL": "List contacts", - "CONTENT": "Show me the list of top 10 contacts. Include name, email or phone number (if available), last seen time, tags (if any)." + "LABEL": "연락처 목록", + "CONTENT": "상위 10개 연락처 목록을 보여 주십시오. 이름, 이메일 또는 전화번호(가능한 경우), 마지막 접속 시간, 태그(있는 경우)를 포함하십시오." } } }, "PLAYGROUND": { "USER": "나", - "ASSISTANT": "Assistant", - "MESSAGE_PLACEHOLDER": "메시지 입력...", - "HEADER": "Playground", - "DESCRIPTION": "Use this playground to send messages to your assistant and check if it responds accurately, quickly, and in the tone you expect.", - "CREDIT_NOTE": "Messages sent here will count toward your Captain credits." + "ASSISTANT": "어시스턴트", + "MESSAGE_PLACEHOLDER": "메시지를 입력하십시오...", + "HEADER": "플레이그라운드", + "DESCRIPTION": "이 플레이그라운드를 사용하여 어시스턴트에게 메시지를 보내고 정확하고 빠르게 기대하는 톤으로 응답하는지 확인하십시오.", + "CREDIT_NOTE": "여기에서 보낸 메시지는 Captain 크레딧에 포함됩니다." }, "PAYWALL": { - "TITLE": "Upgrade to use Captain AI", - "AVAILABLE_ON": "Captain is not available on the free plan.", - "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", - "UPGRADE_NOW": "Upgrade now", - "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + "TITLE": "Captain AI를 사용하려면 업그레이드하십시오", + "AVAILABLE_ON": "Captain은 무료 요금제에서 사용할 수 없습니다.", + "UPGRADE_PROMPT": "어시스턴트, Copilot 등에 액세스하려면 요금제를 업그레이드하십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 요금제를 변경하거나 취소할 수 있습니다" }, "ENTERPRISE_PAYWALL": { - "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", - "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + "UPGRADE_PROMPT": "어시스턴트, Copilot 등에 액세스하려면 요금제를 업그레이드하십시오.", + "ASK_ADMIN": "업그레이드를 위해 관리자에게 문의하십시오.", + "AVAILABLE_ON": "Captain AI는 Enterprise 요금제에서만 사용할 수 있습니다." }, "BANNER": { - "RESPONSES": "You've used over 80% of your response limit. To continue using Captain AI, please upgrade.", - "DOCUMENTS": "Document limit reached. Upgrade to continue using Captain AI." + "RESPONSES": "응답 한도의 80% 이상을 사용했습니다. Captain AI를 계속 사용하려면 업그레이드하십시오.", + "DOCUMENTS": "문서 한도에 도달했습니다. Captain AI를 계속 사용하려면 업그레이드하십시오." }, "FORM": { "CANCEL": "취소", @@ -419,246 +463,246 @@ "EDIT": "업데이트" }, "ASSISTANTS": { - "HEADER": "Assistants", - "NO_ASSISTANTS_AVAILABLE": "There are no assistants available in your account.", - "ADD_NEW": "Create a new assistant", + "HEADER": "어시스턴트", + "NO_ASSISTANTS_AVAILABLE": "계정에 사용 가능한 어시스턴트가 없습니다.", + "ADD_NEW": "새 어시스턴트 만들기", "DELETE": { - "TITLE": "Are you sure to delete the assistant?", - "DESCRIPTION": "This action is permanent. Deleting this assistant will remove it from all connected inboxes and permanently erase all generated knowledge.", - "CONFIRM": "Yes, delete", - "SUCCESS_MESSAGE": "The assistant has been successfully deleted", - "ERROR_MESSAGE": "There was an error deleting the assistant, please try again." + "TITLE": "어시스턴트를 삭제하시겠습니까?", + "DESCRIPTION": "이 작업은 영구적입니다. 이 어시스턴트를 삭제하면 연결된 모든 받은 편지함에서 제거되고 생성된 모든 지식이 영구적으로 삭제됩니다.", + "CONFIRM": "예, 삭제합니다", + "SUCCESS_MESSAGE": "어시스턴트가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "어시스턴트를 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, - "FORM_DESCRIPTION": "Fill out the details below to name your assistant, describe its purpose, and specify the product it will support.", + "FORM_DESCRIPTION": "아래 세부 정보를 입력하여 어시스턴트의 이름, 목적 및 지원할 제품을 지정하십시오.", "CREATE": { - "TITLE": "Create an assistant", - "SUCCESS_MESSAGE": "The assistant has been successfully created", - "ERROR_MESSAGE": "There was an error creating the assistant, please try again." + "TITLE": "어시스턴트 만들기", + "SUCCESS_MESSAGE": "어시스턴트가 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "어시스턴트를 생성하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "FORM": { "UPDATE": "업데이트", "SECTIONS": { - "BASIC_INFO": "Basic Information", - "SYSTEM_MESSAGES": "System Messages", - "INSTRUCTIONS": "Instructions", - "FEATURES": "특징", - "TOOLS": "Tools " + "BASIC_INFO": "기본 정보", + "SYSTEM_MESSAGES": "시스템 메시지", + "INSTRUCTIONS": "지침", + "FEATURES": "기능", + "TOOLS": "도구 " }, "NAME": { "LABEL": "이름", - "PLACEHOLDER": "Enter assistant name", - "ERROR": "The name is required" + "PLACEHOLDER": "어시스턴트 이름을 입력하십시오", + "ERROR": "이름은 필수입니다" }, "TEMPERATURE": { - "LABEL": "Response Temperature", - "DESCRIPTION": "Adjust how creative or restrictive the assistant's responses should be. Lower values produce more focused and deterministic responses, while higher values allow for more creative and varied outputs." + "LABEL": "응답 온도", + "DESCRIPTION": "어시스턴트의 응답이 얼마나 창의적이거나 제한적이어야 하는지 조정합니다. 낮은 값은 더 집중적이고 결정론적인 응답을 생성하고, 높은 값은 더 창의적이고 다양한 출력을 허용합니다." }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Enter assistant description", - "ERROR": "The description is required" + "LABEL": "설명", + "PLACEHOLDER": "어시스턴트 설명을 입력하십시오", + "ERROR": "설명은 필수입니다" }, "PRODUCT_NAME": { - "LABEL": "Product Name", - "PLACEHOLDER": "Enter product name", - "ERROR": "The product name is required" + "LABEL": "제품 이름", + "PLACEHOLDER": "제품 이름을 입력하십시오", + "ERROR": "제품 이름은 필수입니다" }, "WELCOME_MESSAGE": { - "LABEL": "Welcome Message", - "PLACEHOLDER": "Enter welcome message" + "LABEL": "환영 메시지", + "PLACEHOLDER": "환영 메시지를 입력하십시오" }, "HANDOFF_MESSAGE": { - "LABEL": "Handoff Message", - "PLACEHOLDER": "Enter handoff message" + "LABEL": "전환 메시지", + "PLACEHOLDER": "전환 메시지를 입력하십시오" }, "RESOLUTION_MESSAGE": { - "LABEL": "Resolution Message", - "PLACEHOLDER": "Enter resolution message" + "LABEL": "해결 메시지", + "PLACEHOLDER": "해결 메시지를 입력하십시오" }, "INSTRUCTIONS": { - "LABEL": "Instructions", - "PLACEHOLDER": "Enter instructions for the assistant" + "LABEL": "지침", + "PLACEHOLDER": "어시스턴트에 대한 지침을 입력하십시오" }, "FEATURES": { - "TITLE": "특징", - "ALLOW_CONVERSATION_FAQS": "Generate FAQs from resolved conversations", - "ALLOW_MEMORIES": "Capture key details as memories from customer interactions.", - "ALLOW_CITATIONS": "Include source citations in responses" + "TITLE": "기능", + "ALLOW_CONVERSATION_FAQS": "해결된 대화에서 FAQ 생성", + "ALLOW_MEMORIES": "고객 상호작용에서 주요 세부 정보를 기억으로 캡처합니다.", + "ALLOW_CITATIONS": "응답에 출처 인용을 포함합니다" } }, "EDIT": { - "TITLE": "Update the assistant", - "SUCCESS_MESSAGE": "The assistant has been successfully updated", - "ERROR_MESSAGE": "There was an error updating the assistant, please try again.", - "NOT_FOUND": "Could not find the assistant. Please try again." + "TITLE": "어시스턴트 업데이트", + "SUCCESS_MESSAGE": "어시스턴트가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "어시스턴트를 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "NOT_FOUND": "어시스턴트를 찾을 수 없습니다. 다시 시도하십시오." }, "SETTINGS": { "HEADER": "설정", "BASIC_SETTINGS": { - "TITLE": "Basic settings", - "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human." + "TITLE": "기본 설정", + "DESCRIPTION": "대화를 종료하거나 상담원에게 전환할 때 어시스턴트가 표시하는 메시지를 맞춤 설정합니다." }, "SYSTEM_SETTINGS": { - "TITLE": "System settings", - "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human." + "TITLE": "시스템 설정", + "DESCRIPTION": "대화를 종료하거나 상담원에게 전환할 때 어시스턴트가 표시하는 메시지를 맞춤 설정합니다." }, "CONTROL_ITEMS": { - "TITLE": "The Fun Stuff", - "DESCRIPTION": "Add more control to the assistant. (a bit more visual like a story : Query guardrail → scenarios → output) Nudges user to actually utilise these.", + "TITLE": "고급 설정", + "DESCRIPTION": "어시스턴트에 더 많은 제어 기능을 추가합니다. (쿼리 가드레일 → 시나리오 → 출력과 같은 흐름으로 구성됩니다) 이 기능들을 적극적으로 활용하십시오.", "OPTIONS": { "GUARDRAILS": { - "TITLE": "Guardrails", - "DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic." + "TITLE": "가드레일", + "DESCRIPTION": "어시스턴트가 답변할 질문의 종류만 허용하여 주제에서 벗어나거나 부적절한 내용을 방지합니다." }, "RESPONSE_GUIDELINES": { - "TITLE": "Response guidelines", - "DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?" + "TITLE": "응답 가이드라인", + "DESCRIPTION": "어시스턴트 답변의 분위기와 구조를 설정합니다. 명확하고 친근하게? 짧고 간결하게? 상세하고 격식 있게?" } } }, "DELETE": { - "TITLE": "Delete Assistant", - "DESCRIPTION": "This action is permanent. Deleting this assistant will remove it from all connected inboxes and permanently erase all generated knowledge.", - "BUTTON_TEXT": "Delete {assistantName}" + "TITLE": "어시스턴트 삭제", + "DESCRIPTION": "이 작업은 영구적입니다. 이 어시스턴트를 삭제하면 연결된 모든 받은 편지함에서 제거되고 생성된 모든 지식이 영구적으로 삭제됩니다.", + "BUTTON_TEXT": "{assistantName} 삭제" } }, "OPTIONS": { - "EDIT_ASSISTANT": "Edit Assistant", - "DELETE_ASSISTANT": "Delete Assistant", - "VIEW_CONNECTED_INBOXES": "View connected inboxes" + "EDIT_ASSISTANT": "어시스턴트 수정", + "DELETE_ASSISTANT": "어시스턴트 삭제", + "VIEW_CONNECTED_INBOXES": "연결된 받은 편지함 보기" }, "EMPTY_STATE": { - "TITLE": "No assistants available", - "SUBTITLE": "Create an assistant to provide quick and accurate responses to your users. It can learn from your help articles and past conversations.", + "TITLE": "사용 가능한 어시스턴트가 없습니다", + "SUBTITLE": "사용자에게 빠르고 정확한 응답을 제공하는 어시스턴트를 만드십시오. 도움말 문서와 이전 대화에서 학습할 수 있습니다.", "FEATURE_SPOTLIGHT": { - "TITLE": "Captain Assistant", - "NOTE": "Captain Assistant engages directly with customers, learns from your help docs and past conversations, and delivers instant, accurate responses. It handles the initial queries, providing quick resolutions before transferring to an agent when needed." + "TITLE": "Captain 어시스턴트", + "NOTE": "Captain 어시스턴트는 고객과 직접 대화하며, 도움말 문서와 이전 대화에서 학습하여 즉각적이고 정확한 응답을 제공합니다. 초기 문의를 처리하여 빠른 해결을 제공하고 필요한 경우 상담원에게 전환합니다." } }, "GUARDRAILS": { - "TITLE": "Guardrails", - "DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic.", + "TITLE": "가드레일", + "DESCRIPTION": "어시스턴트가 답변할 질문의 종류만 허용하여 주제에서 벗어나거나 부적절한 내용을 방지합니다.", "BULK_ACTION": { - "SELECTED": "{count} item selected | {count} items selected", - "SELECT_ALL": "Select all ({count})", - "UNSELECT_ALL": "Unselect all ({count})", + "SELECTED": "{count}개 항목 선택됨", + "SELECT_ALL": "전체 선택 ({count})", + "UNSELECT_ALL": "전체 선택 해제 ({count})", "BULK_DELETE_BUTTON": "삭제" }, "ADD": { "SUGGESTED": { - "TITLE": "Example guardrails", - "ADD": "Add all", - "ADD_SINGLE": "Add this", - "SAVE": "Add and save (↵)", - "PLACEHOLDER": "Type in another guardrail..." + "TITLE": "가드레일 예시", + "ADD": "모두 추가", + "ADD_SINGLE": "이것 추가", + "SAVE": "추가 및 저장 (↵)", + "PLACEHOLDER": "다른 가드레일을 입력하십시오..." }, "NEW": { - "TITLE": "Add a guardrail", + "TITLE": "가드레일 추가", "CREATE": "만들기", "CANCEL": "취소", - "PLACEHOLDER": "Type in another guardrail...", - "TEST_ALL": "Test all" + "PLACEHOLDER": "다른 가드레일을 입력하십시오...", + "TEST_ALL": "모두 테스트" } }, "LIST": { - "SEARCH_PLACEHOLDER": "Search..." + "SEARCH_PLACEHOLDER": "검색..." }, - "EMPTY_MESSAGE": "No guardrails found. Create or add examples to begin.", - "SEARCH_EMPTY_MESSAGE": "No guardrails found for this search.", + "EMPTY_MESSAGE": "가드레일이 없습니다. 예시를 만들거나 추가하여 시작하십시오.", + "SEARCH_EMPTY_MESSAGE": "이 검색에 해당하는 가드레일이 없습니다.", "API": { "ADD": { - "SUCCESS": "Guardrails added successfully", - "ERROR": "There was an error adding guardrails, please try again." + "SUCCESS": "가드레일이 성공적으로 추가되었습니다", + "ERROR": "가드레일을 추가하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "UPDATE": { - "SUCCESS": "Guardrails updated successfully", - "ERROR": "There was an error updating guardrails, please try again." + "SUCCESS": "가드레일이 성공적으로 업데이트되었습니다", + "ERROR": "가드레일을 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "DELETE": { - "SUCCESS": "Guardrails deleted successfully", - "ERROR": "There was an error deleting guardrails, please try again." + "SUCCESS": "가드레일이 성공적으로 삭제되었습니다", + "ERROR": "가드레일을 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." } } }, "RESPONSE_GUIDELINES": { - "TITLE": "Response Guidelines", - "DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?", + "TITLE": "응답 가이드라인", + "DESCRIPTION": "어시스턴트 답변의 분위기와 구조를 설정합니다. 명확하고 친근하게? 짧고 간결하게? 상세하고 격식 있게?", "BULK_ACTION": { - "SELECTED": "{count} item selected | {count} items selected", - "SELECT_ALL": "Select all ({count})", - "UNSELECT_ALL": "Unselect all ({count})", + "SELECTED": "{count}개 항목 선택됨", + "SELECT_ALL": "전체 선택 ({count})", + "UNSELECT_ALL": "전체 선택 해제 ({count})", "BULK_DELETE_BUTTON": "삭제" }, "ADD": { "SUGGESTED": { - "TITLE": "Example response guidelines", - "ADD": "Add all", - "ADD_SINGLE": "Add this", - "SAVE": "Add and save (↵)", - "PLACEHOLDER": "Type in another response guideline..." + "TITLE": "응답 가이드라인 예시", + "ADD": "모두 추가", + "ADD_SINGLE": "이것 추가", + "SAVE": "추가 및 저장 (↵)", + "PLACEHOLDER": "다른 응답 가이드라인을 입력하십시오..." }, "NEW": { - "TITLE": "Add a response guideline", + "TITLE": "응답 가이드라인 추가", "CREATE": "만들기", "CANCEL": "취소", - "PLACEHOLDER": "Type in another response guideline...", - "TEST_ALL": "Test all" + "PLACEHOLDER": "다른 응답 가이드라인을 입력하십시오...", + "TEST_ALL": "모두 테스트" } }, "LIST": { - "SEARCH_PLACEHOLDER": "Search..." + "SEARCH_PLACEHOLDER": "검색..." }, - "EMPTY_MESSAGE": "No response guidelines found. Create or add examples to begin.", - "SEARCH_EMPTY_MESSAGE": "No response guidelines found for this search.", + "EMPTY_MESSAGE": "응답 가이드라인이 없습니다. 예시를 만들거나 추가하여 시작하십시오.", + "SEARCH_EMPTY_MESSAGE": "이 검색에 해당하는 응답 가이드라인이 없습니다.", "API": { "ADD": { - "SUCCESS": "Response Guidelines added successfully", - "ERROR": "There was an error adding response guidelines, please try again." + "SUCCESS": "응답 가이드라인이 성공적으로 추가되었습니다", + "ERROR": "응답 가이드라인을 추가하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "UPDATE": { - "SUCCESS": "Response Guidelines updated successfully", - "ERROR": "There was an error updating response guidelines, please try again." + "SUCCESS": "응답 가이드라인이 성공적으로 업데이트되었습니다", + "ERROR": "응답 가이드라인을 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "DELETE": { - "SUCCESS": "Response Guidelines deleted successfully", - "ERROR": "There was an error deleting response guidelines, please try again." + "SUCCESS": "응답 가이드라인이 성공적으로 삭제되었습니다", + "ERROR": "응답 가이드라인을 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." } } }, "SCENARIOS": { - "TITLE": "Scenarios", - "DESCRIPTION": "Give your assistant some context—like “what to do when a user is stuck,” or “how to act during a refund request.”", + "TITLE": "시나리오", + "DESCRIPTION": "어시스턴트에게 컨텍스트를 제공하십시오. 예: \"사용자가 막혔을 때 할 일\" 또는 \"환불 요청 시 대응 방법\"", "BULK_ACTION": { - "SELECTED": "{count} item selected | {count} items selected", - "SELECT_ALL": "Select all ({count})", - "UNSELECT_ALL": "Unselect all ({count})", + "SELECTED": "{count}개 항목 선택됨", + "SELECT_ALL": "전체 선택 ({count})", + "UNSELECT_ALL": "전체 선택 해제 ({count})", "BULK_DELETE_BUTTON": "삭제" }, "ADD": { "SUGGESTED": { - "TITLE": "Example scenarios", - "ADD": "Add all", - "ADD_SINGLE": "Add this", - "TOOLS_USED": "Tools used :" + "TITLE": "시나리오 예시", + "ADD": "모두 추가", + "ADD_SINGLE": "이것 추가", + "TOOLS_USED": "사용된 도구 :" }, "NEW": { - "CREATE": "Add a scenario", - "TITLE": "Create a scenario", + "CREATE": "시나리오 추가", + "TITLE": "시나리오 만들기", "FORM": { "TITLE": { - "LABEL": "Title", - "PLACEHOLDER": "Enter a name for the scenario", - "ERROR": "Scenario name is required" + "LABEL": "제목", + "PLACEHOLDER": "시나리오 이름을 입력하십시오", + "ERROR": "시나리오 이름은 필수입니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Describe how and where this scenario will be used", - "ERROR": "Scenario description is required" + "LABEL": "설명", + "PLACEHOLDER": "이 시나리오가 어떻게 그리고 어디에서 사용될지 설명하십시오", + "ERROR": "시나리오 설명은 필수입니다" }, "INSTRUCTION": { - "LABEL": "How to handle", - "PLACEHOLDER": "Describe how and where this scenario will be handled", - "ERROR": "Scenario content is required" + "LABEL": "처리 방법", + "PLACEHOLDER": "이 시나리오가 어떻게 그리고 어디에서 처리될지 설명하십시오", + "ERROR": "시나리오 내용은 필수입니다" }, "CREATE": "만들기", "CANCEL": "취소" @@ -667,139 +711,139 @@ }, "UPDATE": { "CANCEL": "취소", - "UPDATE": "Update changes" + "UPDATE": "변경 사항 업데이트" }, "LIST": { - "SEARCH_PLACEHOLDER": "Search..." + "SEARCH_PLACEHOLDER": "검색..." }, - "EMPTY_MESSAGE": "No scenarios found. Create or add examples to begin.", - "SEARCH_EMPTY_MESSAGE": "No scenarios found for this search.", + "EMPTY_MESSAGE": "시나리오가 없습니다. 예시를 만들거나 추가하여 시작하십시오.", + "SEARCH_EMPTY_MESSAGE": "이 검색에 해당하는 시나리오가 없습니다.", "API": { "ADD": { - "SUCCESS": "Scenarios added successfully", - "ERROR": "There was an error adding scenarios, please try again." + "SUCCESS": "시나리오가 성공적으로 추가되었습니다", + "ERROR": "시나리오를 추가하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "UPDATE": { - "SUCCESS": "Scenarios updated successfully", - "ERROR": "There was an error updating scenarios, please try again." + "SUCCESS": "시나리오가 성공적으로 업데이트되었습니다", + "ERROR": "시나리오를 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "DELETE": { - "SUCCESS": "Scenarios deleted successfully", - "ERROR": "There was an error deleting scenarios, please try again." + "SUCCESS": "시나리오가 성공적으로 삭제되었습니다", + "ERROR": "시나리오를 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." } } } }, "DOCUMENTS": { - "HEADER": "Documents", - "ADD_NEW": "Create a new document", + "HEADER": "문서", + "ADD_NEW": "새 문서 만들기", "RELATED_RESPONSES": { - "TITLE": "Related FAQs", - "DESCRIPTION": "These FAQs are generated directly from the document." + "TITLE": "관련 FAQ", + "DESCRIPTION": "이 FAQ는 문서에서 직접 생성되었습니다." }, - "FORM_DESCRIPTION": "Enter the URL of the document to add it as a knowledge source and choose the assistant to associate it with.", + "FORM_DESCRIPTION": "문서의 URL을 입력하여 지식 소스로 추가하고 연결할 어시스턴트를 선택하십시오.", "CREATE": { - "TITLE": "Add a document", - "SUCCESS_MESSAGE": "The document has been successfully created", - "ERROR_MESSAGE": "There was an error creating the document, please try again." + "TITLE": "문서 추가", + "SUCCESS_MESSAGE": "문서가 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "문서를 생성하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "FORM": { "TYPE": { - "LABEL": "Document Type", + "LABEL": "문서 유형", "URL": "URL", - "PDF": "PDF File" + "PDF": "PDF 파일" }, "URL": { "LABEL": "URL", - "PLACEHOLDER": "Enter the URL of the document", - "ERROR": "Please provide a valid URL for the document" + "PLACEHOLDER": "문서의 URL을 입력하십시오", + "ERROR": "문서에 대한 유효한 URL을 제공하십시오" }, "PDF_FILE": { - "LABEL": "PDF File", - "CHOOSE_FILE": "Choose PDF file", - "ERROR": "Please select a PDF file", - "HELP_TEXT": "Maximum file size: 10MB", - "INVALID_TYPE": "Please select a valid PDF file", - "TOO_LARGE": "File size exceeds 10MB limit" + "LABEL": "PDF 파일", + "CHOOSE_FILE": "PDF 파일 선택", + "ERROR": "PDF 파일을 선택하십시오", + "HELP_TEXT": "최대 파일 크기: 10MB", + "INVALID_TYPE": "유효한 PDF 파일을 선택하십시오", + "TOO_LARGE": "파일 크기가 10MB 한도를 초과합니다" }, "NAME": { - "LABEL": "Document Name (Optional)", - "PLACEHOLDER": "Enter a name for the document" + "LABEL": "문서 이름 (선택 사항)", + "PLACEHOLDER": "문서 이름을 입력하십시오" } }, "DELETE": { - "TITLE": "Are you sure to delete the document?", - "DESCRIPTION": "This action is permanent. Deleting this document will permanently erase all generated knowledge.", - "CONFIRM": "Yes, delete", - "SUCCESS_MESSAGE": "The document has been successfully deleted", - "ERROR_MESSAGE": "There was an error deleting the document, please try again." + "TITLE": "문서를 삭제하시겠습니까?", + "DESCRIPTION": "이 작업은 영구적입니다. 이 문서를 삭제하면 생성된 모든 지식이 영구적으로 삭제됩니다.", + "CONFIRM": "예, 삭제합니다", + "SUCCESS_MESSAGE": "문서가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "문서를 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "OPTIONS": { - "VIEW_RELATED_RESPONSES": "View Related Responses", - "DELETE_DOCUMENT": "Delete Document" + "VIEW_RELATED_RESPONSES": "관련 응답 보기", + "DELETE_DOCUMENT": "문서 삭제" }, "EMPTY_STATE": { - "TITLE": "No documents available", - "SUBTITLE": "Documents are used by your assistant to generate FAQs. You can import documents to provide context for your assistant.", + "TITLE": "사용 가능한 문서가 없습니다", + "SUBTITLE": "문서는 어시스턴트가 FAQ를 생성하는 데 사용됩니다. 어시스턴트에 컨텍스트를 제공하기 위해 문서를 가져올 수 있습니다.", "FEATURE_SPOTLIGHT": { - "TITLE": "Captain Document", - "NOTE": "A document in Captain serves as a knowledge resource for the assistant. By connecting your help center or guides, Captain can analyze the content and provide accurate responses for customer inquiries." + "TITLE": "Captain 문서", + "NOTE": "Captain의 문서는 어시스턴트를 위한 지식 리소스로 활용됩니다. 도움말 센터나 가이드를 연결하면 Captain이 내용을 분석하여 고객 문의에 대한 정확한 응답을 제공할 수 있습니다." } } }, "CUSTOM_TOOLS": { - "HEADER": "Tools", - "ADD_NEW": "Create a new tool", + "HEADER": "도구", + "ADD_NEW": "새 도구 만들기", "EMPTY_STATE": { - "TITLE": "No custom tools available", - "SUBTITLE": "Create custom tools to connect your assistant with external APIs and services, enabling it to fetch data and perform actions on your behalf.", + "TITLE": "사용 가능한 사용자 정의 도구가 없습니다", + "SUBTITLE": "사용자 정의 도구를 만들어 어시스턴트를 외부 API 및 서비스와 연결하고, 데이터를 가져오거나 사용자를 대신하여 작업을 수행할 수 있도록 하십시오.", "FEATURE_SPOTLIGHT": { - "TITLE": "Custom Tools", - "NOTE": "Custom tools allow your assistant to interact with external APIs and services. Create tools to fetch data, perform actions, or integrate with your existing systems to enhance your assistant's capabilities." + "TITLE": "사용자 정의 도구", + "NOTE": "사용자 정의 도구를 사용하면 어시스턴트가 외부 API 및 서비스와 상호작용할 수 있습니다. 데이터를 가져오거나 작업을 수행하거나 기존 시스템과 통합하여 어시스턴트의 기능을 향상시키는 도구를 만드십시오." } }, - "FORM_DESCRIPTION": "Configure your custom tool to connect with external APIs", + "FORM_DESCRIPTION": "외부 API와 연결하기 위해 사용자 정의 도구를 구성하십시오", "OPTIONS": { - "EDIT_TOOL": "Edit tool", - "DELETE_TOOL": "Delete tool" + "EDIT_TOOL": "도구 수정", + "DELETE_TOOL": "도구 삭제" }, "CREATE": { - "TITLE": "Create Custom Tool", - "SUCCESS_MESSAGE": "Custom tool created successfully", - "ERROR_MESSAGE": "Failed to create custom tool" + "TITLE": "사용자 정의 도구 만들기", + "SUCCESS_MESSAGE": "사용자 정의 도구가 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "사용자 정의 도구를 생성하지 못했습니다" }, "EDIT": { - "TITLE": "Edit Custom Tool", - "SUCCESS_MESSAGE": "Custom tool updated successfully", - "ERROR_MESSAGE": "Failed to update custom tool" + "TITLE": "사용자 정의 도구 수정", + "SUCCESS_MESSAGE": "사용자 정의 도구가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "사용자 정의 도구를 업데이트하지 못했습니다" }, "DELETE": { - "TITLE": "Delete Custom Tool", - "DESCRIPTION": "Are you sure you want to delete this custom tool? This action cannot be undone.", - "CONFIRM": "Yes, delete", - "SUCCESS_MESSAGE": "Custom tool deleted successfully", - "ERROR_MESSAGE": "Failed to delete custom tool" + "TITLE": "사용자 정의 도구 삭제", + "DESCRIPTION": "이 사용자 정의 도구를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + "CONFIRM": "예, 삭제합니다", + "SUCCESS_MESSAGE": "사용자 정의 도구가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "사용자 정의 도구를 삭제하지 못했습니다" }, "FORM": { "TITLE": { - "LABEL": "Tool Name", - "PLACEHOLDER": "Order Lookup", - "ERROR": "Tool name is required" + "LABEL": "도구 이름", + "PLACEHOLDER": "주문 조회", + "ERROR": "도구 이름은 필수입니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "Looks up order details by order ID" + "LABEL": "설명", + "PLACEHOLDER": "주문 ID로 주문 세부 정보를 조회합니다" }, "HTTP_METHOD": { - "LABEL": "Method" + "LABEL": "메서드" }, "ENDPOINT_URL": { - "LABEL": "Endpoint URL", + "LABEL": "엔드포인트 URL", "PLACEHOLDER": "https://api.example.com/orders/{'{{'} order_id {'}}'}", - "ERROR": "Valid URL is required" + "ERROR": "유효한 URL이 필요합니다" }, "AUTH_TYPE": { - "LABEL": "Authentication Type" + "LABEL": "인증 유형" }, "AUTH_TYPES": { "NONE": "없음", @@ -809,26 +853,26 @@ }, "AUTH_CONFIG": { "BEARER_TOKEN": "Bearer Token", - "BEARER_TOKEN_PLACEHOLDER": "Enter your bearer token", - "USERNAME": "Username", - "USERNAME_PLACEHOLDER": "Enter username", + "BEARER_TOKEN_PLACEHOLDER": "Bearer 토큰을 입력하십시오", + "USERNAME": "사용자 이름", + "USERNAME_PLACEHOLDER": "사용자 이름을 입력하십시오", "PASSWORD": "비밀번호", - "PASSWORD_PLACEHOLDER": "Enter password", - "API_KEY": "Header Name", + "PASSWORD_PLACEHOLDER": "비밀번호를 입력하십시오", + "API_KEY": "헤더 이름", "API_KEY_PLACEHOLDER": "X-API-Key", - "API_VALUE": "Header Value", - "API_VALUE_PLACEHOLDER": "Enter API key value" + "API_VALUE": "헤더 값", + "API_VALUE_PLACEHOLDER": "API 키 값을 입력하십시오" }, "PARAMETERS": { - "LABEL": "Parameters", - "HELP_TEXT": "Define the parameters that will be extracted from user queries" + "LABEL": "매개변수", + "HELP_TEXT": "사용자 쿼리에서 추출할 매개변수를 정의하십시오" }, - "ADD_PARAMETER": "Add Parameter", + "ADD_PARAMETER": "매개변수 추가", "PARAM_NAME": { - "PLACEHOLDER": "Parameter name (e.g., order_id)" + "PLACEHOLDER": "매개변수 이름 (예: order_id)" }, "PARAM_TYPE": { - "PLACEHOLDER": "Type" + "PLACEHOLDER": "유형" }, "PARAM_TYPES": { "STRING": "String", @@ -838,139 +882,139 @@ "OBJECT": "Object" }, "PARAM_DESCRIPTION": { - "PLACEHOLDER": "Description of the parameter" + "PLACEHOLDER": "매개변수에 대한 설명" }, "PARAM_REQUIRED": { - "LABEL": "Required" + "LABEL": "필수" }, "REQUEST_TEMPLATE": { - "LABEL": "Request Body Template (Optional)", + "LABEL": "요청 본문 템플릿 (선택 사항)", "PLACEHOLDER": "{'{'}\n \"order_id\": \"{'{{'} order_id {'}}'}\"\n{'}'}" }, "RESPONSE_TEMPLATE": { - "LABEL": "Response Template (Optional)", + "LABEL": "응답 템플릿 (선택 사항)", "PLACEHOLDER": "Order {'{{'} order_id {'}}'} status: {'{{'} status {'}}'}" }, "ERRORS": { - "PARAM_NAME_REQUIRED": "Parameter name is required" + "PARAM_NAME_REQUIRED": "매개변수 이름은 필수입니다" } } }, "RESPONSES": { - "HEADER": "FAQs", - "PENDING_FAQS": "Pending FAQs", - "ADD_NEW": "Create new FAQ", + "HEADER": "FAQ", + "PENDING_FAQS": "대기 중인 FAQ", + "ADD_NEW": "새 FAQ 만들기", "DOCUMENTABLE": { - "CONVERSATION": "Conversation #{id}" + "CONVERSATION": "대화 #{id}" }, - "SELECTED": "{count} selected", - "SELECT_ALL": "Select all ({count})", - "UNSELECT_ALL": "Unselect all ({count})", - "SEARCH_PLACEHOLDER": "Search FAQs...", - "BULK_APPROVE_BUTTON": "Approve", + "SELECTED": "{count}개 선택됨", + "SELECT_ALL": "전체 선택 ({count})", + "UNSELECT_ALL": "전체 선택 해제 ({count})", + "SEARCH_PLACEHOLDER": "FAQ 검색...", + "BULK_APPROVE_BUTTON": "승인", "BULK_DELETE_BUTTON": "삭제", "BULK_APPROVE": { - "SUCCESS_MESSAGE": "FAQs approved successfully", - "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + "SUCCESS_MESSAGE": "FAQ가 성공적으로 승인되었습니다", + "ERROR_MESSAGE": "FAQ를 승인하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "BULK_DELETE": { - "TITLE": "Delete FAQs?", - "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", - "CONFIRM": "Yes, delete all", - "SUCCESS_MESSAGE": "FAQs deleted successfully", - "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + "TITLE": "FAQ를 삭제하시겠습니까?", + "DESCRIPTION": "선택한 FAQ를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + "CONFIRM": "예, 모두 삭제합니다", + "SUCCESS_MESSAGE": "FAQ가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "FAQ를 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "DELETE": { - "TITLE": "Are you sure to delete the FAQ?", + "TITLE": "FAQ를 삭제하시겠습니까?", "DESCRIPTION": "", - "CONFIRM": "Yes, delete", - "SUCCESS_MESSAGE": "FAQ deleted successfully", - "ERROR_MESSAGE": "There was an error deleting the FAQ, please try again." + "CONFIRM": "예, 삭제합니다", + "SUCCESS_MESSAGE": "FAQ가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "FAQ를 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "FILTER": { - "ASSISTANT": "Assistant: {selected}", - "STATUS": "Status: {selected}", - "ALL_ASSISTANTS": "모두" + "ASSISTANT": "어시스턴트: {selected}", + "STATUS": "상태: {selected}", + "ALL_ASSISTANTS": "전체" }, "STATUS": { "TITLE": "상태", - "PENDING": "보내는 중", - "APPROVED": "Approved", - "ALL": "모두" + "PENDING": "대기 중", + "APPROVED": "승인됨", + "ALL": "전체" }, "PENDING_BANNER": { - "TITLE": "Captain has found some FAQs your customers were looking for.", - "ACTION": "Click here to review" + "TITLE": "Captain이 고객이 찾고 있던 FAQ를 발견했습니다.", + "ACTION": "여기를 클릭하여 검토하십시오" }, - "FORM_DESCRIPTION": "Add a question and its corresponding answer to the knowledge base and select the assistant it should be associated with.", + "FORM_DESCRIPTION": "지식 베이스에 질문과 해당 답변을 추가하고 연결할 어시스턴트를 선택하십시오.", "CREATE": { - "TITLE": "Add an FAQ", - "SUCCESS_MESSAGE": "The response has been added successfully.", - "ERROR_MESSAGE": "An error occurred while adding the response. Please try again." + "TITLE": "FAQ 추가", + "SUCCESS_MESSAGE": "응답이 성공적으로 추가되었습니다.", + "ERROR_MESSAGE": "응답을 추가하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "FORM": { "QUESTION": { - "LABEL": "Question", - "PLACEHOLDER": "Enter the question here", - "ERROR": "Please provide a valid question." + "LABEL": "질문", + "PLACEHOLDER": "여기에 질문을 입력하십시오", + "ERROR": "유효한 질문을 입력하십시오." }, "ANSWER": { - "LABEL": "Answer", - "PLACEHOLDER": "Enter the answer here", - "ERROR": "Please provide a valid answer." + "LABEL": "답변", + "PLACEHOLDER": "여기에 답변을 입력하십시오", + "ERROR": "유효한 답변을 입력하십시오." } }, "EDIT": { - "TITLE": "Update the FAQ", - "SUCCESS_MESSAGE": "The FAQ has been successfully updated", - "ERROR_MESSAGE": "There was an error updating the FAQ, please try again", - "APPROVE_SUCCESS_MESSAGE": "The FAQ was marked as approved" + "TITLE": "FAQ 업데이트", + "SUCCESS_MESSAGE": "FAQ가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "FAQ를 업데이트하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "APPROVE_SUCCESS_MESSAGE": "FAQ가 승인됨으로 표시되었습니다" }, "OPTIONS": { - "APPROVE": "Approve", + "APPROVE": "승인", "EDIT_RESPONSE": "수정", "DELETE_RESPONSE": "삭제" }, "EMPTY_STATE": { - "TITLE": "No FAQs Found", - "NO_PENDING_TITLE": "There are no more pending FAQs to review", - "SUBTITLE": "FAQs help your assistant provide quick and accurate answers to questions from your customers. They can be generated automatically from your content or can be added manually.", - "CLEAR_SEARCH": "Clear active filters", + "TITLE": "FAQ를 찾을 수 없습니다", + "NO_PENDING_TITLE": "검토할 대기 중인 FAQ가 더 이상 없습니다", + "SUBTITLE": "FAQ는 어시스턴트가 고객의 질문에 빠르고 정확한 답변을 제공하는 데 도움이 됩니다. 콘텐츠에서 자동으로 생성되거나 수동으로 추가할 수 있습니다.", + "CLEAR_SEARCH": "활성 필터 지우기", "FEATURE_SPOTLIGHT": { "TITLE": "Captain FAQ", - "NOTE": "Captain FAQs detects common customer questions—whether missing from your knowledge base or frequently asked—and generates relevant FAQs to improve support. You can review each suggestion and decide whether to approve or reject it." + "NOTE": "Captain FAQ는 지식 베이스에서 누락되었거나 자주 질문되는 일반적인 고객 질문을 감지하고 관련 FAQ를 생성하여 지원을 개선합니다. 각 제안을 검토하고 승인 또는 거부를 결정할 수 있습니다." } } }, "INBOXES": { - "HEADER": "Connected Inboxes", - "ADD_NEW": "Connect a new inbox", + "HEADER": "연결된 받은 편지함", + "ADD_NEW": "새 받은 편지함 연결", "OPTIONS": { - "DISCONNECT": "Disconnect" + "DISCONNECT": "연결 해제" }, "DELETE": { - "TITLE": "Are you sure to disconnect the inbox?", + "TITLE": "받은 편지함 연결을 해제하시겠습니까?", "DESCRIPTION": "", - "CONFIRM": "Yes, delete", - "SUCCESS_MESSAGE": "The inbox was successfully disconnected.", - "ERROR_MESSAGE": "There was an error disconnecting the inbox, please try again." + "CONFIRM": "예, 삭제합니다", + "SUCCESS_MESSAGE": "받은 편지함이 성공적으로 연결 해제되었습니다.", + "ERROR_MESSAGE": "받은 편지함 연결을 해제하는 중 오류가 발생했습니다. 다시 시도하십시오." }, - "FORM_DESCRIPTION": "Choose an inbox to connect with the assistant.", + "FORM_DESCRIPTION": "어시스턴트와 연결할 받은 편지함을 선택하십시오.", "CREATE": { - "TITLE": "Connect an Inbox", - "SUCCESS_MESSAGE": "The inbox was successfully connected.", - "ERROR_MESSAGE": "An error occurred while connecting the inbox. Please try again." + "TITLE": "받은 편지함 연결", + "SUCCESS_MESSAGE": "받은 편지함이 성공적으로 연결되었습니다.", + "ERROR_MESSAGE": "받은 편지함을 연결하는 중 오류가 발생했습니다. 다시 시도하십시오." }, "FORM": { "INBOX": { - "LABEL": "받은 메시지함", - "PLACEHOLDER": "Choose the inbox to deploy the assistant.", - "ERROR": "An inbox selection is required." + "LABEL": "받은 편지함", + "PLACEHOLDER": "어시스턴트를 배포할 받은 편지함을 선택하십시오.", + "ERROR": "받은 편지함 선택은 필수입니다." } }, "EMPTY_STATE": { - "TITLE": "No Connected Inboxes", - "SUBTITLE": "Connecting an inbox allows the assistant to handle initial questions from your customers before transferring them to you." + "TITLE": "연결된 받은 편지함이 없습니다", + "SUBTITLE": "받은 편지함을 연결하면 어시스턴트가 고객의 초기 질문을 처리한 후 상담원에게 전환할 수 있습니다." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json index fc00d38fd..281bb9f2a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/labelsMgmt.json @@ -3,17 +3,18 @@ "HEADER": "라벨", "HEADER_BTN_TXT": "라벨 추가", "LOADING": "라벨을 가져오는 중", - "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", - "LEARN_MORE": "Learn more about labels", - "SEARCH_404": "이 쿼리와 일치하는 항목이 없음", + "DESCRIPTION": "라벨은 대화와 리드를 분류하고 우선순위를 지정하는 데 도움이 됩니다. 사이드 패널을 사용하여 대화 또는 연락처에 라벨을 할당할 수 있습니다.", + "LEARN_MORE": "라벨에 대해 자세히 알아보기", + "SEARCH_404": "이 쿼리와 일치하는 항목이 없습니다", "LIST": { - "404": "이 계정에는 사용 가능한 라벨이 없다.", + "404": "이 계정에는 사용 가능한 라벨이 없습니다.", "TITLE": "라벨 관리", - "DESC": "라벨을 사용하여 대화를 그룹화할 수 있다.", + "DESC": "라벨을 사용하여 대화를 그룹화할 수 있습니다.", "TABLE_HEADER": { "NAME": "이름", - "DESCRIPTION": "내용", - "COLOR": "색깔" + "DESCRIPTION": "설명", + "COLOR": "색상", + "ACTION": "액션" } }, "FORM": { @@ -25,11 +26,11 @@ "VALID_ERROR": "영어나, 숫자, - 와 _ 만 사용 가능합니다" }, "DESCRIPTION": { - "LABEL": "내용", - "PLACEHOLDER": "라벨 내용" + "LABEL": "설명", + "PLACEHOLDER": "라벨 설명" }, "COLOR": { - "LABEL": "색깔" + "LABEL": "색상" }, "SHOW_ON_SIDEBAR": { "LABEL": "사이드바에 라벨 표시" @@ -41,37 +42,37 @@ }, "SUGGESTIONS": { "TOOLTIP": { - "SINGLE_SUGGESTION": "Add label to conversation", - "MULTIPLE_SUGGESTION": "Select this label", - "DESELECT": "Deselect label", - "DISMISS": "Dismiss suggestion" + "SINGLE_SUGGESTION": "대화에 라벨 추가", + "MULTIPLE_SUGGESTION": "이 라벨 선택", + "DESELECT": "라벨 선택 해제", + "DISMISS": "제안 닫기" }, "POWERED_BY": "Chatwoot AI", - "DISMISS": "Dismiss", - "ADD_SELECTED_LABELS": "Add selected labels", - "ADD_SELECTED_LABEL": "Add selected label", - "ADD_ALL_LABELS": "Add all labels", - "SUGGESTED_LABELS": "Suggested labels" + "DISMISS": "닫기", + "ADD_SELECTED_LABELS": "선택한 라벨 추가", + "ADD_SELECTED_LABEL": "선택한 라벨 추가", + "ADD_ALL_LABELS": "모든 라벨 추가", + "SUGGESTED_LABELS": "제안된 라벨" }, "ADD": { "TITLE": "라벨 추가", - "DESC": "라벨을 사용하여 대화를 그룹화할 수 있다.", + "DESC": "라벨을 사용하여 대화를 그룹화할 수 있습니다.", "API": { - "SUCCESS_MESSAGE": "라벨이 성공적으로 추가됨", + "SUCCESS_MESSAGE": "라벨이 성공적으로 추가되었습니다", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } }, "EDIT": { "TITLE": "라벨 수정", "API": { - "SUCCESS_MESSAGE": "라벨이 성공적으로 업데이트됨", + "SUCCESS_MESSAGE": "라벨이 성공적으로 업데이트되었습니다", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { - "SUCCESS_MESSAGE": "라벨이 성공적으로 삭제됨.", + "SUCCESS_MESSAGE": "라벨이 성공적으로 삭제되었습니다", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." }, "CONFIRM": { @@ -80,6 +81,9 @@ "YES": "예, 삭제합니다. ", "NO": "아니요, 유지해주세요. " } - } + }, + "COUNT": "{n}개의 라벨 | {n}개의 라벨", + "SEARCH_PLACEHOLDER": "라벨 검색...", + "NO_RESULTS": "검색과 일치하는 라벨이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/login.json b/app/javascript/dashboard/i18n/locale/ko/login.json index a9f56cfef..0c662c749 100644 --- a/app/javascript/dashboard/i18n/locale/ko/login.json +++ b/app/javascript/dashboard/i18n/locale/ko/login.json @@ -4,7 +4,7 @@ "EMAIL": { "LABEL": "이메일", "PLACEHOLDER": "example{'@'}companyname.com", - "ERROR": "올바른 전자 메일 주소를 입력하십시오." + "ERROR": "올바른 이메일 주소를 입력하십시오." }, "PASSWORD": { "LABEL": "비밀번호", @@ -12,29 +12,29 @@ }, "API": { "SUCCESS_MESSAGE": "로그인 성공", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요.", - "UNAUTH": "이름 또는 비밀번호가 올바르지 않습니다. 다시 시도해 주세요." + "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 다시 시도하십시오.", + "UNAUTH": "이름 또는 비밀번호가 올바르지 않습니다. 다시 시도하십시오." }, "OAUTH": { - "GOOGLE_LOGIN": "Login with Google", - "BUSINESS_ACCOUNTS_ONLY": "회사 이메일 주소를 사용하여 로그인하세요.", + "GOOGLE_LOGIN": "Google로 로그인", + "BUSINESS_ACCOUNTS_ONLY": "회사 이메일 주소를 사용하여 로그인하십시오.", "NO_ACCOUNT_FOUND": "귀하의 이메일 주소로 계정을 찾을 수 없습니다." }, - "FORGOT_PASSWORD": "암호를 잊으셨나요?", - "CREATE_NEW_ACCOUNT": "계정 생성", + "FORGOT_PASSWORD": "비밀번호를 잊으셨습니까?", + "CREATE_NEW_ACCOUNT": "새 계정 만들기", "SUBMIT": "로그인", "SAML": { - "LABEL": "Login via SSO", - "TITLE": "Initiate Single Sign-on (SSO)", - "SUBTITLE": "Enter your work email to access your organization", - "BACK_TO_LOGIN": "Login via Password", + "LABEL": "SSO로 로그인", + "TITLE": "SSO(Single Sign-on) 시작", + "SUBTITLE": "조직에 액세스하려면 업무용 이메일을 입력하십시오", + "BACK_TO_LOGIN": "비밀번호로 로그인", "WORK_EMAIL": { - "LABEL": "Work Email", - "PLACEHOLDER": "Enter your work email" + "LABEL": "업무용 이메일", + "PLACEHOLDER": "업무용 이메일을 입력하십시오" }, - "SUBMIT": "Continue with SSO", + "SUBMIT": "SSO로 계속", "API": { - "ERROR_MESSAGE": "SSO authentication failed. Please check your credentials and try again." + "ERROR_MESSAGE": "SSO 인증에 실패했습니다. 자격 증명을 확인하고 다시 시도하십시오." } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/macros.json b/app/javascript/dashboard/i18n/locale/ko/macros.json index 397c1ce27..b303d1b33 100644 --- a/app/javascript/dashboard/i18n/locale/ko/macros.json +++ b/app/javascript/dashboard/i18n/locale/ko/macros.json @@ -1,111 +1,115 @@ { "MACROS": { - "HEADER": "Macros", - "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", - "LEARN_MORE": "Learn more about macros", - "HEADER_BTN_TXT": "Add a new macro", - "HEADER_BTN_TXT_SAVE": "Save macro", - "LOADING": "Fetching macros", - "ERROR": "Something went wrong. Please try again", - "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", + "HEADER": "매크로", + "DESCRIPTION": "매크로는 고객 서비스 에이전트가 작업을 쉽게 완료할 수 있도록 도와주는 저장된 액션 모음입니다. 에이전트는 대화에 라벨 태그 지정, 이메일 대화 내용 전송, 사용자 정의 속성 업데이트 등의 액션을 정의하고, 클릭 한 번으로 이러한 액션을 실행할 수 있습니다.", + "LEARN_MORE": "매크로에 대해 자세히 알아보기", + "HEADER_BTN_TXT": "새 매크로 추가", + "HEADER_BTN_TXT_SAVE": "매크로 저장", + "LOADING": "매크로를 불러오는 중", + "ERROR": "오류가 발생했습니다. 다시 시도해 주십시오.", + "ORDER_INFO": "매크로는 액션을 추가한 순서대로 실행됩니다. 각 노드 옆의 핸들을 드래그하여 순서를 변경할 수 있습니다.", "ADD": { "FORM": { "NAME": { - "LABEL": "Macro name", - "PLACEHOLDER": "Enter a name for your macro", - "ERROR": "Name is required for creating a macro" + "LABEL": "매크로 이름", + "PLACEHOLDER": "매크로 이름을 입력하십시오", + "ERROR": "매크로를 생성하려면 이름이 필요합니다" }, "ACTIONS": { "LABEL": "액션" } }, "API": { - "SUCCESS_MESSAGE": "Macro added successfully", - "ERROR_MESSAGE": "Unable to create macro, Please try again later" + "SUCCESS_MESSAGE": "매크로가 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "매크로를 생성할 수 없습니다. 나중에 다시 시도해 주십시오." } }, "LIST": { "TABLE_HEADER": { "NAME": "이름", - "CREATED BY": "Created by", - "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "CREATED BY": "작성자", + "LAST_UPDATED_BY": "최종 수정자", + "VISIBILITY": "공개 범위", + "ACTIONS": "액션" }, - "404": "No macros found" + "404": "매크로를 찾을 수 없습니다" }, "DELETE": { - "TOOLTIP": "Delete macro", + "TOOLTIP": "매크로 삭제", "CONFIRM": { "MESSAGE": "삭제하시겠습니까? ", - "YES": "Yes, Delete", + "YES": "예, 삭제합니다", "NO": "아니오" }, "API": { - "SUCCESS_MESSAGE": "Macro deleted successfully", - "ERROR_MESSAGE": "There was an error deleting the macro. Please try again later" + "SUCCESS_MESSAGE": "매크로가 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "매크로를 삭제하는 중 오류가 발생했습니다. 나중에 다시 시도해 주십시오." } }, "EDIT": { - "TOOLTIP": "Edit macro", + "TOOLTIP": "매크로 수정", "API": { - "SUCCESS_MESSAGE": "Macro updated successfully", - "ERROR_MESSAGE": "Could not update Macro, Please try again later" + "SUCCESS_MESSAGE": "매크로가 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "매크로를 업데이트할 수 없습니다. 나중에 다시 시도해 주십시오." } }, "EDITOR": { - "START_FLOW": "Start Flow", - "END_FLOW": "End Flow", - "LOADING": "Fetching macro", - "ADD_BTN_TOOLTIP": "Add new action", - "DELETE_BTN_TOOLTIP": "Delete Action", + "START_FLOW": "흐름 시작", + "END_FLOW": "흐름 종료", + "LOADING": "매크로를 불러오는 중", + "ADD_BTN_TOOLTIP": "새 액션 추가", + "DELETE_BTN_TOOLTIP": "액션 삭제", "VISIBILITY": { - "LABEL": "Macro Visibility", + "LABEL": "매크로 공개 범위", "GLOBAL": { - "LABEL": "Public", - "DESCRIPTION": "This macro is available publicly for all agents in this account." + "LABEL": "공개", + "DESCRIPTION": "이 매크로는 이 계정의 모든 에이전트에게 공개됩니다." }, "PERSONAL": { - "LABEL": "Private", - "DESCRIPTION": "This macro will be private to you and not be available to others." + "LABEL": "비공개", + "DESCRIPTION": "이 매크로는 본인에게만 표시되며 다른 사람에게는 공개되지 않습니다." } } }, "EXECUTE": { - "BUTTON_TOOLTIP": "Execute", - "PREVIEW": "Preview Macro", - "EXECUTED_SUCCESSFULLY": "Macro executed successfully" + "BUTTON_TOOLTIP": "실행", + "PREVIEW": "매크로 미리보기", + "EXECUTED_SUCCESSFULLY": "매크로가 성공적으로 실행되었습니다" }, "ERRORS": { - "ATTRIBUTE_KEY_REQUIRED": "Attribute key is required", - "FILTER_OPERATOR_REQUIRED": "Filter operator is required", - "VALUE_REQUIRED": "값이 필요합니다.", - "VALUE_MUST_BE_BETWEEN_1_AND_998": "Value must be between 1 and 998", - "ACTION_PARAMETERS_REQUIRED": "Action parameters are required", - "ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required", - "ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required" + "ATTRIBUTE_KEY_REQUIRED": "속성 키가 필요합니다", + "FILTER_OPERATOR_REQUIRED": "필터 연산자가 필요합니다", + "VALUE_REQUIRED": "값이 필요합니다", + "VALUE_MUST_BE_BETWEEN_1_AND_998": "값은 1에서 998 사이여야 합니다", + "ACTION_PARAMETERS_REQUIRED": "액션 매개변수가 필요합니다", + "ATLEAST_ONE_CONDITION_REQUIRED": "최소 하나의 조건이 필요합니다", + "ATLEAST_ONE_ACTION_REQUIRED": "최소 하나의 액션이 필요합니다" }, "ACTIONS": { - "ASSIGN_TEAM": "Assign a Team", - "ASSIGN_AGENT": "Assign an Agent", - "ADD_LABEL": "Add a Label", - "REMOVE_LABEL": "Remove a Label", - "REMOVE_ASSIGNED_TEAM": "Remove Assigned Team", - "SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript", + "ASSIGN_TEAM": "팀 배정", + "ASSIGN_AGENT": "에이전트 배정", + "ADD_LABEL": "라벨 추가", + "REMOVE_LABEL": "라벨 제거", + "REMOVE_ASSIGNED_TEAM": "배정된 팀 제거", + "SEND_EMAIL_TRANSCRIPT": "이메일 대화 내용 전송", "MUTE_CONVERSATION": "대화 음소거", - "SNOOZE_CONVERSATION": "Snooze Conversation", - "RESOLVE_CONVERSATION": "Resolve Conversation", - "SEND_ATTACHMENT": "Send Attachment", - "SEND_MESSAGE": "Send a Message", - "CHANGE_PRIORITY": "Change Priority", - "ADD_PRIVATE_NOTE": "Add a Private Note", - "SEND_WEBHOOK_EVENT": "Send Webhook Event" + "SNOOZE_CONVERSATION": "대화 일시 중지", + "RESOLVE_CONVERSATION": "대화 해결", + "SEND_ATTACHMENT": "첨부 파일 전송", + "SEND_MESSAGE": "메시지 전송", + "CHANGE_PRIORITY": "우선순위 변경", + "ADD_PRIVATE_NOTE": "비공개 메모 추가", + "SEND_WEBHOOK_EVENT": "웹훅 이벤트 전송" }, "PRIORITY_TYPES": { "NONE": "없음", - "LOW": "Low", - "MEDIUM": "Medium", - "HIGH": "High", - "URGENT": "Urgent" - } + "LOW": "낮음", + "MEDIUM": "보통", + "HIGH": "높음", + "URGENT": "긴급" + }, + "COUNT": "{n}개의 매크로 | {n}개의 매크로", + "SEARCH_PLACEHOLDER": "매크로 검색...", + "NO_RESULTS": "검색과 일치하는 매크로가 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/mfa.json b/app/javascript/dashboard/i18n/locale/ko/mfa.json index c9ef842a2..e8368ce37 100644 --- a/app/javascript/dashboard/i18n/locale/ko/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ko/mfa.json @@ -1,106 +1,106 @@ { "MFA_SETTINGS": { - "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", - "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", - "STATUS_TITLE": "Authentication Status", - "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", + "TITLE": "2단계 인증", + "SUBTITLE": "TOTP 기반 인증으로 계정을 보호하십시오", + "DESCRIPTION": "시간 기반 일회용 비밀번호(TOTP)를 사용하여 계정에 추가 보안 계층을 적용합니다", + "STATUS_TITLE": "인증 상태", + "STATUS_DESCRIPTION": "2단계 인증 설정 및 백업 복구 코드를 관리합니다", "ENABLED": "사용함", "DISABLED": "사용 안 함", - "STATUS_ENABLED": "Two-factor authentication is active", - "STATUS_ENABLED_DESC": "Your account is protected with an additional layer of security", - "ENABLE_BUTTON": "Enable Two-Factor Authentication", - "ENHANCE_SECURITY": "Enhance Your Account Security", - "ENHANCE_SECURITY_DESC": "Two-factor authentication adds an extra layer of security by requiring a verification code from your authenticator app in addition to your password.", + "STATUS_ENABLED": "2단계 인증이 활성화되어 있습니다", + "STATUS_ENABLED_DESC": "계정이 추가 보안 계층으로 보호되고 있습니다", + "ENABLE_BUTTON": "2단계 인증 사용하기", + "ENHANCE_SECURITY": "계정 보안 강화", + "ENHANCE_SECURITY_DESC": "2단계 인증은 비밀번호 외에 인증 앱의 인증 코드를 추가로 요구하여 보안을 강화합니다.", "SETUP": { "STEP_NUMBER_1": "1", "STEP_NUMBER_2": "2", - "STEP1_TITLE": "Scan QR Code with Your Authenticator App", - "STEP1_DESCRIPTION": "Use Google Authenticator, Authy, or any TOTP-compatible app", - "LOADING_QR": "Loading...", - "MANUAL_ENTRY": "Can't scan? Enter code manually", - "SECRET_KEY": "Secret Key", + "STEP1_TITLE": "인증 앱으로 QR 코드를 스캔하십시오", + "STEP1_DESCRIPTION": "Google Authenticator, Authy 또는 TOTP 호환 앱을 사용하십시오", + "LOADING_QR": "로딩 중...", + "MANUAL_ENTRY": "스캔할 수 없습니까? 코드를 수동으로 입력하십시오", + "SECRET_KEY": "비밀 키", "COPY": "복사", - "ENTER_CODE": "Enter the 6-digit code from your authenticator app", + "ENTER_CODE": "인증 앱에서 6자리 코드를 입력하십시오", "ENTER_CODE_PLACEHOLDER": "000000", - "VERIFY_BUTTON": "Verify & Continue", + "VERIFY_BUTTON": "확인 후 계속", "CANCEL": "취소", - "ERROR_STARTING": "MFA not enabled. Please contact administrator.", - "INVALID_CODE": "Invalid verification code", - "SECRET_COPIED": "Secret key copied to clipboard", - "SUCCESS": "Two-factor authentication has been enabled successfully" + "ERROR_STARTING": "MFA가 활성화되지 않았습니다. 관리자에게 문의하십시오.", + "INVALID_CODE": "잘못된 인증 코드입니다", + "SECRET_COPIED": "비밀 키가 클립보드에 복사되었습니다", + "SUCCESS": "2단계 인증이 성공적으로 활성화되었습니다" }, "BACKUP": { - "TITLE": "Save Your Backup Codes", - "DESCRIPTION": "Keep these codes safe. Each can be used once if you lose access to your authenticator", - "IMPORTANT": "Important:", - "IMPORTANT_NOTE": " Save these codes in a secure location. You won't be able to see them again.", + "TITLE": "백업 코드를 저장하십시오", + "DESCRIPTION": "이 코드를 안전하게 보관하십시오. 인증 앱에 접근할 수 없을 때 각 코드를 한 번씩 사용할 수 있습니다.", + "IMPORTANT": "중요:", + "IMPORTANT_NOTE": " 이 코드를 안전한 장소에 저장하십시오. 다시 확인할 수 없습니다.", "DOWNLOAD": "다운로드", - "COPY_ALL": "Copy All", - "CONFIRM": "I have saved my backup codes in a secure location and understand that I won't be able to see them again", - "COMPLETE_SETUP": "Complete Setup", - "CODES_COPIED": "Backup codes copied to clipboard" + "COPY_ALL": "모두 복사", + "CONFIRM": "백업 코드를 안전한 장소에 저장했으며 다시 확인할 수 없다는 것을 이해합니다", + "COMPLETE_SETUP": "설정 완료", + "CODES_COPIED": "백업 코드가 클립보드에 복사되었습니다" }, "MANAGEMENT": { - "BACKUP_CODES": "Backup Codes", - "BACKUP_CODES_DESC": "Generate new codes if you've lost or used your existing ones", - "REGENERATE": "Regenerate Backup Codes", - "DISABLE_MFA": "Disable 2FA", - "DISABLE_MFA_DESC": "Remove two-factor authentication from your account", - "DISABLE_BUTTON": "Disable Two-Factor Authentication" + "BACKUP_CODES": "백업 코드", + "BACKUP_CODES_DESC": "기존 코드를 분실했거나 사용한 경우 새 코드를 생성하십시오", + "REGENERATE": "백업 코드 재생성", + "DISABLE_MFA": "2FA 비활성화", + "DISABLE_MFA_DESC": "계정에서 2단계 인증을 제거합니다", + "DISABLE_BUTTON": "2단계 인증 비활성화" }, "DISABLE": { - "TITLE": "Disable Two-Factor Authentication", - "DESCRIPTION": "You'll need to enter your password and a verification code to disable two-factor authentication.", + "TITLE": "2단계 인증 비활성화", + "DESCRIPTION": "2단계 인증을 비활성화하려면 비밀번호와 인증 코드를 입력해야 합니다.", "PASSWORD": "비밀번호", - "OTP_CODE": "Verification Code", + "OTP_CODE": "인증 코드", "OTP_CODE_PLACEHOLDER": "000000", - "CONFIRM": "Disable 2FA", + "CONFIRM": "2FA 비활성화", "CANCEL": "취소", - "SUCCESS": "Two-factor authentication has been disabled", - "ERROR": "Failed to disable MFA. Please check your credentials." + "SUCCESS": "2단계 인증이 비활성화되었습니다", + "ERROR": "MFA 비활성화에 실패했습니다. 자격 증명을 확인해 주십시오." }, "REGENERATE": { - "TITLE": "Regenerate Backup Codes", - "DESCRIPTION": "This will invalidate your existing backup codes and generate new ones. Enter your verification code to continue.", - "OTP_CODE": "Verification Code", + "TITLE": "백업 코드 재생성", + "DESCRIPTION": "기존 백업 코드가 무효화되고 새 코드가 생성됩니다. 계속하려면 인증 코드를 입력하십시오.", + "OTP_CODE": "인증 코드", "OTP_CODE_PLACEHOLDER": "000000", - "CONFIRM": "Generate New Codes", + "CONFIRM": "새 코드 생성", "CANCEL": "취소", - "NEW_CODES_TITLE": "New Backup Codes Generated", - "NEW_CODES_DESC": "Your old backup codes have been invalidated. Save these new codes in a secure location.", - "CODES_IMPORTANT": "Important:", - "CODES_IMPORTANT_NOTE": " Each code can only be used once. Save them before closing this window.", - "DOWNLOAD_CODES": "Download Codes", - "COPY_ALL_CODES": "Copy All Codes", - "CODES_SAVED": "I've Saved My Codes", - "SUCCESS": "New backup codes have been generated", - "ERROR": "Failed to regenerate backup codes" + "NEW_CODES_TITLE": "새 백업 코드가 생성되었습니다", + "NEW_CODES_DESC": "기존 백업 코드가 무효화되었습니다. 이 새 코드를 안전한 장소에 저장하십시오.", + "CODES_IMPORTANT": "중요:", + "CODES_IMPORTANT_NOTE": " 각 코드는 한 번만 사용할 수 있습니다. 이 창을 닫기 전에 저장하십시오.", + "DOWNLOAD_CODES": "코드 다운로드", + "COPY_ALL_CODES": "모든 코드 복사", + "CODES_SAVED": "코드를 저장했습니다", + "SUCCESS": "새 백업 코드가 생성되었습니다", + "ERROR": "백업 코드 재생성에 실패했습니다" } }, "MFA_VERIFICATION": { - "TITLE": "Two-Factor Authentication", - "DESCRIPTION": "Enter your verification code to continue", - "AUTHENTICATOR_APP": "Authenticator App", - "BACKUP_CODE": "Backup Code", - "ENTER_OTP_CODE": "Enter 6-digit code from your authenticator app", - "ENTER_BACKUP_CODE": "Enter one of your backup codes", + "TITLE": "2단계 인증", + "DESCRIPTION": "계속하려면 인증 코드를 입력하십시오", + "AUTHENTICATOR_APP": "인증 앱", + "BACKUP_CODE": "백업 코드", + "ENTER_OTP_CODE": "인증 앱에서 6자리 코드를 입력하십시오", + "ENTER_BACKUP_CODE": "백업 코드 중 하나를 입력하십시오", "BACKUP_CODE_PLACEHOLDER": "000000", - "VERIFY_BUTTON": "Verify", - "TRY_ANOTHER_METHOD": "Try another verification method", - "CANCEL_LOGIN": "Cancel and return to login", - "HELP_TEXT": "Having trouble signing in?", - "LEARN_MORE": "Learn more about 2FA", + "VERIFY_BUTTON": "확인", + "TRY_ANOTHER_METHOD": "다른 인증 방법 시도", + "CANCEL_LOGIN": "취소하고 로그인 페이지로 돌아가기", + "HELP_TEXT": "로그인에 문제가 있습니까?", + "LEARN_MORE": "2FA에 대해 자세히 알아보기", "HELP_MODAL": { - "TITLE": "Two-Factor Authentication Help", - "AUTHENTICATOR_TITLE": "Using an Authenticator App", - "AUTHENTICATOR_DESC": "Open your authenticator app (Google Authenticator, Authy, etc.) and enter the 6-digit code shown for your account.", - "BACKUP_TITLE": "Using a Backup Code", - "BACKUP_DESC": "If you don't have access to your authenticator app, you can use one of the backup codes you saved when setting up 2FA. Each code can only be used once.", - "CONTACT_TITLE": "Need More Help?", - "CONTACT_DESC_CLOUD": "If you've lost access to both your authenticator app and backup codes, please reach out to Chatwoot support for assistance.", - "CONTACT_DESC_SELF_HOSTED": "If you've lost access to both your authenticator app and backup codes, please contact your administrator for assistance." + "TITLE": "2단계 인증 도움말", + "AUTHENTICATOR_TITLE": "인증 앱 사용", + "AUTHENTICATOR_DESC": "인증 앱(Google Authenticator, Authy 등)을 열고 계정에 표시된 6자리 코드를 입력하십시오.", + "BACKUP_TITLE": "백업 코드 사용", + "BACKUP_DESC": "인증 앱에 접근할 수 없는 경우 2FA 설정 시 저장한 백업 코드 중 하나를 사용할 수 있습니다. 각 코드는 한 번만 사용할 수 있습니다.", + "CONTACT_TITLE": "추가 도움이 필요하십니까?", + "CONTACT_DESC_CLOUD": "인증 앱과 백업 코드 모두에 접근할 수 없는 경우 Chatwoot 지원팀에 문의하십시오.", + "CONTACT_DESC_SELF_HOSTED": "인증 앱과 백업 코드 모두에 접근할 수 없는 경우 관리자에게 문의하십시오." }, - "VERIFICATION_FAILED": "Verification failed. Please try again." + "VERIFICATION_FAILED": "인증에 실패했습니다. 다시 시도해 주십시오." } } diff --git a/app/javascript/dashboard/i18n/locale/ko/report.json b/app/javascript/dashboard/i18n/locale/ko/report.json index b53d52e6f..c4247fbb4 100644 --- a/app/javascript/dashboard/i18n/locale/ko/report.json +++ b/app/javascript/dashboard/i18n/locale/ko/report.json @@ -3,9 +3,8 @@ "HEADER": "대화", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_AGENT_REPORTS": "다운로드 에이전트 보고서", - "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", - "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", + "DATA_FETCHING_FAILED": "데이터를 가져오지 못했습니다. 나중에 다시 시도하십시오.", + "SUMMARY_FETCHING_FAILED": "요약을 가져오지 못했습니다. 나중에 다시 시도하십시오.", "METRICS": { "CONVERSATIONS": { "NAME": "대화", @@ -20,16 +19,16 @@ "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "첫 번째 응답 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "첫 번째 응답 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_TIME": { "NAME": "해결 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "해결 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_COUNT": { "NAME": "해결 수", @@ -40,12 +39,12 @@ "DESC": "( 총 )" }, "BOT_HANDOFF_COUNT": { - "NAME": "Handoff Count", + "NAME": "핸드오프 수", "DESC": "( 총 )" }, "REPLY_TIME": { - "NAME": "Customer waiting time", - "TOOLTIP_TEXT": "Waiting time is {metricValue} (based on {conversationCount} replies)", + "NAME": "고객 대기 시간", + "TOOLTIP_TEXT": "대기 시간은 {metricValue}입니다 ({conversationCount}개 응답 기준)", "DESC": "" } }, @@ -53,85 +52,86 @@ "LAST_7_DAYS": "지난 7일", "LAST_14_DAYS": "지난 14일", "LAST_30_DAYS": "지난 30일", - "THIS_MONTH": "This month", - "LAST_MONTH": "Last month", - "LAST_3_MONTHS": "Last 3 months", - "LAST_6_MONTHS": "Last 6 months", - "LAST_YEAR": "Last year", - "CUSTOM_DATE_RANGE": "Custom date range" + "THIS_MONTH": "이번 달", + "LAST_MONTH": "지난 달", + "LAST_3_MONTHS": "지난 3개월", + "LAST_6_MONTHS": "지난 6개월", + "LAST_YEAR": "지난 1년", + "CUSTOM_DATE_RANGE": "사용자 지정 날짜 범위" }, "CUSTOM_DATE_RANGE": { - "CONFIRM": "Apply", - "PLACEHOLDER": "Select date range" + "CONFIRM": "적용", + "PLACEHOLDER": "날짜 범위 선택" }, - "GROUP_BY_FILTER_DROPDOWN_LABEL": "Group By", - "DURATION_FILTER_LABEL": "Duration", + "GROUP_BY_FILTER_DROPDOWN_LABEL": "그룹 기준", + "DURATION_FILTER_LABEL": "기간", "GROUPING_OPTIONS": { - "DAY": "Day", - "WEEK": "Week", - "MONTH": "Month", - "YEAR": "Month" + "DAY": "일", + "WEEK": "주", + "MONTH": "월", + "YEAR": "년" }, "GROUP_BY_DAY_OPTIONS": [ { "id": 1, - "groupBy": "Day" + "groupBy": "일" } ], "GROUP_BY_WEEK_OPTIONS": [ { "id": 1, - "groupBy": "Day" + "groupBy": "일" }, { "id": 2, - "groupBy": "Week" + "groupBy": "주" } ], "GROUP_BY_MONTH_OPTIONS": [ { "id": 1, - "groupBy": "Day" + "groupBy": "일" }, { "id": 2, - "groupBy": "Week" + "groupBy": "주" }, { "id": 3, - "groupBy": "Month" + "groupBy": "월" } ], "GROUP_BY_YEAR_OPTIONS": [ - { - "id": 1, - "groupBy": "Day" - }, { "id": 2, - "groupBy": "Week" + "groupBy": "주" }, { "id": 3, - "groupBy": "Month" + "groupBy": "월" + }, + { + "id": 4, + "groupBy": "년" } ], "BUSINESS_HOURS": "영업시간", "FILTER_ACTIONS": { - "CLEAR_FILTER": "Clear filter", + "CLEAR_FILTER": "필터 지우기", "EMPTY_LIST": "검색 결과가 없습니다" }, "PAGINATION": { - "RESULTS": "Showing {start} to {end} of {total} results", - "PER_PAGE_TEMPLATE": "{size} / page" - } + "RESULTS": "{total}개 결과 중 {start}~{end} 표시", + "PER_PAGE_TEMPLATE": "{size} / 페이지" + }, + "DOWNLOAD_CONVERSATION_REPORTS": "대화 보고서 다운로드" }, "AGENT_REPORTS": { - "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "HEADER": "에이전트 개요", + "DESCRIPTION": "대화, 응답 시간, 해결 시간, 해결된 케이스 등 주요 지표로 에이전트 성과를 쉽게 추적할 수 있습니다. 에이전트 이름을 클릭하면 자세한 내용을 확인할 수 있습니다.", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_AGENT_REPORTS": "다운로드 에이전트 보고서", + "DOWNLOAD_AGENT_REPORTS": "에이전트 보고서 다운로드", "FILTER_DROPDOWN_LABEL": "에이전트 선택", "METRICS": { "CONVERSATIONS": { @@ -147,16 +147,16 @@ "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "첫 번째 응답 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "첫 번째 응답 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_TIME": { "NAME": "해결 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "해결 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_COUNT": { "NAME": "해결 수", @@ -174,33 +174,38 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "지난 3개월" }, { "id": 3, - "name": "Last 6 months" + "name": "지난 6개월" }, { "id": 4, - "name": "Last year" + "name": "지난 1년" }, { "id": 5, - "name": "Custom date range" + "name": "사용자 지정 날짜 범위" } ], "CUSTOM_DATE_RANGE": { - "CONFIRM": "Apply", - "PLACEHOLDER": "Select date range" + "CONFIRM": "적용", + "PLACEHOLDER": "날짜 범위 선택" + }, + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "에이전트 검색" + } } }, "LABEL_REPORTS": { - "HEADER": "Labels Overview", - "DESCRIPTION": "Track label performance with key metrics including conversations, response times, resolution times, and resolved cases. Click a label name for detailed insights.", + "HEADER": "라벨 개요", + "DESCRIPTION": "대화, 응답 시간, 해결 시간, 해결된 케이스 등 주요 지표로 라벨 성과를 추적할 수 있습니다. 라벨 이름을 클릭하면 자세한 내용을 확인할 수 있습니다.", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_LABEL_REPORTS": "Download label reports", - "FILTER_DROPDOWN_LABEL": "Select Label", + "DOWNLOAD_LABEL_REPORTS": "라벨 보고서 다운로드", + "FILTER_DROPDOWN_LABEL": "라벨 선택", "METRICS": { "CONVERSATIONS": { "NAME": "대화", @@ -215,16 +220,16 @@ "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "첫 번째 응답 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "첫 번째 응답 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_TIME": { "NAME": "해결 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "해결 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_COUNT": { "NAME": "해결 수", @@ -242,35 +247,40 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "지난 3개월" }, { "id": 3, - "name": "Last 6 months" + "name": "지난 6개월" }, { "id": 4, - "name": "Last year" + "name": "지난 1년" }, { "id": 5, - "name": "Custom date range" + "name": "사용자 지정 날짜 범위" } ], "CUSTOM_DATE_RANGE": { - "CONFIRM": "Apply", - "PLACEHOLDER": "Select date range" + "CONFIRM": "적용", + "PLACEHOLDER": "날짜 범위 선택" + }, + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "라벨 검색" + } } }, "INBOX_REPORTS": { - "HEADER": "Inbox Overview", - "DESCRIPTION": "Quickly view your inbox performance with key metrics like conversations, response times, resolution times, and resolved cases—all in one place. Click an inbox name for more details.", + "HEADER": "받은 메시지함 개요", + "DESCRIPTION": "대화, 응답 시간, 해결 시간, 해결된 케이스 등 주요 지표로 받은 메시지함 성과를 한눈에 확인할 수 있습니다. 받은 메시지함 이름을 클릭하면 자세한 내용을 확인할 수 있습니다.", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_INBOX_REPORTS": "Download inbox reports", - "FILTER_DROPDOWN_LABEL": "Select Inbox", - "ALL_INBOXES": "All Inboxes", - "SEARCH_INBOX": "Search Inbox", + "DOWNLOAD_INBOX_REPORTS": "받은 메시지함 보고서 다운로드", + "FILTER_DROPDOWN_LABEL": "받은 메시지함 선택", + "ALL_INBOXES": "모든 받은 메시지함", + "SEARCH_INBOX": "받은 메시지함 검색", "METRICS": { "CONVERSATIONS": { "NAME": "대화", @@ -285,16 +295,16 @@ "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "첫 번째 응답 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "첫 번째 응답 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_TIME": { "NAME": "해결 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "해결 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_COUNT": { "NAME": "해결 수", @@ -312,33 +322,38 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "지난 3개월" }, { "id": 3, - "name": "Last 6 months" + "name": "지난 6개월" }, { "id": 4, - "name": "Last year" + "name": "지난 1년" }, { "id": 5, - "name": "Custom date range" + "name": "사용자 지정 날짜 범위" } ], "CUSTOM_DATE_RANGE": { - "CONFIRM": "Apply", - "PLACEHOLDER": "Select date range" + "CONFIRM": "적용", + "PLACEHOLDER": "날짜 범위 선택" + }, + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "받은 메시지함 검색" + } } }, "TEAM_REPORTS": { - "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "HEADER": "팀 개요", + "DESCRIPTION": "대화, 응답 시간, 해결 시간, 해결된 케이스 등 필수 지표로 팀 성과를 한눈에 확인할 수 있습니다. 팀 이름을 클릭하면 자세한 내용을 확인할 수 있습니다.", "LOADING_CHART": "차트 데이터 불러오는 중...", "NO_ENOUGH_DATA": "보고서를 생성할 수 있는 데이터 포인트가 부족합니다. 나중에 다시 시도하십시오.", - "DOWNLOAD_TEAM_REPORTS": "Download team reports", - "FILTER_DROPDOWN_LABEL": "Select Team", + "DOWNLOAD_TEAM_REPORTS": "팀 보고서 다운로드", + "FILTER_DROPDOWN_LABEL": "팀 선택", "METRICS": { "CONVERSATIONS": { "NAME": "대화", @@ -353,16 +368,16 @@ "DESC": "( 총 )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "첫 번째 응답 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "첫 번째 응답 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_TIME": { "NAME": "해결 시간", "DESC": "( 평균 )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "Resolution Time is {metricValue} (based on {conversationCount} conversations)" + "INFO_TEXT": "계산에 사용된 총 대화 수:", + "TOOLTIP_TEXT": "해결 시간은 {metricValue}입니다 ({conversationCount}개 대화 기준)" }, "RESOLUTION_COUNT": { "NAME": "해결 수", @@ -380,203 +395,256 @@ }, { "id": 2, - "name": "Last 3 months" + "name": "지난 3개월" }, { "id": 3, - "name": "Last 6 months" + "name": "지난 6개월" }, { "id": 4, - "name": "Last year" + "name": "지난 1년" }, { "id": 5, - "name": "Custom date range" + "name": "사용자 지정 날짜 범위" } ], "CUSTOM_DATE_RANGE": { - "CONFIRM": "Apply", - "PLACEHOLDER": "Select date range" + "CONFIRM": "적용", + "PLACEHOLDER": "날짜 범위 선택" + }, + "FILTERS": { + "ADD_FILTER": "필터 추가", + "CLEAR_ALL": "모두 지우기", + "NO_FILTER": "사용 가능한 필터가 없습니다", + "INPUT_PLACEHOLDER": { + "TEAMS": "팀 검색" + } } }, "CSAT_REPORTS": { - "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", - "DOWNLOAD": "Download CSAT Reports", - "DOWNLOAD_FAILED": "Failed to download CSAT Reports", + "HEADER": "CSAT 보고서", + "NO_RECORDS": "아직 응답이 없습니다", + "DOWNLOAD": "CSAT 보고서 다운로드", + "DOWNLOAD_FAILED": "CSAT 보고서 다운로드에 실패했습니다", "FILTERS": { "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "에이전트" + }, + "ADD_FILTER": "필터 추가", + "CLEAR_ALL": "모두 지우기", + "NO_FILTER": "사용 가능한 필터가 없습니다", + "INPUT_PLACEHOLDER": { + "AGENTS": "에이전트 검색", + "INBOXES": "받은 메시지함 검색", + "TEAMS": "팀 검색", + "RATINGS": "평점 검색" + }, + "INBOXES": { + "LABEL": "받은 메시지함" + }, + "TEAMS": { + "LABEL": "팀" + }, + "RATINGS": { + "LABEL": "평점" } }, "TABLE": { "HEADER": { - "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", - "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "CONTACT_NAME": "연락처", + "AGENT_NAME": "에이전트", + "RATING": "평점", + "FEEDBACK_TEXT": "피드백 코멘트", + "CONVERSATION": "대화", + "CUSTOMER": "고객", + "RESPONSE": "응답", + "HANDLED_BY": "담당자" + }, + "UNKNOWN_CUSTOMER": "알 수 없는 고객" }, "METRIC": { "TOTAL_RESPONSES": { - "LABEL": "Total responses", - "TOOLTIP": "Total number of responses collected" + "LABEL": "총 응답 수", + "TOOLTIP": "수집된 총 응답 수" }, "SATISFACTION_SCORE": { - "LABEL": "Satisfaction score", - "TOOLTIP": "Total number of positive responses / Total number of responses * 100" + "LABEL": "만족도 점수", + "TOOLTIP": "긍정적 응답 수 / 총 응답 수 * 100" }, "RESPONSE_RATE": { - "LABEL": "Response rate", - "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + "LABEL": "응답률", + "TOOLTIP": "총 응답 수 / 발송된 CSAT 설문 메시지 수 * 100" + }, + "RATING_DISTRIBUTION": "평점 분포" + }, + "NO_RECORDS_DESCRIPTION": "고객이 피드백을 제공하기 시작하면 CSAT 설문 응답이 여기에 표시됩니다.", + "NO_AGENT": "배정된 에이전트 없음", + "NO_FEEDBACK": "피드백이 제공되지 않았습니다", + "REVIEW_NOTES": { + "TITLE": "리뷰 메모", + "PLACEHOLDER": "이 평점에 대한 리뷰 메모를 추가하십시오...", + "SAVE": "저장", + "CANCEL": "취소", + "SAVING": "저장 중...", + "SAVED": "메모가 성공적으로 저장되었습니다", + "SAVE_ERROR": "메모 저장에 실패했습니다", + "UPDATED_BY": "{name}이(가) {time}에 업데이트함", + "UPDATED_BY_LABEL": "업데이트한 사람", + "PAYWALL": { + "TITLE": "리뷰 메모를 추가하려면 업그레이드하십시오", + "AVAILABLE_ON": "리뷰 메모 기능은 Business 및 Enterprise 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "리뷰 메모를 통해 모든 CSAT 응답에 내부 컨텍스트를 추가할 수 있습니다. 실제 상황을 기록하고, 패턴을 빠르게 파악하며, 피드백을 기반으로 더 나은 결정을 내리십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 플랜을 변경하거나 취소할 수 있습니다" } } }, "BOT_REPORTS": { - "HEADER": "Bot Reports", + "HEADER": "봇 보고서", "METRIC": { "TOTAL_CONVERSATIONS": { - "LABEL": "No. of Conversations", - "TOOLTIP": "Total number of conversations handled by the bot" + "LABEL": "대화 수", + "TOOLTIP": "봇이 처리한 총 대화 수" }, "TOTAL_RESPONSES": { - "LABEL": "Total Responses", - "TOOLTIP": "Total number of responses sent by the bot" + "LABEL": "총 응답 수", + "TOOLTIP": "봇이 보낸 총 응답 수" }, "RESOLUTION_RATE": { - "LABEL": "Resolution Rate", - "TOOLTIP": "Total number of conversations resolved by the bot / Total number of conversations handled by the bot * 100" + "LABEL": "해결률", + "TOOLTIP": "봇이 해결한 대화 수 / 봇이 처리한 총 대화 수 * 100" }, "HANDOFF_RATE": { - "LABEL": "Handoff Rate", - "TOOLTIP": "Total number of conversations handed off to agents / Total number of conversations handled by the bot * 100" + "LABEL": "핸드오프율", + "TOOLTIP": "에이전트에게 전달된 대화 수 / 봇이 처리한 총 대화 수 * 100" } } }, "OVERVIEW_REPORTS": { - "HEADER": "Overview", - "LIVE": "Live", + "HEADER": "개요", + "LIVE": "실시간", "ACCOUNT_CONVERSATIONS": { - "HEADER": "Open Conversations", - "LOADING_MESSAGE": "Loading conversation metrics...", - "OPEN": "열기", - "UNATTENDED": "Unattended", - "UNASSIGNED": "지정되지 않음", - "PENDING": "보내는 중" + "HEADER": "열린 대화", + "LOADING_MESSAGE": "대화 지표 불러오는 중...", + "OPEN": "열림", + "UNATTENDED": "미응대", + "UNASSIGNED": "미배정", + "PENDING": "보류 중" }, "CONVERSATION_HEATMAP": { - "HEADER": "Conversation Traffic", - "NO_CONVERSATIONS": "No conversations", - "CONVERSATION": "{count} conversation", - "CONVERSATIONS": "{count} conversations", - "DOWNLOAD_REPORT": "Download report" + "HEADER": "대화 트래픽", + "NO_CONVERSATIONS": "대화 없음", + "CONVERSATION": "{count}개 대화", + "CONVERSATIONS": "{count}개 대화", + "DOWNLOAD_REPORT": "보고서 다운로드" }, "RESOLUTION_HEATMAP": { - "HEADER": "Resolutions", - "NO_CONVERSATIONS": "No conversations", - "CONVERSATION": "{count} conversation", - "CONVERSATIONS": "{count} conversations", - "DOWNLOAD_REPORT": "Download report" + "HEADER": "해결", + "NO_CONVERSATIONS": "대화 없음", + "CONVERSATION": "{count}개 대화", + "CONVERSATIONS": "{count}개 대화", + "DOWNLOAD_REPORT": "보고서 다운로드" }, "AGENT_CONVERSATIONS": { - "HEADER": "Conversations by agents", - "LOADING_MESSAGE": "Loading agent metrics...", - "NO_AGENTS": "There are no conversations by agents", + "HEADER": "에이전트별 대화", + "LOADING_MESSAGE": "에이전트 지표 불러오는 중...", + "NO_AGENTS": "에이전트별 대화가 없습니다", "TABLE_HEADER": { "AGENT": "에이전트", - "OPEN": "열기", - "UNATTENDED": "Unattended", + "OPEN": "열림", + "UNATTENDED": "미응대", "STATUS": "상태" } }, "TEAM_CONVERSATIONS": { - "ALL_TEAMS": "All Teams", - "HEADER": "Conversations by teams", - "LOADING_MESSAGE": "Loading team metrics...", - "NO_TEAMS": "There is no data available", + "ALL_TEAMS": "모든 팀", + "HEADER": "팀별 대화", + "LOADING_MESSAGE": "팀 지표 불러오는 중...", + "NO_TEAMS": "사용 가능한 데이터가 없습니다", "TABLE_HEADER": { - "TEAM": "Team", - "OPEN": "열기", - "UNATTENDED": "Unattended", + "TEAM": "팀", + "OPEN": "열림", + "UNATTENDED": "미응대", "STATUS": "상태" } }, "AGENT_STATUS": { - "HEADER": "Agent status", + "HEADER": "에이전트 상태", "ONLINE": "온라인", "BUSY": "바쁨", "OFFLINE": "오프라인" } }, "DAYS_OF_WEEK": { - "SUNDAY": "Sunday", - "MONDAY": "Monday", - "TUESDAY": "Tuesday", - "WEDNESDAY": "Wednesday", - "THURSDAY": "Thursday", - "FRIDAY": "Friday", - "SATURDAY": "Saturday" + "SUNDAY": "일요일", + "MONDAY": "월요일", + "TUESDAY": "화요일", + "WEDNESDAY": "수요일", + "THURSDAY": "목요일", + "FRIDAY": "금요일", + "SATURDAY": "토요일" }, "SLA_REPORTS": { - "HEADER": "SLA Reports", - "NO_RECORDS": "SLA applied conversations are not available.", - "LOADING": "Loading SLA data...", - "DOWNLOAD_SLA_REPORTS": "Download SLA reports", - "DOWNLOAD_FAILED": "Failed to download SLA Reports", + "HEADER": "SLA 보고서", + "NO_RECORDS": "SLA가 적용된 대화가 없습니다.", + "LOADING": "SLA 데이터 불러오는 중...", + "DOWNLOAD_SLA_REPORTS": "SLA 보고서 다운로드", + "DOWNLOAD_FAILED": "SLA 보고서 다운로드에 실패했습니다", "DROPDOWN": { - "ADD_FIlTER": "Add filter", - "CLEAR_ALL": "Clear all", - "CLEAR_FILTER": "Clear filter", + "ADD_FIlTER": "필터 추가", + "CLEAR_ALL": "모두 지우기", + "CLEAR_FILTER": "필터 지우기", "EMPTY_LIST": "검색 결과가 없습니다", - "NO_FILTER": "No filters available", - "SEARCH": "Search filter", + "NO_FILTER": "사용 가능한 필터가 없습니다", + "SEARCH": "필터 검색", "INPUT_PLACEHOLDER": { - "SLA": "SLA name", - "AGENTS": "Agent name", - "INBOXES": "Inbox name", + "SLA": "SLA 이름", + "AGENTS": "에이전트 이름", + "INBOXES": "받은 메시지함 이름", "LABELS": "라벨 이름", - "TEAMS": "Team name" + "TEAMS": "팀 이름" }, - "SLA": "SLA Policy", + "SLA": "SLA 정책", "INBOXES": "받은 메시지함", "AGENTS": "에이전트", - "LABELS": "Label", - "TEAMS": "Team" + "LABELS": "라벨", + "TEAMS": "팀" }, - "WITH": "with", + "WITH": "포함", "METRICS": { "HIT_RATE": { - "LABEL": "Hit Rate", - "TOOLTIP": "Percentage of SLAs created were completed successfully" + "LABEL": "달성률", + "TOOLTIP": "생성된 SLA 중 성공적으로 완료된 비율" }, "NO_OF_MISSES": { - "LABEL": "Number of Misses", - "TOOLTIP": "Total SLA misses in a certain period" + "LABEL": "미달성 수", + "TOOLTIP": "특정 기간 내 총 SLA 미달성 수" }, "NO_OF_CONVERSATIONS": { - "LABEL": "Number of Conversations", - "TOOLTIP": "Total number of conversations with SLA" + "LABEL": "대화 수", + "TOOLTIP": "SLA가 적용된 총 대화 수" } }, "TABLE": { "HEADER": { - "POLICY": "Policy", - "CONVERSATION": "Conversation", + "POLICY": "정책", + "CONVERSATION": "대화", "AGENT": "에이전트" }, - "VIEW_DETAILS": "View Details" + "VIEW_DETAILS": "상세 보기" } }, "SUMMARY_REPORTS": { "INBOX": "받은 메시지함", "AGENT": "에이전트", - "TEAM": "Team", - "LABEL": "Label", - "AVG_RESOLUTION_TIME": "Avg. Resolution Time", - "AVG_FIRST_RESPONSE_TIME": "Avg. First Response Time", - "AVG_REPLY_TIME": "Avg. Customer Waiting Time", + "TEAM": "팀", + "LABEL": "라벨", + "AVG_RESOLUTION_TIME": "평균 해결 시간", + "AVG_FIRST_RESPONSE_TIME": "평균 첫 번째 응답 시간", + "AVG_REPLY_TIME": "평균 고객 대기 시간", "RESOLUTION_COUNT": "해결 수", - "CONVERSATIONS": "No. of conversations" + "CONVERSATIONS": "대화 수" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/resetPassword.json b/app/javascript/dashboard/i18n/locale/ko/resetPassword.json index 4a17337be..5e57f706f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/ko/resetPassword.json @@ -1,15 +1,15 @@ { "RESET_PASSWORD": { "TITLE": "비밀번호 재설정하기", - "DESCRIPTION": "Enter the email address you use to log in to Chatwoot to get the password reset instructions.", - "GO_BACK_TO_LOGIN": "If you want to go back to the login page,", + "DESCRIPTION": "비밀번호 재설정 안내를 받으려면 Chatwoot에 로그인할 때 사용하는 이메일 주소를 입력하십시오.", + "GO_BACK_TO_LOGIN": "로그인 페이지로 돌아가려면", "EMAIL": { "LABEL": "이메일", "PLACEHOLDER": "이메일을 입력해 주세요.", "ERROR": "올바른 이메일 주소를 입력하세요." }, "API": { - "SUCCESS_MESSAGE": "비밀번호 재설정 링크가 이메일로 전송됨.", + "SUCCESS_MESSAGE": "비밀번호 재설정 링크가 이메일로 전송되었습니다.", "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." }, "SUBMIT": "보내기" diff --git a/app/javascript/dashboard/i18n/locale/ko/search.json b/app/javascript/dashboard/i18n/locale/ko/search.json index 6546b02b4..90630a3de 100644 --- a/app/javascript/dashboard/i18n/locale/ko/search.json +++ b/app/javascript/dashboard/i18n/locale/ko/search.json @@ -1,68 +1,68 @@ { "SEARCH": { "TABS": { - "ALL": "All results", + "ALL": "모든 결과", "CONTACTS": "연락처", "CONVERSATIONS": "대화", "MESSAGES": "메시지", - "ARTICLES": "Articles" + "ARTICLES": "문서" }, "SECTION": { "CONTACTS": "연락처", "CONVERSATIONS": "대화", "MESSAGES": "메시지", - "ARTICLES": "Articles" + "ARTICLES": "문서" }, - "VIEW_MORE": "View more", - "LOAD_MORE": "Load more", - "SEARCHING_DATA": "Searching", - "LOADING_DATA": "Loading", - "EMPTY_STATE": "No {item} found for query '{query}'", - "EMPTY_STATE_FULL": "No results found for query '{query}'", - "PLACEHOLDER_KEYBINDING": "/to focus", - "INPUT_PLACEHOLDER": "Type 3 or more characters to search", - "RECENT_SEARCHES": "Recent searches", - "CLEAR_ALL": "Clear all", - "MOST_RECENT": "Most recent", - "EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ", + "VIEW_MORE": "더 보기", + "LOAD_MORE": "더 불러오기", + "SEARCHING_DATA": "검색 중", + "LOADING_DATA": "로딩 중", + "EMPTY_STATE": "'{query}' 검색어에 대한 {item}을(를) 찾을 수 없습니다", + "EMPTY_STATE_FULL": "'{query}' 검색어에 대한 결과를 찾을 수 없습니다", + "PLACEHOLDER_KEYBINDING": "/ 로 포커스", + "INPUT_PLACEHOLDER": "검색하려면 3자 이상 입력하십시오", + "RECENT_SEARCHES": "최근 검색", + "CLEAR_ALL": "모두 지우기", + "MOST_RECENT": "최근", + "EMPTY_STATE_DEFAULT": "더 나은 검색 결과를 위해 대화 ID, 이메일, 전화번호, 메시지로 검색하십시오. ", "BOT_LABEL": "봇", - "READ_MORE": "Read more", - "READ_LESS": "Read less", - "WROTE": "wrote:", - "FROM": "From", + "READ_MORE": "더 읽기", + "READ_LESS": "접기", + "WROTE": "작성:", + "FROM": "보낸 사람", "EMAIL": "이메일", - "EMAIL_SUBJECT": "Subject", - "PRIVATE": "Private note", - "TRANSCRIPT": "Transcript", - "CREATED_AT": "created {time}", - "UPDATED_AT": "updated {time}", + "EMAIL_SUBJECT": "제목", + "PRIVATE": "비공개 메모", + "TRANSCRIPT": "대화 내용", + "CREATED_AT": "{time}에 생성됨", + "UPDATED_AT": "{time}에 업데이트됨", "SORT_BY": { - "RELEVANCE": "Relevance" + "RELEVANCE": "관련도" }, "DATE_RANGE": { "LAST_7_DAYS": "지난 7일", "LAST_30_DAYS": "지난 30일", "LAST_60_DAYS": "지난 60일", "LAST_90_DAYS": "지난 90일", - "CUSTOM_RANGE": "Custom range:", - "CREATED_BETWEEN": "Created between", - "AND": "and", - "APPLY": "Apply", - "BEFORE_DATE": "Before {date}", - "AFTER_DATE": "After {date}", - "TIME_RANGE": "Filter by time", - "CLEAR_FILTER": "Clear filter" + "CUSTOM_RANGE": "사용자 지정 범위:", + "CREATED_BETWEEN": "생성 기간", + "AND": "~", + "APPLY": "적용", + "BEFORE_DATE": "{date} 이전", + "AFTER_DATE": "{date} 이후", + "TIME_RANGE": "기간별 필터", + "CLEAR_FILTER": "필터 지우기" }, "FILTERS": { - "FILTER_MESSAGE": "Filter messages by:", - "FROM": "Sender", + "FILTER_MESSAGE": "메시지 필터 기준:", + "FROM": "발신자", "IN": "받은 메시지함", "AGENTS": "에이전트", "CONTACTS": "연락처", "INBOXES": "받은 메시지함", - "NO_AGENTS": "에이전트를 찾을 수 없음", - "NO_CONTACTS": "Start by searching to see results", - "NO_INBOXES": "No inboxes found" + "NO_AGENTS": "에이전트를 찾을 수 없습니다", + "NO_CONTACTS": "검색을 시작하여 결과를 확인하십시오", + "NO_INBOXES": "받은 메시지함을 찾을 수 없습니다" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json b/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json index 1456ba40e..d015d3922 100644 --- a/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/ko/setNewPassword.json @@ -4,19 +4,19 @@ "PASSWORD": { "LABEL": "비밀번호", "PLACEHOLDER": "비밀번호", - "ERROR": "비밀번호가 너무 짧음." + "ERROR": "비밀번호가 너무 짧습니다." }, "CONFIRM_PASSWORD": { "LABEL": "비밀번호 확인", "PLACEHOLDER": "비밀번호 확인", - "ERROR": "비밀번호가 일치하지 않음." + "ERROR": "비밀번호가 일치하지 않습니다." }, "API": { - "SUCCESS_MESSAGE": "비밀번호 변경 성공.", + "SUCCESS_MESSAGE": "비밀번호가 성공적으로 변경되었습니다.", "ERROR_MESSAGE": "Woot 서버에 연결할 수 없습니다. 나중에 다시 시도해 주세요." }, "CAPTCHA": { - "ERROR": "Verification expired. Please solve captcha again." + "ERROR": "인증이 만료되었습니다. 캡차를 다시 완료해 주십시오." }, "SUBMIT": "보내기" } diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index 889cbd52c..6485e5889 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -3,14 +3,14 @@ "LINK": "프로필 설정", "TITLE": "프로필 설정", "BTN_TEXT": "프로필 업데이트", - "DELETE_AVATAR": "Delete Avatar", - "AVATAR_DELETE_SUCCESS": "Avatar has been deleted successfully", - "AVATAR_DELETE_FAILED": "There is an error while deleting avatar, please try again", - "UPDATE_SUCCESS": "Your profile has been updated successfully", - "PASSWORD_UPDATE_SUCCESS": "Your password has been changed successfully", - "AFTER_EMAIL_CHANGED": "프로필이 성공적으로 업데이트되었습니다. 로그인 자격 증명이 변경된 경우 다시 로그인하십시오.", + "DELETE_AVATAR": "아바타 삭제", + "AVATAR_DELETE_SUCCESS": "아바타가 성공적으로 삭제되었습니다", + "AVATAR_DELETE_FAILED": "아바타 삭제 중 오류가 발생했습니다. 다시 시도하십시오", + "UPDATE_SUCCESS": "프로필이 성공적으로 업데이트되었습니다", + "PASSWORD_UPDATE_SUCCESS": "비밀번호가 성공적으로 변경되었습니다", + "AFTER_EMAIL_CHANGED": "프로필이 성공적으로 업데이트되었습니다. 로그인 자격 증명이 변경되었으므로 다시 로그인하십시오.", "FORM": { - "PICTURE": "Profile Picture", + "PICTURE": "프로필 사진", "AVATAR": "프로필 이미지", "ERROR": "양식 오류를 수정하십시오", "REMOVE_IMAGE": "제거", @@ -18,168 +18,168 @@ "UPDATE_IMAGE": "이미지 업데이트", "PROFILE_SECTION": { "TITLE": "프로필", - "NOTE": "당신의 이메일 주소는 당신의 신분이고 로그인에 사용됩니다." + "NOTE": "이메일 주소는 사용자 식별에 사용되며 로그인에 사용됩니다." }, "SEND_MESSAGE": { - "TITLE": "Hotkey to send messages", - "NOTE": "You can select a hotkey (either Enter or Cmd/Ctrl+Enter) based on your preference of writing.", - "UPDATE_SUCCESS": "Your settings have been updated successfully", + "TITLE": "메시지 전송 단축키", + "NOTE": "작성 스타일에 따라 단축키(Enter 또는 Cmd/Ctrl+Enter)를 선택할 수 있습니다.", + "UPDATE_SUCCESS": "설정이 성공적으로 업데이트되었습니다", "CARD": { "ENTER_KEY": { "HEADING": "Enter (↵)", - "CONTENT": "Send messages by pressing Enter key instead of clicking the send button." + "CONTENT": "전송 버튼을 클릭하는 대신 Enter 키를 눌러 메시지를 전송합니다." }, "CMD_ENTER_KEY": { "HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)", - "CONTENT": "Send messages by pressing Cmd/Ctrl + enter key instead of clicking the send button." + "CONTENT": "전송 버튼을 클릭하는 대신 Cmd/Ctrl + Enter 키를 눌러 메시지를 전송합니다." } } }, "INTERFACE_SECTION": { - "TITLE": "Interface", - "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "TITLE": "인터페이스", + "NOTE": "대시보드의 모양과 느낌을 사용자 정의합니다.", "FONT_SIZE": { - "TITLE": "Font size", - "NOTE": "Adjust the text size across the dashboard based on your preference.", - "UPDATE_SUCCESS": "Your font settings have been updated successfully", - "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "TITLE": "글꼴 크기", + "NOTE": "선호도에 따라 대시보드 전체의 텍스트 크기를 조정합니다.", + "UPDATE_SUCCESS": "글꼴 설정이 성공적으로 업데이트되었습니다", + "UPDATE_ERROR": "글꼴 설정 업데이트 중 오류가 발생했습니다. 다시 시도하십시오", "OPTIONS": { - "SMALLER": "Smaller", - "SMALL": "Small", - "DEFAULT": "Default", - "LARGE": "Large", - "LARGER": "Larger", - "EXTRA_LARGE": "Extra Large" + "SMALLER": "더 작게", + "SMALL": "작게", + "DEFAULT": "기본", + "LARGE": "크게", + "LARGER": "더 크게", + "EXTRA_LARGE": "매우 크게" } }, "LANGUAGE": { - "TITLE": "Preferred Language", - "NOTE": "Choose the language you want to use.", - "UPDATE_SUCCESS": "Your Language settings have been updated successfully", - "UPDATE_ERROR": "There is an error while updating the language settings, please try again", - "USE_ACCOUNT_DEFAULT": "Use account default" + "TITLE": "선호 언어", + "NOTE": "사용할 언어를 선택하십시오.", + "UPDATE_SUCCESS": "언어 설정이 성공적으로 업데이트되었습니다", + "UPDATE_ERROR": "언어 설정 업데이트 중 오류가 발생했습니다. 다시 시도하십시오", + "USE_ACCOUNT_DEFAULT": "계정 기본값 사용" } }, "MESSAGE_SIGNATURE_SECTION": { - "TITLE": "Personal message signature", - "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", - "BTN_TEXT": "Save message signature", - "API_ERROR": "Couldn't save signature! Try again", - "API_SUCCESS": "Signature saved successfully", - "IMAGE_UPLOAD_ERROR": "Couldn't upload image! Try again", - "IMAGE_UPLOAD_SUCCESS": "Image added successfully. Please click on save to save the signature", - "IMAGE_UPLOAD_SIZE_ERROR": "Image size should be less than {size}MB" + "TITLE": "개인 메시지 서명", + "NOTE": "모든 받은 메시지함에서 보내는 모든 메시지 끝에 표시되는 고유한 메시지 서명을 만드십시오. 인라인 이미지도 포함할 수 있으며, 라이브 채팅, 이메일 및 API 받은 메시지함에서 지원됩니다.", + "BTN_TEXT": "메시지 서명 저장", + "API_ERROR": "서명을 저장할 수 없습니다! 다시 시도하십시오", + "API_SUCCESS": "서명이 성공적으로 저장되었습니다", + "IMAGE_UPLOAD_ERROR": "이미지를 업로드할 수 없습니다! 다시 시도하십시오", + "IMAGE_UPLOAD_SUCCESS": "이미지가 성공적으로 추가되었습니다. 저장을 클릭하여 서명을 저장하십시오", + "IMAGE_UPLOAD_SIZE_ERROR": "이미지 크기는 {size}MB 미만이어야 합니다" }, "MESSAGE_SIGNATURE": { - "LABEL": "Message Signature", - "ERROR": "Message Signature cannot be empty", - "PLACEHOLDER": "Insert your personal message signature here." + "LABEL": "메시지 서명", + "ERROR": "메시지 서명은 비워둘 수 없습니다", + "PLACEHOLDER": "여기에 개인 메시지 서명을 입력하십시오." }, "PASSWORD_SECTION": { "TITLE": "비밀번호", - "NOTE": "암호를 업데이트하면 여러 장치의 로그인이 재설정됩니다.", - "BTN_TEXT": "Change password" + "NOTE": "비밀번호를 업데이트하면 여러 기기의 로그인이 재설정됩니다.", + "BTN_TEXT": "비밀번호 변경" }, "SECURITY_SECTION": { - "TITLE": "Security", - "NOTE": "Manage additional security features for your account.", - "MFA_BUTTON": "Manage Two-Factor Authentication" + "TITLE": "보안", + "NOTE": "계정의 추가 보안 기능을 관리합니다.", + "MFA_BUTTON": "2단계 인증 관리" }, "ACCESS_TOKEN": { - "TITLE": "엑세스 토큰", - "NOTE": "API 기반 통합을 구축하는 경우 이 토큰을 사용할 수 있음", + "TITLE": "액세스 토큰", + "NOTE": "API 기반 통합을 구축하는 경우 이 토큰을 사용할 수 있습니다", "COPY": "복사", - "RESET": "Reset", - "CONFIRM_RESET": "Are you sure?", - "CONFIRM_HINT": "Click again to confirm", - "RESET_SUCCESS": "Access token regenerated successfully", - "RESET_ERROR": "Unable to regenerate access token. Please try again" + "RESET": "재설정", + "CONFIRM_RESET": "정말로 진행하시겠습니까?", + "CONFIRM_HINT": "확인하려면 다시 클릭하십시오", + "RESET_SUCCESS": "액세스 토큰이 성공적으로 재생성되었습니다", + "RESET_ERROR": "액세스 토큰을 재생성할 수 없습니다. 다시 시도하십시오" }, "AUDIO_NOTIFICATIONS_SECTION": { - "TITLE": "Audio Alerts", - "NOTE": "Enable audio alerts in dashboard for new messages and conversations.", - "PLAY": "Play sound", + "TITLE": "오디오 알림", + "NOTE": "새 메시지 및 대화에 대한 대시보드 오디오 알림을 활성화합니다.", + "PLAY": "소리 재생", "ALERT_TYPES": { "NONE": "없음", - "MINE": "Assigned", + "MINE": "배정됨", "ALL": "모두", - "ASSIGNED": "My assigned conversations", - "UNASSIGNED": "Unassigned conversations", - "NOTME": "Open conversations assigned to others" + "ASSIGNED": "내 배정된 대화", + "UNASSIGNED": "배정되지 않은 대화", + "NOTME": "다른 사람에게 배정된 열린 대화" }, "ALERT_COMBINATIONS": { - "NONE": "You haven't selected any options, you won't receive any audio alerts.", - "ASSIGNED": "You'll receive alerts for conversations assigned to you.", - "UNASSIGNED": "You'll receive alerts for any unassigned conversations.", - "NOTME": "You'll receive alerts for conversations assigned to others.", - "ASSIGNED+UNASSIGNED": "You'll receive alerts for your assigned conversations and any unattended ones.", - "ASSIGNED+NOTME": "You'll receive alerts for conversations assigned to you and to others, but not for unassigned ones.", - "NOTME+UNASSIGNED": "You'll receive alerts for unattended conversations and those assigned to others.", - "ASSIGNED+NOTME+UNASSIGNED": "You'll receive alerts for all conversations." + "NONE": "옵션을 선택하지 않았습니다. 오디오 알림을 받지 않습니다.", + "ASSIGNED": "배정된 대화에 대한 알림을 받습니다.", + "UNASSIGNED": "배정되지 않은 대화에 대한 알림을 받습니다.", + "NOTME": "다른 사람에게 배정된 대화에 대한 알림을 받습니다.", + "ASSIGNED+UNASSIGNED": "배정된 대화 및 미배정 대화에 대한 알림을 받습니다.", + "ASSIGNED+NOTME": "배정된 대화 및 다른 사람에게 배정된 대화에 대한 알림을 받지만, 미배정 대화에 대해서는 받지 않습니다.", + "NOTME+UNASSIGNED": "미배정 대화 및 다른 사람에게 배정된 대화에 대한 알림을 받습니다.", + "ASSIGNED+NOTME+UNASSIGNED": "모든 대화에 대한 알림을 받습니다." }, "ALERT_TYPE": { - "TITLE": "Alert events for conversations", + "TITLE": "대화 알림 이벤트", "NONE": "없음", - "ASSIGNED": "Assigned Conversations", - "ALL_CONVERSATIONS": "All Conversations" + "ASSIGNED": "배정된 대화", + "ALL_CONVERSATIONS": "모든 대화" }, "DEFAULT_TONE": { - "TITLE": "Alert tone:" + "TITLE": "알림 소리:" }, "CONDITIONS": { - "TITLE": "Alert conditions:", - "CONDITION_ONE": "Send audio alerts only if the browser window is not active", - "CONDITION_TWO": "Send alerts every 30s until all the assigned conversations are read" + "TITLE": "알림 조건:", + "CONDITION_ONE": "브라우저 창이 활성화되지 않은 경우에만 오디오 알림 전송", + "CONDITION_TWO": "배정된 모든 대화를 읽을 때까지 30초마다 알림 전송" }, - "SOUND_PERMISSION_ERROR": "Autoplay is disabled in your browser. To hear alerts automatically, enable sound permission in your browser settings or interact with the page.", - "READ_MORE": "Read more" + "SOUND_PERMISSION_ERROR": "브라우저에서 자동 재생이 비활성화되어 있습니다. 알림을 자동으로 들으려면 브라우저 설정에서 소리 권한을 활성화하거나 페이지와 상호 작용하십시오.", + "READ_MORE": "자세히 보기" }, "EMAIL_NOTIFICATIONS_SECTION": { "TITLE": "이메일 알림", - "NOTE": "여기서 이메일 알림 기본 설정 업데이트", - "CONVERSATION_ASSIGNMENT": "대화가 할당될 때 이메일 알림 보내기", + "NOTE": "여기서 이메일 알림 기본 설정을 업데이트하십시오", + "CONVERSATION_ASSIGNMENT": "대화가 배정될 때 이메일 알림 보내기", "CONVERSATION_CREATION": "새 대화가 생성될 때 이메일 알림 보내기", "CONVERSATION_MENTION": "대화에서 멘션될 때 이메일 알림 보내기", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "할당된 대화에서 새 메시지가 생성될 때 이메일 알림 보내기", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send email notifications when a new message is created in a participating conversation", - "SLA_MISSED_FIRST_RESPONSE": "Send email notifications when a conversation misses first response SLA", - "SLA_MISSED_NEXT_RESPONSE": "Send email notifications when a conversation misses next response SLA", - "SLA_MISSED_RESOLUTION": "Send email notifications when a conversation misses resolution SLA" + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "배정된 대화에서 새 메시지가 생성될 때 이메일 알림 보내기", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "참여 중인 대화에서 새 메시지가 생성될 때 이메일 알림 보내기", + "SLA_MISSED_FIRST_RESPONSE": "대화가 첫 응답 SLA를 놓쳤을 때 이메일 알림 보내기", + "SLA_MISSED_NEXT_RESPONSE": "대화가 다음 응답 SLA를 놓쳤을 때 이메일 알림 보내기", + "SLA_MISSED_RESOLUTION": "대화가 해결 SLA를 놓쳤을 때 이메일 알림 보내기" }, "NOTIFICATIONS": { - "TITLE": "Notification preferences", - "TYPE_TITLE": "Notification type", + "TITLE": "알림 기본 설정", + "TYPE_TITLE": "알림 유형", "EMAIL": "이메일", - "PUSH": "Push notification", + "PUSH": "푸시 알림", "TYPES": { - "CONVERSATION_CREATED": "A new conversation is created", - "CONVERSATION_ASSIGNED": "A conversation is assigned to you", - "CONVERSATION_MENTION": "You are mentioned in a conversation", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "A new message is created in an assigned conversation", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "A new message is created in a participating conversation", - "SLA_MISSED_FIRST_RESPONSE": "A conversation misses first response SLA", - "SLA_MISSED_NEXT_RESPONSE": "A conversation misses next response SLA", - "SLA_MISSED_RESOLUTION": "A conversation misses resolution SLA" + "CONVERSATION_CREATED": "새 대화가 생성됨", + "CONVERSATION_ASSIGNED": "대화가 배정됨", + "CONVERSATION_MENTION": "대화에서 멘션됨", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "배정된 대화에서 새 메시지가 생성됨", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "참여 중인 대화에서 새 메시지가 생성됨", + "SLA_MISSED_FIRST_RESPONSE": "대화가 첫 응답 SLA를 놓침", + "SLA_MISSED_NEXT_RESPONSE": "대화가 다음 응답 SLA를 놓침", + "SLA_MISSED_RESOLUTION": "대화가 해결 SLA를 놓침" }, - "BROWSER_PERMISSION": "Enable push notifications for your browser so you’re able to receive them" + "BROWSER_PERMISSION": "브라우저의 푸시 알림을 활성화하여 알림을 받을 수 있도록 하십시오" }, "API": { - "UPDATE_SUCCESS": "알림 기본 설정이 성공적으로 업데이트됨", + "UPDATE_SUCCESS": "알림 기본 설정이 성공적으로 업데이트되었습니다", "UPDATE_ERROR": "기본 설정을 업데이트하는 동안 오류가 발생했습니다. 다시 시도하십시오." }, "PUSH_NOTIFICATIONS_SECTION": { "TITLE": "푸시 알림", - "NOTE": "여기에서 푸시 알림 기본 설정 업데이트", - "CONVERSATION_ASSIGNMENT": "대화가 할당되면 푸시 알림 보내기", - "CONVERSATION_CREATION": "새 대화가 만들어질 때 푸시 알림 보내기", + "NOTE": "여기에서 푸시 알림 기본 설정을 업데이트하십시오", + "CONVERSATION_ASSIGNMENT": "대화가 배정될 때 푸시 알림 보내기", + "CONVERSATION_CREATION": "새 대화가 생성될 때 푸시 알림 보내기", "CONVERSATION_MENTION": "대화에서 멘션될 때 푸시 알림 보내기", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "할당된 대화에서 새 메시지가 생성될 때 푸시 알림 보내기", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Send push notifications when a new message is created in a participating conversation", - "HAS_ENABLED_PUSH": "이 브라우저에 대한 푸시를 사용 가능으로 설정하셨습니다.", - "REQUEST_PUSH": "푸시 알림 사용", - "SLA_MISSED_FIRST_RESPONSE": "Send push notifications when a conversation misses first response SLA", - "SLA_MISSED_NEXT_RESPONSE": "Send push notifications when a conversation misses next response SLA", - "SLA_MISSED_RESOLUTION": "Send push notifications when a conversation misses resolution SLA" + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "배정된 대화에서 새 메시지가 생성될 때 푸시 알림 보내기", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "참여 중인 대화에서 새 메시지가 생성될 때 푸시 알림 보내기", + "HAS_ENABLED_PUSH": "이 브라우저에서 푸시 알림이 활성화되었습니다.", + "REQUEST_PUSH": "푸시 알림 활성화", + "SLA_MISSED_FIRST_RESPONSE": "대화가 첫 응답 SLA를 놓쳤을 때 푸시 알림 보내기", + "SLA_MISSED_NEXT_RESPONSE": "대화가 다음 응답 SLA를 놓쳤을 때 푸시 알림 보내기", + "SLA_MISSED_RESOLUTION": "대화가 해결 SLA를 놓쳤을 때 푸시 알림 보내기" }, "PROFILE_IMAGE": { "LABEL": "프로필 이미지" @@ -190,100 +190,101 @@ "PLACEHOLDER": "전체 이름을 입력하십시오." }, "DISPLAY_NAME": { - "LABEL": "표기 이름", + "LABEL": "표시 이름", "ERROR": "올바른 표시 이름을 입력하십시오.", "PLACEHOLDER": "대화에서 표시되는 표시 이름을 입력하십시오." }, "AVAILABILITY": { - "LABEL": "유용성", + "LABEL": "상태", "STATUS": { "ONLINE": "온라인", "BUSY": "바쁨", "OFFLINE": "오프라인" }, - "SET_AVAILABILITY_SUCCESS": "Availability has been set successfully", - "SET_AVAILABILITY_ERROR": "Couldn't set availability, please try again", - "IMPERSONATING_ERROR": "Cannot change availability while impersonating a user" + "SET_AVAILABILITY_SUCCESS": "상태가 성공적으로 설정되었습니다", + "SET_AVAILABILITY_ERROR": "상태를 설정할 수 없습니다. 다시 시도하십시오", + "IMPERSONATING_ERROR": "사용자를 대리하는 동안 상태를 변경할 수 없습니다" }, "EMAIL": { "LABEL": "이메일 주소", - "ERROR": "올바른 전자 메일 주소를 입력하십시오.", + "ERROR": "올바른 이메일 주소를 입력하십시오.", "PLACEHOLDER": "대화 중에 표시되는 이메일 주소를 입력하십시오." }, "CURRENT_PASSWORD": { - "LABEL": "Current password", - "ERROR": "Please enter the current password", - "PLACEHOLDER": "Please enter the current password" + "LABEL": "현재 비밀번호", + "ERROR": "현재 비밀번호를 입력하십시오", + "PLACEHOLDER": "현재 비밀번호를 입력하십시오" }, "PASSWORD": { - "LABEL": "New password", + "LABEL": "새 비밀번호", "ERROR": "6글자 이상의 비밀번호를 입력하십시오.", "PLACEHOLDER": "새 비밀번호를 입력하십시오." }, "PASSWORD_CONFIRMATION": { "LABEL": "새 비밀번호 확인", - "ERROR": "비밀번호가 비밀번호와 일치하는지 확인", - "PLACEHOLDER": "Please re-enter your new password" + "ERROR": "확인 비밀번호가 비밀번호와 일치해야 합니다", + "PLACEHOLDER": "새 비밀번호를 다시 입력하십시오." } } }, "SIDEBAR_ITEMS": { "CHANGE_AVAILABILITY_STATUS": "변경", - "CHANGE_ACCOUNTS": "Switch account", - "SWITCH_ACCOUNT": "Switch account", - "CONTACT_SUPPORT": "Contact support", + "CHANGE_ACCOUNTS": "계정 전환", + "SWITCH_ACCOUNT": "계정 전환", + "CONTACT_SUPPORT": "지원 문의", "SELECTOR_SUBTITLE": "다음 목록에서 계정 선택", - "PROFILE_SETTINGS": "Profile settings", - "YEAR_IN_REVIEW": "Year in Review", - "KEYBOARD_SHORTCUTS": "Keyboard shortcuts", - "APPEARANCE": "Change appearance", - "SUPER_ADMIN_CONSOLE": "SuperAdmin console", - "DOCS": "Read documentation", - "CHANGELOG": "Changelog", - "LOGOUT": "Log out" + "PROFILE_SETTINGS": "프로필 설정", + "YEAR_IN_REVIEW": "연간 리뷰", + "KEYBOARD_SHORTCUTS": "키보드 단축키", + "APPEARANCE": "모양 변경", + "SUPER_ADMIN_CONSOLE": "SuperAdmin 콘솔", + "DOCS": "문서 읽기", + "CHANGELOG": "변경 이력", + "LOGOUT": "로그아웃" }, "APP_GLOBAL": { "TRIAL_MESSAGE": "일 평가판이 남아 있습니다.", "TRAIL_BUTTON": "지금 구입하기", - "DELETED_USER": "Deleted User", - "EMAIL_VERIFICATION_PENDING": "It seems that you haven't verified your email address yet. Please check your inbox for the verification email.", - "RESEND_VERIFICATION_MAIL": "Resend verification email", - "EMAIL_VERIFICATION_SENT": "Verification email has been sent. Please check your inbox.", + "DELETED_USER": "삭제된 사용자", + "EMAIL_VERIFICATION_PENDING": "아직 이메일 주소를 인증하지 않은 것 같습니다. 받은 편지함에서 인증 이메일을 확인하십시오.", + "RESEND_VERIFICATION_MAIL": "인증 이메일 다시 보내기", + "EMAIL_VERIFICATION_SENT": "인증 이메일이 전송되었습니다. 받은 편지함을 확인하십시오.", "ACCOUNT_SUSPENDED": { - "TITLE": "Account Suspended", - "MESSAGE": "Your account is suspended. Please reach out to the support team for more information." + "TITLE": "계정 정지됨", + "MESSAGE": "계정이 정지되었습니다. 자세한 정보는 지원팀에 문의하십시오." }, "NO_ACCOUNTS": { - "TITLE": "No account found", - "MESSAGE_CLOUD": "You are not part of any accounts right now. If you think this is a mistake, please reach out to our support team.", - "MESSAGE_SELF_HOSTED": "You are not part of any accounts right now. Please reach out to your administrator.", - "LOGOUT": "Log out" + "TITLE": "계정을 찾을 수 없습니다", + "MESSAGE_CLOUD": "현재 어떤 계정에도 속해 있지 않습니다. 오류라고 생각되시면 지원팀에 문의하십시오.", + "MESSAGE_SELF_HOSTED": "현재 어떤 계정에도 속해 있지 않습니다. 관리자에게 문의하십시오.", + "LOGOUT": "로그아웃" } }, "COMPONENTS": { "CODE": { "BUTTON_TEXT": "복사", - "CODEPEN": "Open in CodePen", - "COPY_SUCCESSFUL": "코드가 클립보드에 복사됨" + "CODEPEN": "CodePen에서 열기", + "COPY_SUCCESSFUL": "클립보드에 복사되었습니다" }, "SHOW_MORE_BLOCK": { - "SHOW_MORE": "Show More", - "SHOW_LESS": "Show Less" + "SHOW_MORE": "더 보기", + "SHOW_LESS": "접기" }, "FILE_BUBBLE": { "DOWNLOAD": "다운로드", "UPLOADING": "업로드 중...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "이 스토리는 더 이상 사용할 수 없습니다.", + "INSTAGRAM_STORY_REPLY": "스토리에 답장:" }, "LOCATION_BUBBLE": { - "SEE_ON_MAP": "See on map" + "SEE_ON_MAP": "지도에서 보기" }, "FORM_BUBBLE": { "SUBMIT": "보내기" }, "MEDIA": { - "IMAGE_UNAVAILABLE": "This image is no longer available.", - "LOADING_FAILED": "Loading failed" + "IMAGE_UNAVAILABLE": "이 이미지는 더 이상 사용할 수 없습니다.", + "LOADING_FAILED": "로딩 실패" } }, "CONFIRM_EMAIL": "확인 중...", @@ -293,227 +294,229 @@ } }, "SIDEBAR": { - "NO_ITEMS": "No items", - "CURRENTLY_VIEWING_ACCOUNT": "Currently viewing:", - "SWITCH": "Switch", - "INBOX_VIEW": "Inbox View", + "NO_ITEMS": "항목 없음", + "CURRENTLY_VIEWING_ACCOUNT": "현재 보기:", + "SWITCH": "전환", + "INBOX_VIEW": "받은 메시지함 보기", "CONVERSATIONS": "대화", - "INBOX": "My Inbox", - "ALL_CONVERSATIONS": "All Conversations", + "INBOX": "내 받은 메시지함", + "ALL_CONVERSATIONS": "모든 대화", "MENTIONED_CONVERSATIONS": "멘션", - "PARTICIPATING_CONVERSATIONS": "Participating", - "UNATTENDED_CONVERSATIONS": "Unattended", + "PARTICIPATING_CONVERSATIONS": "참여 중", + "UNATTENDED_CONVERSATIONS": "미응답", "REPORTS": "보고서", "SETTINGS": "설정", "CONTACTS": "연락처", - "ACTIVE": "Active", - "COMPANIES": "Companies", - "ALL_COMPANIES": "All Companies", + "ACTIVE": "활성", + "COMPANIES": "회사", + "ALL_COMPANIES": "모든 회사", "CAPTAIN": "Captain", - "CAPTAIN_ASSISTANTS": "Assistants", - "CAPTAIN_DOCUMENTS": "Documents", - "CAPTAIN_RESPONSES": "FAQs", - "CAPTAIN_TOOLS": "Tools", - "CAPTAIN_SCENARIOS": "Scenarios", - "CAPTAIN_PLAYGROUND": "Playground", + "CAPTAIN_ASSISTANTS": "어시스턴트", + "CAPTAIN_DOCUMENTS": "문서", + "CAPTAIN_RESPONSES": "FAQ", + "CAPTAIN_TOOLS": "도구", + "CAPTAIN_SCENARIOS": "시나리오", + "CAPTAIN_PLAYGROUND": "플레이그라운드", "CAPTAIN_INBOXES": "받은 메시지함", "CAPTAIN_SETTINGS": "설정", "HOME": "홈", "AGENTS": "에이전트", "AGENT_BOTS": "봇", - "AUDIT_LOGS": "Audit Logs", + "AUDIT_LOGS": "감사 로그", "INBOXES": "받은 메시지함", "NOTIFICATIONS": "알림", "CANNED_RESPONSES": "미리 준비된 답변", "INTEGRATIONS": "통합", "PROFILE_SETTINGS": "프로필 설정", "ACCOUNT_SETTINGS": "계정 설정", - "APPLICATIONS": "Applications", + "APPLICATIONS": "애플리케이션", "LABELS": "라벨", - "CUSTOM_ATTRIBUTES": "사용자 지정 특성", - "AUTOMATION": "Automation", - "MACROS": "Macros", + "CUSTOM_ATTRIBUTES": "사용자 정의 속성", + "AUTOMATION": "자동화", + "MACROS": "매크로", "TEAMS": "팀", - "BILLING": "Billing", - "CUSTOM_VIEWS_FOLDER": "Folders", - "CUSTOM_VIEWS_SEGMENTS": "Segments", - "ALL_CONTACTS": "All Contacts", - "TAGGED_WITH": "Tagged with", - "NEW_LABEL": "New label", - "NEW_TEAM": "New team", - "NEW_INBOX": "New inbox", + "BILLING": "청구", + "CUSTOM_VIEWS_FOLDER": "폴더", + "CUSTOM_VIEWS_SEGMENTS": "세그먼트", + "ALL_CONTACTS": "모든 연락처", + "TAGGED_WITH": "태그됨", + "NEW_LABEL": "새 라벨", + "NEW_TEAM": "새 팀", + "NEW_INBOX": "새 받은 메시지함", "REPORTS_CONVERSATION": "대화", "CSAT": "CSAT", - "LIVE_CHAT": "Live Chat", + "LIVE_CHAT": "라이브 채팅", "SMS": "SMS", "WHATSAPP": "WhatsApp", - "CAMPAIGNS": "Campaigns", - "ONGOING": "Ongoing", - "ONE_OFF": "One off", + "CAMPAIGNS": "캠페인", + "ONGOING": "진행 중", + "ONE_OFF": "일회성", "REPORTS_SLA": "SLA", "REPORTS_BOT": "봇", "REPORTS_AGENT": "에이전트", "REPORTS_LABEL": "라벨", "REPORTS_INBOX": "받은 메시지함", - "REPORTS_TEAM": "Team", - "AGENT_ASSIGNMENT": "Agent Assignment", - "SET_AVAILABILITY_TITLE": "Set yourself as", - "SET_YOUR_AVAILABILITY": "영업시간 설정", + "REPORTS_TEAM": "팀", + "AGENT_ASSIGNMENT": "에이전트 배정", + "SET_AVAILABILITY_TITLE": "상태 설정", + "SET_YOUR_AVAILABILITY": "상태 설정", "SLA": "SLA", - "CUSTOM_ROLES": "Custom Roles", + "CUSTOM_ROLES": "사용자 정의 역할", "BETA": "Beta", - "REPORTS_OVERVIEW": "Overview", - "REAUTHORIZE": "Your inbox connection has expired, please reconnect\n to continue receiving and sending messages", + "REPORTS_OVERVIEW": "개요", + "REAUTHORIZE": "받은 메시지함 연결이 만료되었습니다. 메시지를 계속 수신하고\n 발송하려면 다시 연결하십시오", "HELP_CENTER": { - "TITLE": "Help Center", - "ARTICLES": "Articles", - "CATEGORIES": "Categories", - "LOCALES": "Locales", + "TITLE": "도움말 센터", + "ARTICLES": "게시물", + "CATEGORIES": "카테고리", + "LOCALES": "로케일", "SETTINGS": "설정" }, "CHANNELS": "채널", "SET_AUTO_OFFLINE": { - "TEXT": "Mark offline automatically", - "INFO_TEXT": "Let the system automatically mark you offline when you aren't using the app or dashboard.", - "INFO_SHORT": "Automatically mark offline when you aren't using the app." + "TEXT": "자동 오프라인 표시", + "INFO_TEXT": "앱이나 대시보드를 사용하지 않을 때 시스템이 자동으로 오프라인으로 표시합니다.", + "INFO_SHORT": "앱을 사용하지 않을 때 자동으로 오프라인으로 표시합니다." }, - "DOCS": "Read docs", - "SECURITY": "Security" + "DOCS": "문서 읽기", + "SECURITY": "보안", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "대화 워크플로" }, "BILLING_SETTINGS": { - "TITLE": "Billing", - "DESCRIPTION": "Manage your subscription here, upgrade your plan and get more for your team.", + "TITLE": "청구", + "DESCRIPTION": "여기에서 구독을 관리하고, 플랜을 업그레이드하여 팀에 더 많은 기능을 제공하십시오.", "CURRENT_PLAN": { - "TITLE": "Current Plan", - "PLAN_NOTE": "You are currently subscribed to the **{plan}** plan with **{quantity}** licenses", - "SEAT_COUNT": "Number of seats", - "RENEWS_ON": "Renews on" + "TITLE": "현재 플랜", + "PLAN_NOTE": "현재 **{quantity}**개의 라이선스로 **{plan}** 플랜에 구독 중입니다", + "SEAT_COUNT": "시트 수", + "RENEWS_ON": "갱신일" }, - "VIEW_PRICING": "View Pricing", + "VIEW_PRICING": "가격 보기", "MANAGE_SUBSCRIPTION": { - "TITLE": "Manage your subscription", - "DESCRIPTION": "View your previous invoices, edit your billing details, or cancel your subscription.", - "BUTTON_TXT": "Go to the billing portal" + "TITLE": "구독 관리", + "DESCRIPTION": "이전 청구서를 보거나, 청구 세부 정보를 수정하거나, 구독을 취소합니다.", + "BUTTON_TXT": "청구 포털로 이동" }, "CAPTAIN": { "TITLE": "Captain", - "DESCRIPTION": "Manage usage and credits for Captain AI.", - "BUTTON_TXT": "Buy more credits", - "DOCUMENTS": "Documents", - "RESPONSES": "Responses", - "UPGRADE": "Captain is not available on the free plan, upgrade now to get access to assistants, copilot and more.", - "REFRESH_CREDITS": "Refresh" + "DESCRIPTION": "Captain AI의 사용량과 크레딧을 관리합니다.", + "BUTTON_TXT": "크레딧 추가 구매", + "DOCUMENTS": "문서", + "RESPONSES": "크레딧", + "UPGRADE": "무료 플랜에서는 Captain을 사용할 수 없습니다. 지금 업그레이드하여 어시스턴트, Copilot 등에 접근하십시오.", + "REFRESH_CREDITS": "새로고침" }, "CHAT_WITH_US": { - "TITLE": "Need help?", - "DESCRIPTION": "Do you face any issues in billing? We are here to help.", + "TITLE": "도움이 필요하신가요?", + "DESCRIPTION": "청구에 문제가 있으신가요? 저희가 도와드리겠습니다.", "BUTTON_TXT": "채팅하기" }, - "NO_BILLING_USER": "Your billing account is being configured. Please refresh the page and try again.", + "NO_BILLING_USER": "청구 계정이 구성 중입니다. 페이지를 새로고침하고 다시 시도하십시오.", "TOPUP": { - "BUY_CREDITS": "Buy more credits", - "MODAL_TITLE": "Buy AI Credits", - "MODAL_DESCRIPTION": "Purchase additional credits for Captain AI.", - "CREDITS": "CREDITS", - "ONE_TIME": "one-time", - "POPULAR": "Most Popular", - "NOTE_TITLE": "Note:", - "NOTE_DESCRIPTION": "Credits are added immediately and expire in 6 months. An active subscription is required to use credits. Purchased credits are consumed after your monthly plan credits.", + "BUY_CREDITS": "크레딧 추가 구매", + "MODAL_TITLE": "AI 크레딧 구매", + "MODAL_DESCRIPTION": "Captain AI를 위한 추가 크레딧을 구매합니다.", + "CREDITS": "크레딧", + "ONE_TIME": "일회성", + "POPULAR": "가장 인기", + "NOTE_TITLE": "참고:", + "NOTE_DESCRIPTION": "크레딧은 즉시 추가되며 6개월 후 만료됩니다. 크레딧을 사용하려면 활성 구독이 필요합니다. 구매한 크레딧은 월간 플랜 크레딧 이후에 소비됩니다.", "CANCEL": "취소", - "PURCHASE": "Purchase Credits", - "LOADING": "Loading options...", - "FETCH_ERROR": "Failed to load credit options. Please try again.", - "PURCHASE_ERROR": "Failed to process purchase. Please try again.", - "PURCHASE_SUCCESS": "Successfully added {credits} credits to your account", + "PURCHASE": "크레딧 구매", + "LOADING": "옵션 로딩 중...", + "FETCH_ERROR": "크레딧 옵션을 로드하지 못했습니다. 다시 시도하십시오.", + "PURCHASE_ERROR": "구매 처리에 실패했습니다. 다시 시도하십시오.", + "PURCHASE_SUCCESS": "{credits} 크레딧이 계정에 성공적으로 추가되었습니다", "CONFIRM": { - "TITLE": "Confirm Purchase", - "DESCRIPTION": "You are about to purchase {credits} credits for {amount}.", - "INSTANT_DEDUCTION_NOTE": "Your saved card will be charged immediately upon confirmation.", - "GO_BACK": "Go Back", - "CONFIRM_PURCHASE": "Confirm Purchase" + "TITLE": "구매 확인", + "DESCRIPTION": "{amount}에 {credits} 크레딧을 구매하려고 합니다.", + "INSTANT_DEDUCTION_NOTE": "확인 즉시 저장된 카드에서 결제됩니다.", + "GO_BACK": "돌아가기", + "CONFIRM_PURCHASE": "구매 확인" } } }, "SECURITY_SETTINGS": { - "TITLE": "Security", - "DESCRIPTION": "Manage your account security settings.", - "LINK_TEXT": "Learn more about SAML SSO", - "SAML_DISABLED_MESSAGE": "SAML SSO is currently disabled. Please contact your administrator to enable this feature.", + "TITLE": "보안", + "DESCRIPTION": "계정 보안 설정을 관리합니다.", + "LINK_TEXT": "SAML SSO에 대해 자세히 알아보기", + "SAML_DISABLED_MESSAGE": "SAML SSO가 현재 비활성화되어 있습니다. 이 기능을 활성화하려면 관리자에게 문의하십시오.", "SAML": { "TITLE": "SAML SSO", - "NOTE": "Configure SAML single sign-on for your account. Users will authenticate through your identity provider instead of using email/password.", + "NOTE": "계정에 대한 SAML 싱글 사인온을 구성합니다. 사용자는 이메일/비밀번호 대신 ID 공급자를 통해 인증합니다.", "ACS_URL": { "LABEL": "ACS URL", - "TOOLTIP": "Assertion Consumer Service URL - Configure this URL in your IdP as the destination for SAML responses" + "TOOLTIP": "Assertion Consumer Service URL - SAML 응답 대상으로 IdP에서 이 URL을 구성하십시오" }, "SSO_URL": { "LABEL": "SSO URL", - "HELP": "The URL where SAML authentication requests will be sent", + "HELP": "SAML 인증 요청이 전송되는 URL", "PLACEHOLDER": "https://your-idp.com/saml/sso" }, "CERTIFICATE": { - "LABEL": "Signing certificate in PEM format", - "HELP": "The public certificate from your identity provider used to verify SAML responses", + "LABEL": "PEM 형식의 서명 인증서", + "HELP": "SAML 응답을 확인하는 데 사용되는 ID 공급자의 공개 인증서", "PLACEHOLDER": "-----BEGIN CERTIFICATE-----\nMIIC..." }, "FINGERPRINT": { - "LABEL": "Fingerprint", - "TOOLTIP": "SHA-1 fingerprint of the certificate - Use this to verify the certificate in your IdP configuration" + "LABEL": "지문", + "TOOLTIP": "인증서의 SHA-1 지문 - IdP 구성에서 인증서를 확인하는 데 사용하십시오" }, - "COPY_SUCCESS": "코드가 클립보드에 복사됨", + "COPY_SUCCESS": "클립보드에 복사되었습니다", "SP_ENTITY_ID": { - "LABEL": "SP Entity ID", - "HELP": "Unique identifier for this application as a service provider (auto-generated).", - "TOOLTIP": "Unique identifier for Chatwoot as the Service Provider - Configure this in your IdP settings" + "LABEL": "SP 엔터티 ID", + "HELP": "서비스 제공자로서 이 애플리케이션의 고유 식별자 (자동 생성).", + "TOOLTIP": "서비스 제공자로서의 Chatwoot 고유 식별자 - IdP 설정에서 이를 구성하십시오" }, "IDP_ENTITY_ID": { - "LABEL": "Identity Provider Entity ID", - "HELP": "Unique identifier for your identity provider (usually found in IdP configuration)", + "LABEL": "ID 공급자 엔터티 ID", + "HELP": "ID 공급자의 고유 식별자 (일반적으로 IdP 구성에서 찾을 수 있음)", "PLACEHOLDER": "https://your-idp.com/saml" }, - "UPDATE_BUTTON": "Update SAML Settings", + "UPDATE_BUTTON": "SAML 설정 업데이트", "API": { - "SUCCESS": "SAML settings updated successfully", - "ERROR": "Failed to update SAML settings", - "ERROR_LOADING": "Failed to load SAML settings", - "DISABLED": "SAML settings disabled successfully" + "SUCCESS": "SAML 설정이 성공적으로 업데이트되었습니다", + "ERROR": "SAML 설정 업데이트에 실패했습니다", + "ERROR_LOADING": "SAML 설정을 로드하지 못했습니다", + "DISABLED": "SAML 설정이 성공적으로 비활성화되었습니다" }, "VALIDATION": { - "REQUIRED_FIELDS": "SSO URL, Identity Provider Entity ID, and Certificate are required fields", - "SSO_URL_ERROR": "Please enter a valid SSO URL", - "CERTIFICATE_ERROR": "Certificate is required", - "IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID is required" + "REQUIRED_FIELDS": "SSO URL, ID 공급자 엔터티 ID 및 인증서는 필수 항목입니다", + "SSO_URL_ERROR": "올바른 SSO URL을 입력하십시오", + "CERTIFICATE_ERROR": "인증서가 필요합니다", + "IDP_ENTITY_ID_ERROR": "ID 공급자 엔터티 ID가 필요합니다" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade to an Enterprise plan to access SAML single sign-on and other advanced security features.", - "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + "AVAILABLE_ON": "SAML SSO 기능은 Enterprise 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "SAML 싱글 사인온 및 기타 고급 보안 기능에 접근하려면 Enterprise 플랜으로 업그레이드하십시오.", + "ASK_ADMIN": "업그레이드를 위해 관리자에게 문의하십시오." }, "PAYWALL": { - "TITLE": "Upgrade to enable SAML SSO", - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade your plan to get access to SAML single sign-on and other advanced features.", - "UPGRADE_NOW": "Upgrade now", - "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + "TITLE": "SAML SSO를 활성화하려면 업그레이드하십시오", + "AVAILABLE_ON": "SAML SSO 기능은 Enterprise 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "SAML 싱글 사인온 및 기타 고급 기능에 접근하려면 플랜을 업그레이드하십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 플랜을 변경하거나 취소할 수 있습니다" }, "ATTRIBUTE_MAPPING": { - "TITLE": "SAML Attribute Setup", - "DESCRIPTION": "The following attribute mappings must be configured in your identity provider" + "TITLE": "SAML 속성 설정", + "DESCRIPTION": "다음 속성 매핑은 ID 공급자에서 구성해야 합니다" }, "INFO_SECTION": { - "TITLE": "Service Provider Information", - "TOOLTIP": "Copy these values and configure them in your Identity Provider to establish the SAML connection" + "TITLE": "서비스 제공자 정보", + "TOOLTIP": "이 값을 복사하여 SAML 연결을 설정하기 위해 ID 공급자에서 구성하십시오" } } }, "CREATE_ACCOUNT": { - "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", + "NO_ACCOUNT_WARNING": "Chatwoot 계정을 찾을 수 없습니다. 계속하려면 새 계정을 만드십시오.", "NEW_ACCOUNT": "새 계정", "SELECTOR_SUBTITLE": "새 계정 만들기", "API": { - "SUCCESS_MESSAGE": "계정이 성공적으로 생성됨", - "EXIST_MESSAGE": "계정이 이미 있음", - "ERROR_MESSAGE": "Woot 서버에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "계정이 성공적으로 생성되었습니다", + "EXIST_MESSAGE": "계정이 이미 존재합니다", + "ERROR_MESSAGE": "서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, "FORM": { "NAME": { @@ -525,272 +528,395 @@ } }, "KEYBOARD_SHORTCUTS": { - "TOGGLE_MODAL": "View all shortcuts", + "TOGGLE_MODAL": "모든 단축키 보기", "TITLE": { - "OPEN_CONVERSATION": "Open conversation", - "RESOLVE_AND_NEXT": "Resolve and move to next", - "NAVIGATE_DROPDOWN": "Navigate dropdown items", - "RESOLVE_CONVERSATION": "Resolve Conversation", - "GO_TO_CONVERSATION_DASHBOARD": "Go to Conversation Dashboard", - "ADD_ATTACHMENT": "Add Attachment", - "GO_TO_CONTACTS_DASHBOARD": "Go to Contacts Dashboard", - "TOGGLE_SIDEBAR": "Toggle Sidebar", - "GO_TO_REPORTS_SIDEBAR": "Go to Reports sidebar", - "MOVE_TO_NEXT_TAB": "Move to next tab in conversation list", - "GO_TO_SETTINGS": "Go to Settings", - "SWITCH_TO_PRIVATE_NOTE": "Switch to Private Note", - "SWITCH_TO_REPLY": "Switch to Reply", - "TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown" + "OPEN_CONVERSATION": "대화 열기", + "RESOLVE_AND_NEXT": "해결하고 다음으로 이동", + "NAVIGATE_DROPDOWN": "드롭다운 항목 탐색", + "RESOLVE_CONVERSATION": "대화 해결", + "GO_TO_CONVERSATION_DASHBOARD": "대화 대시보드로 이동", + "ADD_ATTACHMENT": "첨부 파일 추가", + "GO_TO_CONTACTS_DASHBOARD": "연락처 대시보드로 이동", + "TOGGLE_SIDEBAR": "사이드바 전환", + "GO_TO_REPORTS_SIDEBAR": "보고서 사이드바로 이동", + "MOVE_TO_NEXT_TAB": "대화 목록의 다음 탭으로 이동", + "GO_TO_SETTINGS": "설정으로 이동", + "SWITCH_TO_PRIVATE_NOTE": "비공개 메모로 전환", + "SWITCH_TO_REPLY": "답장으로 전환", + "TOGGLE_SNOOZE_DROPDOWN": "일시 중단 드롭다운 전환" } }, "ASSIGNMENT_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Agent assignment", - "DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here" + "TITLE": "에이전트 배정", + "DESCRIPTION": "받은 메시지함과 에이전트의 필요에 따라 작업 부하를 효과적으로 관리하고 대화를 라우팅하는 정책을 정의합니다. 자세히 알아보기" }, "ASSIGNMENT_POLICY": { - "TITLE": "Assignment policy", - "DESCRIPTION": "Manage how conversations get assigned in inboxes.", + "TITLE": "배정 정책", + "DESCRIPTION": "받은 메시지함에서 대화가 배정되는 방식을 관리합니다.", "FEATURES": [ - "Assign by conversations evenly or by available capacity", - "Add fair distribution rules to avoid overloading any agent", - "Add inboxes to a policy - one policy per inbox" + "대화를 균등하게 또는 가용 용량에 따라 배정", + "에이전트 과부하를 방지하기 위한 공정 분배 규칙 추가", + "정책에 받은 메시지함 추가 - 받은 메시지함당 하나의 정책" ] }, "AGENT_CAPACITY_POLICY": { - "TITLE": "Agent capacity policy", - "DESCRIPTION": "Manage workload for agents.", + "TITLE": "에이전트 용량 정책", + "DESCRIPTION": "에이전트의 작업 부하를 관리합니다.", "FEATURES": [ - "Define maximum conversations per inbox", - "Create exceptions based on labels and time", - "Add agents to a policy - one policy per agent" + "받은 메시지함당 최대 대화 수 정의", + "라벨 및 시간에 기반한 예외 생성", + "정책에 에이전트 추가 - 에이전트당 하나의 정책" ] } }, "AGENT_ASSIGNMENT_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Assignment policy", - "CREATE_POLICY": "New policy" + "TITLE": "배정 정책", + "CREATE_POLICY": "새 정책" }, "CARD": { - "ORDER": "Order", - "PRIORITY": "Priority", - "ACTIVE": "Active", - "INACTIVE": "Inactive", - "POPOVER": "Added inboxes", + "ORDER": "순서", + "PRIORITY": "우선순위", + "ACTIVE": "활성", + "INACTIVE": "비활성", + "POPOVER": "추가된 받은 메시지함", "EDIT": "수정" }, - "NO_RECORDS_FOUND": "No assignment policies found" + "NO_RECORDS_FOUND": "배정 정책을 찾을 수 없습니다" }, "CREATE": { "HEADER": { - "TITLE": "Create assignment policy" + "TITLE": "배정 정책 생성" }, - "CREATE_BUTTON": "Create policy", + "CREATE_BUTTON": "정책 생성", "API": { - "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "SUCCESS_MESSAGE": "배정 정책이 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "배정 정책 생성에 실패했습니다", + "INBOX_LINKED": "받은 메시지함이 정책에 연결되었습니다" } }, "EDIT": { "HEADER": { - "TITLE": "Edit assignment policy" + "TITLE": "배정 정책 수정" }, - "EDIT_BUTTON": "Update policy", + "EDIT_BUTTON": "정책 업데이트", "CONFIRM_ADD_INBOX_DIALOG": { - "TITLE": "Add inbox", - "DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.", - "CONFIRM_BUTTON_LABEL": "Continue", + "TITLE": "받은 메시지함 추가", + "DESCRIPTION": "{inboxName} 받은 메시지함이 이미 다른 정책에 연결되어 있습니다. 이 정책에 연결하시겠습니까? 다른 정책에서 연결이 해제됩니다.", + "CONFIRM_BUTTON_LABEL": "계속", "CANCEL_BUTTON_LABEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Assignment policy updated successfully", - "ERROR_MESSAGE": "Failed to update assignment policy" + "SUCCESS_MESSAGE": "배정 정책이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "배정 정책 업데이트에 실패했습니다" }, "INBOX_API": { "ADD": { - "SUCCESS_MESSAGE": "Inbox added to policy successfully", - "ERROR_MESSAGE": "Failed to add inbox to policy" + "SUCCESS_MESSAGE": "받은 메시지함이 정책에 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "정책에 받은 메시지함 추가에 실패했습니다" }, "REMOVE": { - "SUCCESS_MESSAGE": "Inbox removed from policy successfully", - "ERROR_MESSAGE": "Failed to remove inbox from policy" + "SUCCESS_MESSAGE": "받은 메시지함이 정책에서 성공적으로 제거되었습니다", + "ERROR_MESSAGE": "정책에서 받은 메시지함 제거에 실패했습니다" } + }, + "INBOX_LINK_PROMPT": { + "TITLE": "받은 메시지함을 정책에 연결", + "DESCRIPTION": "이 받은 메시지함을 배정 정책에 연결하시겠습니까?", + "LINK_BUTTON": "받은 메시지함 연결", + "CANCEL_BUTTON": "건너뛰기" } }, "FORM": { "NAME": { - "LABEL": "Policy name:", - "PLACEHOLDER": "Enter policy name" + "LABEL": "정책 이름:", + "PLACEHOLDER": "정책 이름을 입력하십시오" }, "DESCRIPTION": { - "LABEL": "내용:", - "PLACEHOLDER": "Enter description" + "LABEL": "설명:", + "PLACEHOLDER": "설명을 입력하십시오" }, "STATUS": { "LABEL": "상태:", - "PLACEHOLDER": "Select status", - "ACTIVE": "Policy is active", - "INACTIVE": "Policy is inactive" + "PLACEHOLDER": "상태 선택", + "ACTIVE": "정책이 활성 상태입니다", + "INACTIVE": "정책이 비활성 상태입니다" }, "ASSIGNMENT_ORDER": { - "LABEL": "Assignment order", + "LABEL": "배정 순서", "ROUND_ROBIN": { - "LABEL": "Round robin", - "DESCRIPTION": "Assign conversations evenly among agents." + "LABEL": "라운드 로빈", + "DESCRIPTION": "에이전트 간에 대화를 균등하게 배정합니다." }, "BALANCED": { - "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "LABEL": "균형", + "DESCRIPTION": "가용 용량에 따라 대화를 배정합니다.", + "PREMIUM_MESSAGE": "균형 배정 및 에이전트 용량 관리에 접근하려면 업그레이드하십시오.", + "PREMIUM_BADGE": "프리미엄" } }, "ASSIGNMENT_PRIORITY": { - "LABEL": "Assignment priority", + "LABEL": "배정 우선순위", "EARLIEST_CREATED": { - "LABEL": "Earliest created", - "DESCRIPTION": "The conversation that was created first gets assigned first." + "LABEL": "가장 먼저 생성됨", + "DESCRIPTION": "가장 먼저 생성된 대화가 먼저 배정됩니다." }, "LONGEST_WAITING": { - "LABEL": "Longest waiting", - "DESCRIPTION": "The conversation waiting the longest gets assigned first." + "LABEL": "가장 오래 대기", + "DESCRIPTION": "가장 오래 대기한 대화가 먼저 배정됩니다." } }, "FAIR_DISTRIBUTION": { - "LABEL": "Fair distribution policy", - "DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.", - "INPUT_MAX": "Assign max", - "DURATION": "Conversations per agent in every" + "LABEL": "공정 분배 정책", + "DESCRIPTION": "에이전트 과부하를 방지하기 위해 시간 창 내에서 에이전트당 배정할 수 있는 최대 대화 수를 설정합니다. 이 필수 필드의 기본값은 시간당 100개 대화입니다.", + "INPUT_MAX": "최대 배정", + "DURATION": "에이전트당 대화 수" }, "INBOXES": { - "LABEL": "Added inboxes", - "DESCRIPTION": "Add inboxes for which this policy will be applicable.", - "ADD_BUTTON": "Add inbox", + "LABEL": "추가된 받은 메시지함", + "DESCRIPTION": "이 정책이 적용될 받은 메시지함을 추가합니다.", + "ADD_BUTTON": "받은 메시지함 추가", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select inboxes to add", - "ADD_BUTTON": "추가하기" + "SEARCH_PLACEHOLDER": "추가할 받은 메시지함을 검색하고 선택하십시오", + "ADD_BUTTON": "추가" }, - "EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started", + "EMPTY_STATE": "이 정책에 추가된 받은 메시지함이 없습니다. 시작하려면 받은 메시지함을 추가하십시오", "API": { - "SUCCESS_MESSAGE": "Inbox successfully added to policy", - "ERROR_MESSAGE": "Failed to add inbox to policy" + "SUCCESS_MESSAGE": "받은 메시지함이 정책에 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "정책에 받은 메시지함 추가에 실패했습니다" } } }, "DELETE_POLICY": { - "SUCCESS_MESSAGE": "Assignment policy deleted successfully", - "ERROR_MESSAGE": "Failed to delete assignment policy" + "SUCCESS_MESSAGE": "배정 정책이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "배정 정책 삭제에 실패했습니다" } }, "AGENT_CAPACITY_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Agent capacity", - "CREATE_POLICY": "New policy" + "TITLE": "에이전트 용량", + "CREATE_POLICY": "새 정책" }, "CARD": { - "POPOVER": "Added agents", + "POPOVER": "추가된 에이전트", "EDIT": "수정" }, - "NO_RECORDS_FOUND": "No agent capacity policies found" + "NO_RECORDS_FOUND": "에이전트 용량 정책을 찾을 수 없습니다" }, "CREATE": { "HEADER": { - "TITLE": "Create agent capacity policy" + "TITLE": "에이전트 용량 정책 생성" }, - "CREATE_BUTTON": "Create policy", + "CREATE_BUTTON": "정책 생성", "API": { - "SUCCESS_MESSAGE": "Agent capacity policy created successfully", - "ERROR_MESSAGE": "Failed to create agent capacity policy" + "SUCCESS_MESSAGE": "에이전트 용량 정책이 성공적으로 생성되었습니다", + "ERROR_MESSAGE": "에이전트 용량 정책 생성에 실패했습니다" } }, "EDIT": { "HEADER": { - "TITLE": "Edit agent capacity policy" + "TITLE": "에이전트 용량 정책 수정" }, - "EDIT_BUTTON": "Update policy", + "EDIT_BUTTON": "정책 업데이트", "CONFIRM_ADD_AGENT_DIALOG": { - "TITLE": "Add agent", - "DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.", - "CONFIRM_BUTTON_LABEL": "Continue", + "TITLE": "에이전트 추가", + "DESCRIPTION": "{agentName}이(가) 이미 다른 정책에 연결되어 있습니다. 이 정책에 연결하시겠습니까? 다른 정책에서 연결이 해제됩니다.", + "CONFIRM_BUTTON_LABEL": "계속", "CANCEL_BUTTON_LABEL": "취소" }, "API": { - "SUCCESS_MESSAGE": "Agent capacity policy updated successfully", - "ERROR_MESSAGE": "Failed to update agent capacity policy" + "SUCCESS_MESSAGE": "에이전트 용량 정책이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "에이전트 용량 정책 업데이트에 실패했습니다" }, "AGENT_API": { "ADD": { - "SUCCESS_MESSAGE": "Agent added to policy successfully", - "ERROR_MESSAGE": "Failed to add agent to policy" + "SUCCESS_MESSAGE": "에이전트가 정책에 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "정책에 에이전트 추가에 실패했습니다" }, "REMOVE": { - "SUCCESS_MESSAGE": "Agent removed from policy successfully", - "ERROR_MESSAGE": "Failed to remove agent from policy" + "SUCCESS_MESSAGE": "에이전트가 정책에서 성공적으로 제거되었습니다", + "ERROR_MESSAGE": "정책에서 에이전트 제거에 실패했습니다" + } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "받은 메시지함 제한이 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "받은 메시지함 제한 추가에 실패했습니다" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "받은 메시지함 제한이 성공적으로 업데이트되었습니다", + "ERROR_MESSAGE": "받은 메시지함 제한 업데이트에 실패했습니다" + }, + "DELETE": { + "SUCCESS_MESSAGE": "받은 메시지함 제한이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "받은 메시지함 제한 삭제에 실패했습니다" } } }, "FORM": { "NAME": { - "LABEL": "Policy name:", - "PLACEHOLDER": "Enter policy name" + "LABEL": "정책 이름:", + "PLACEHOLDER": "정책 이름을 입력하십시오" }, "DESCRIPTION": { - "LABEL": "내용:", - "PLACEHOLDER": "Enter description" + "LABEL": "설명:", + "PLACEHOLDER": "설명을 입력하십시오" }, "INBOX_CAPACITY_LIMIT": { - "LABEL": "Inbox capacity limits", - "ADD_BUTTON": "Add inbox", + "LABEL": "받은 메시지함 용량 제한", + "ADD_BUTTON": "받은 메시지함 추가", "FIELD": { - "SELECT_INBOX": "Select inbox", - "MAX_CONVERSATIONS": "Max conversations", - "SET_LIMIT": "Set limit" + "SELECT_INBOX": "받은 메시지함 선택", + "MAX_CONVERSATIONS": "최대 대화 수", + "SET_LIMIT": "제한 설정" }, - "EMPTY_STATE": "No inbox limit set" + "EMPTY_STATE": "설정된 받은 메시지함 제한이 없습니다" }, "EXCLUSION_RULES": { - "LABEL": "Exclusion rules", - "DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity", + "LABEL": "제외 규칙", + "DESCRIPTION": "다음 조건을 만족하는 대화는 에이전트 용량에 포함되지 않습니다", "TAGS": { - "LABEL": "Exclude conversations tagged with specific labels", - "ADD_TAG": "add tag", + "LABEL": "특정 라벨이 태그된 대화 제외", + "ADD_TAG": "태그 추가", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select tags to add" + "SEARCH_PLACEHOLDER": "추가할 태그를 검색하고 선택하십시오" }, - "EMPTY_STATE": "No tags added to this policy." + "EMPTY_STATE": "이 정책에 추가된 태그가 없습니다." }, "DURATION": { - "LABEL": "Exclude conversations older than a specified duration", - "PLACEHOLDER": "Set time" + "LABEL": "지정된 기간보다 오래된 대화 제외", + "PLACEHOLDER": "시간 설정" } }, "USERS": { - "LABEL": "Assigned agents", - "DESCRIPTION": "Add agents for which this policy will be applicable.", - "ADD_BUTTON": "Add agent", + "LABEL": "배정된 에이전트", + "DESCRIPTION": "이 정책이 적용될 에이전트를 추가합니다.", + "ADD_BUTTON": "에이전트 추가", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select agents to add", - "ADD_BUTTON": "추가하기" + "SEARCH_PLACEHOLDER": "추가할 에이전트를 검색하고 선택하십시오", + "ADD_BUTTON": "추가" }, - "EMPTY_STATE": "No agents added", + "EMPTY_STATE": "추가된 에이전트가 없습니다", "API": { - "SUCCESS_MESSAGE": "Agent successfully added to policy", - "ERROR_MESSAGE": "Failed to add agent to policy" + "SUCCESS_MESSAGE": "에이전트가 정책에 성공적으로 추가되었습니다", + "ERROR_MESSAGE": "정책에 에이전트 추가에 실패했습니다" } } }, "DELETE_POLICY": { - "SUCCESS_MESSAGE": "Agent capacity policy deleted successfully", - "ERROR_MESSAGE": "Failed to delete agent capacity policy" + "SUCCESS_MESSAGE": "에이전트 용량 정책이 성공적으로 삭제되었습니다", + "ERROR_MESSAGE": "에이전트 용량 정책 삭제에 실패했습니다" } }, "DELETE_POLICY": { - "TITLE": "Delete policy", - "DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.", + "TITLE": "정책 삭제", + "DESCRIPTION": "이 정책을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "CONFIRM_BUTTON_LABEL": "삭제", "CANCEL_BUTTON_LABEL": "취소" } + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain 설정", + "DESCRIPTION": "Captain의 AI 모델과 기능을 구성합니다. Captain은 크레딧 기반 청구를 따르며, 선택한 모델에 따라 Captain이 수행하는 모든 작업에 대해 크레딧이 청구됩니다.", + "LOADING": "Captain 구성 로딩 중...", + "LINK_TEXT": "Captain 크레딧에 대해 자세히 알아보기", + "NOT_ENABLED": "이 계정에서 Captain이 활성화되지 않았습니다. Captain 기능에 접근하려면 플랜을 업그레이드하십시오.", + "MODEL_CONFIG": { + "TITLE": "모델 구성", + "DESCRIPTION": "다양한 기능에 대한 AI 모델을 선택합니다.", + "SELECT_MODEL": "모델 선택", + "CREDITS_PER_MESSAGE": "{credits} 크레딧/메시지", + "COMING_SOON": "곧 출시 예정", + "EDITOR": { + "TITLE": "편집기 기능", + "DESCRIPTION": "메시지 편집기에서 스마트 작성, 문법 교정, 톤 조정 및 콘텐츠 개선을 지원합니다." + }, + "ASSISTANT": { + "TITLE": "어시스턴트", + "DESCRIPTION": "자동 응답, 대화 요약 및 고객 상호 작용을 위한 지능형 답변 제안을 처리합니다." + }, + "COPILOT": { + "TITLE": "Copilot", + "DESCRIPTION": "대화 중 실시간 맥락 제안, 지식 기반 추천 및 사전 인사이트를 제공합니다." + } + }, + "FEATURES": { + "TITLE": "기능", + "DESCRIPTION": "AI 기반 기능을 활성화하거나 비활성화합니다.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "오디오 전사", + "DESCRIPTION": "음성 메시지와 통화 녹음을 검색 가능한 텍스트로 자동 변환합니다." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "도움말 센터 검색 인덱싱", + "DESCRIPTION": "도움말 센터 게시물 내에서 맥락 인식 검색을 위해 AI를 사용합니다." + }, + "LABEL_SUGGESTION": { + "TITLE": "라벨 제안", + "DESCRIPTION": "콘텐츠 분석 및 맥락에 기반하여 대화에 대한 관련 라벨과 태그를 자동으로 제안합니다.", + "MODEL_TITLE": "라벨 제안 모델", + "MODEL_DESCRIPTION": "대화 분석 및 적절한 라벨 제안에 사용할 AI 모델을 선택합니다" + } + }, + "API": { + "SUCCESS": "Captain 설정이 성공적으로 업데이트되었습니다.", + "ERROR": "Captain 설정 업데이트에 실패했습니다. 다시 시도하십시오." + } + }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "대화 워크플로", + "DESCRIPTION": "대화 해결에 대한 규칙과 필수 항목을 구성합니다." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "해결 시 필수 속성", + "DESCRIPTION": "대화를 해결할 때, 에이전트가 아직 채우지 않은 이 속성들을 입력하도록 안내됩니다.", + "NO_ATTRIBUTES": "아직 추가된 속성이 없습니다", + "ADD": { + "TITLE": "속성 추가", + "SEARCH_PLACEHOLDER": "속성 검색" + }, + "SAVE": { + "SUCCESS": "필수 속성이 업데이트되었습니다", + "ERROR": "필수 속성을 업데이트할 수 없습니다. 다시 시도하십시오" + }, + "MODAL": { + "TITLE": "대화 해결", + "DESCRIPTION": "이 대화를 해결하기 전에 다음 사용자 정의 속성을 입력하십시오", + "ACTIONS": { + "RESOLVE": "대화 해결", + "CANCEL": "취소" + }, + "PLACEHOLDERS": { + "TEXT": "메모를 작성하십시오...", + "NUMBER": "숫자를 입력하십시오", + "LINK": "링크를 추가하십시오", + "DATE": "날짜를 선택하십시오", + "LIST": "옵션을 선택하십시오" + }, + "CHECKBOX": { + "YES": "예", + "NO": "아니오" + } + }, + "PAYWALL": { + "TITLE": "필수 속성을 사용하려면 업그레이드하십시오", + "AVAILABLE_ON": "필수 대화 속성 기능은 Business 및 Enterprise 플랜에서 사용할 수 있습니다.", + "UPGRADE_PROMPT": "대화 해결 전에 에이전트에게 필수 속성 입력을 요구하려면 플랜을 업그레이드하십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 플랜을 변경하거나 취소할 수 있습니다" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "필수 대화 속성 기능은 유료 플랜에서 사용할 수 있습니다.", + "UPGRADE_PROMPT": "대화 해결 전에 필수 속성을 적용하려면 유료 플랜으로 업그레이드하십시오.", + "ASK_ADMIN": "업그레이드를 위해 관리자에게 문의하십시오." + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/signup.json b/app/javascript/dashboard/i18n/locale/ko/signup.json index 89de09fdd..9dfdd982e 100644 --- a/app/javascript/dashboard/i18n/locale/ko/signup.json +++ b/app/javascript/dashboard/i18n/locale/ko/signup.json @@ -1,49 +1,50 @@ { "REGISTER": { - "TRY_WOOT": "Create an account", + "TRY_WOOT": "계정 만들기", "TITLE": "회원가입", - "TESTIMONIAL_HEADER": "All it takes is one step to move forward", - "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", - "TERMS_ACCEPT": "By creating an account, you agree to our T & C and Privacy policy", + "TESTIMONIAL_HEADER": "앞으로 나아가기 위한 단 한 걸음", + "TESTIMONIAL_CONTENT": "고객과 소통하고, 유지하고, 새로운 고객을 찾는 것은 한 걸음이면 됩니다.", + "TERMS_ACCEPT": "계정을 생성하면 이용약관개인정보 처리방침에 동의하는 것입니다", "OAUTH": { - "GOOGLE_SIGNUP": "Sign up with Google" + "GOOGLE_SIGNUP": "Google로 가입" }, "COMPANY_NAME": { - "LABEL": "Company name", - "PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises", - "ERROR": "Company name is too short" + "LABEL": "회사 이름", + "PLACEHOLDER": "회사 이름을 입력하십시오. 예: Wayne Enterprises", + "ERROR": "회사 이름이 너무 짧습니다." }, "FULL_NAME": { "LABEL": "전체 이름", - "PLACEHOLDER": "전체 이름을 입력합니다. 예: Taeyeon Kim", - "ERROR": "계정 이름이 너무 짧음" + "PLACEHOLDER": "전체 이름을 입력하십시오. 예: Taeyeon Kim", + "ERROR": "전체 이름이 너무 짧습니다." }, "EMAIL": { "LABEL": "회사 이메일", - "PLACEHOLDER": "Enter your work email address. E.g., bruce{'@'}wayne{'.'}enterprises", - "ERROR": "Please enter a valid work email address" + "PLACEHOLDER": "회사 이메일 주소를 입력하십시오. 예: bruce{'@'}wayne{'.'}enterprises", + "ERROR": "유효한 회사 이메일 주소를 입력하십시오." }, "PASSWORD": { "LABEL": "비밀번호", "PLACEHOLDER": "비밀번호", - "ERROR": "비밀번호가 너무 짧음", - "IS_INVALID_PASSWORD": "Password should contain atleast 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character", - "REQUIREMENTS_LENGTH": "At least 6 characters long", - "REQUIREMENTS_UPPERCASE": "At least one uppercase letter", - "REQUIREMENTS_LOWERCASE": "At least one lowercase letter", - "REQUIREMENTS_NUMBER": "At least one number", - "REQUIREMENTS_SPECIAL": "At least one special character" + "ERROR": "비밀번호가 너무 짧습니다.", + "IS_INVALID_PASSWORD": "비밀번호에는 최소 대문자 1개, 소문자 1개, 숫자 1개, 특수문자 1개가 포함되어야 합니다.", + "REQUIREMENTS_LENGTH": "최소 6자 이상", + "REQUIREMENTS_UPPERCASE": "최소 대문자 1개", + "REQUIREMENTS_LOWERCASE": "최소 소문자 1개", + "REQUIREMENTS_NUMBER": "최소 숫자 1개", + "REQUIREMENTS_SPECIAL": "최소 특수문자 1개" }, "CONFIRM_PASSWORD": { "LABEL": "비밀번호 확인", "PLACEHOLDER": "비밀번호 확인", - "ERROR": "비밀번호가 일치하지 않음." + "ERROR": "비밀번호가 일치하지 않습니다." }, "API": { - "SUCCESS_MESSAGE": "Registration Successful", - "ERROR_MESSAGE": "Woot Server에 연결할 수 없음. 나중에 다시 시도하십시오." + "SUCCESS_MESSAGE": "회원가입이 완료되었습니다", + "ERROR_MESSAGE": "Chatwoot 서버에 연결할 수 없습니다. 나중에 다시 시도하십시오." }, - "SUBMIT": "Create account", - "HAVE_AN_ACCOUNT": "이미 계정이 있습니까?" + "SUBMIT": "계정 만들기", + "HAVE_AN_ACCOUNT": "이미 계정이 있으십니까?", + "GET_STARTED": "Chatwoot 시작하기" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/sla.json b/app/javascript/dashboard/i18n/locale/ko/sla.json index 5889af6b5..b149c8ad3 100644 --- a/app/javascript/dashboard/i18n/locale/ko/sla.json +++ b/app/javascript/dashboard/i18n/locale/ko/sla.json @@ -1,62 +1,66 @@ { "SLA": { - "HEADER": "Service Level Agreements", - "ADD_ACTION": "Add SLA", - "ADD_ACTION_LONG": "Create a new SLA Policy", - "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", - "LEARN_MORE": "Learn more about SLA", - "LOADING": "Fetching SLAs", + "HEADER": "서비스 수준 계약", + "ADD_ACTION": "SLA 추가", + "ADD_ACTION_LONG": "새 SLA 정책 생성", + "DESCRIPTION": "서비스 수준 계약(SLA)은 팀과 고객 간의 명확한 기대치를 정의하는 계약입니다. 응답 및 해결 시간에 대한 기준을 설정하여 책임성을 위한 프레임워크를 만들고 일관되고 고품질의 경험을 보장합니다.", + "LEARN_MORE": "SLA에 대해 자세히 알아보기", + "LOADING": "SLA를 불러오는 중", "PAYWALL": { - "TITLE": "Upgrade to create SLAs", - "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade your plan to get access to advanced features like team management, automations, custom attributes, and more.", - "UPGRADE_NOW": "Upgrade now", - "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + "TITLE": "SLA를 생성하려면 업그레이드하십시오", + "AVAILABLE_ON": "SLA 기능은 Business 및 Enterprise 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "팀 관리, 자동화, 사용자 정의 속성 등 고급 기능에 접근하려면 플랜을 업그레이드하십시오.", + "UPGRADE_NOW": "지금 업그레이드", + "CANCEL_ANYTIME": "언제든지 플랜을 변경하거나 취소할 수 있습니다" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The SLA feature is only available in the paid plans.", - "UPGRADE_PROMPT": "Upgrade to a paid plan to access advanced features like audit logs, agent capacity, and more.", - "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + "AVAILABLE_ON": "SLA 기능은 유료 플랜에서만 사용할 수 있습니다.", + "UPGRADE_PROMPT": "감사 로그, 에이전트 용량 등 고급 기능에 접근하려면 유료 플랜으로 업그레이드하십시오.", + "ASK_ADMIN": "업그레이드에 대해 관리자에게 문의하십시오." }, "LIST": { - "404": "There are no SLAs available in this account.", + "404": "이 계정에 사용 가능한 SLA가 없습니다.", "EMPTY": { "TITLE_1": "Enterprise P0", - "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", + "DESC_1": "Enterprise 고객이 제기한 즉각적인 대응이 필요한 이슈입니다.", "TITLE_2": "Enterprise P1", - "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." + "DESC_2": "Enterprise 고객이 제기한 신속한 확인이 필요한 이슈입니다." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "영업시간 적용", + "BUSINESS_HOURS_OFF": "영업시간 미적용", "RESPONSE_TYPES": { - "FRT": "First response time threshold", - "NRT": "Next response time threshold", - "RT": "Resolution time threshold", + "FRT": "첫 번째 응답 시간 임계값", + "NRT": "다음 응답 시간 임계값", + "RT": "해결 시간 임계값", "SHORT_HAND": { "FRT": "FRT", "NRT": "NRT", "RT": "RT" } + }, + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "영업시간" } }, "FORM": { "NAME": { - "LABEL": "SLA Name", - "PLACEHOLDER": "SLA Name", - "REQUIRED_ERROR": "SLA name is required", + "LABEL": "SLA 이름", + "PLACEHOLDER": "SLA 이름", + "REQUIRED_ERROR": "SLA 이름은 필수입니다", "MINIMUM_LENGTH_ERROR": "최소 두글자 이상이여야 합니다", "VALID_ERROR": "영어나, 숫자, - 와 _ 만 사용 가능합니다" }, "DESCRIPTION": { "LABEL": "내용", - "PLACEHOLDER": "SLA for premium customers" + "PLACEHOLDER": "프리미엄 고객을 위한 SLA" }, "FIRST_RESPONSE_TIME": { - "LABEL": "First Response Time", + "LABEL": "첫 번째 응답 시간", "PLACEHOLDER": "5" }, "NEXT_RESPONSE_TIME": { - "LABEL": "Next Response Time", + "LABEL": "다음 응답 시간", "PLACEHOLDER": "5" }, "RESOLUTION_TIME": { @@ -65,10 +69,10 @@ }, "BUSINESS_HOURS": { "LABEL": "영업시간", - "PLACEHOLDER": "Only during business hours" + "PLACEHOLDER": "영업시간 중에만" }, "THRESHOLD_TIME": { - "INVALID_FORMAT_ERROR": "Threshold should be a number and greater than zero" + "INVALID_FORMAT_ERROR": "임계값은 0보다 큰 숫자여야 합니다" }, "EDIT": "수정", "CREATE": "만들기", @@ -76,33 +80,38 @@ "CANCEL": "취소" }, "ADD": { - "TITLE": "Add SLA", - "DESC": "Friendly promises for great service!", + "TITLE": "SLA 추가", + "DESC": "훌륭한 서비스를 위한 친절한 약속!", "API": { - "SUCCESS_MESSAGE": "SLA added successfully", + "SUCCESS_MESSAGE": "SLA가 성공적으로 추가되었습니다", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." } }, "DELETE": { - "TITLE": "Delete SLA", + "TITLE": "SLA 삭제", "API": { - "SUCCESS_MESSAGE": "SLA deleted successfully", + "SUCCESS_MESSAGE": "SLA가 성공적으로 삭제되었습니다", "ERROR_MESSAGE": "오류가 발생했습니다. 다시 시도하십시오." }, "CONFIRM": { "TITLE": "삭제 확인", - "MESSAGE": "Are you sure you want to delete ", + "MESSAGE": "정말 삭제하시겠습니까? ", "YES": "예, 삭제합니다. ", "NO": "아니요, 유지해주세요. " } }, "EVENTS": { - "TITLE": "SLA Misses", + "TITLE": "SLA 위반", "FRT": "첫 번째 응답 시간", - "NRT": "Next response time", - "RT": "Resolution time", - "SHOW_MORE": "{count} more", - "HIDE": "Hide {count} rows" + "NRT": "다음 응답 시간", + "RT": "해결 시간", + "SHOW_MORE": "{count}개 더 보기", + "HIDE": "{count}개 행 숨기기" + }, + "COUNT": "{n}개의 SLA | {n}개의 SLA", + "SEARCH_PLACEHOLDER": "SLA 검색...", + "SEARCH": { + "NO_RESULTS": "검색과 일치하는 SLA가 없습니다" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/snooze.json b/app/javascript/dashboard/i18n/locale/ko/snooze.json new file mode 100644 index 000000000..226447d27 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ko/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "시간", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "지금부터", + "NEXT_YEAR": "내년", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "내일", + "DAY_AFTER_TOMORROW": "모레", + "NEXT_WEEK": "다음 주", + "NEXT_MONTH": "다음 달", + "THIS_WEEKEND": "이번 주말", + "NEXT_WEEKEND": "다음 주말" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ko/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ko/teamsSettings.json index d5a6e96ee..bc6064ca9 100644 --- a/app/javascript/dashboard/i18n/locale/ko/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ko/teamsSettings.json @@ -2,11 +2,11 @@ "TEAMS_SETTINGS": { "NEW_TEAM": "팀 생성하기", "HEADER": "팀", - "LOADING": "Fetching teams", - "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", - "LEARN_MORE": "Learn more about teams", + "LOADING": "팀을 불러오는 중", + "DESCRIPTION": "팀을 사용하면 에이전트를 업무 담당에 따라 그룹으로 구성할 수 있습니다. 에이전트는 여러 팀에 소속될 수 있습니다. 협업 시 특정 팀에 대화를 배정할 수 있습니다.", + "LEARN_MORE": "팀에 대해 자세히 알아보기", "LIST": { - "404": "계정에 연결된 에이전트가 없습니다.", + "404": "계정에 생성된 팀이 없습니다.", "EDIT_TEAM": "팀 수정하기", "NONE": "없음" }, @@ -79,7 +79,7 @@ "SELECT_ALL": "모든 에이전트 선택", "SELECTED_COUNT": "{total} 에이전트 중 {selected} 선택됨.", "BUTTON_TEXT": "에이전트 추가", - "AGENT_VALIDATION_ERROR": "Select at least one agent." + "AGENT_VALIDATION_ERROR": "최소 한 명의 에이전트를 선택하십시오." }, "FINISH": { "TITLE": "준비가 완료되었습니다!", @@ -93,8 +93,8 @@ "ERROR_MESSAGE": "팀을 삭제할 수 없습니다. 다시 시도해주세요." }, "CONFIRM": { - "TITLE": "Are you sure you want to delete the team?", - "PLACE_HOLDER": "Please type {teamName} to confirm", + "TITLE": "정말 팀을 삭제하시겠습니까?", + "PLACE_HOLDER": "확인하려면 {teamName}을(를) 입력하십시오", "MESSAGE": "팀을 삭제하면 팀에 할당된 대화들에 대한 할당이 모두 해제됩니다.", "YES": "삭제 ", "NO": "취소" @@ -105,17 +105,20 @@ "UPDATE": "팀 내용 업데이트", "CREATE": "팀 생성", "NAME": { - "LABEL": "Team name", - "PLACEHOLDER": "Example: Sales, Customer Support" + "LABEL": "팀 이름", + "PLACEHOLDER": "예: 영업, 고객 지원" }, "DESCRIPTION": { - "LABEL": "Team Description", - "PLACEHOLDER": "Short description about this team." + "LABEL": "팀 설명", + "PLACEHOLDER": "이 팀에 대한 간단한 설명." }, "AUTO_ASSIGN": { - "LABEL": "Allow auto assign for this team." + "LABEL": "이 팀에 자동 배정을 허용합니다." }, "SUBMIT_CREATE": "팀 생성" - } + }, + "COUNT": "{n}개의 팀 | {n}개의 팀", + "SEARCH_PLACEHOLDER": "팀 검색...", + "NO_RESULTS": "검색과 일치하는 팀이 없습니다" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/whatsappTemplates.json b/app/javascript/dashboard/i18n/locale/ko/whatsappTemplates.json index d42a0f1aa..5442cb517 100644 --- a/app/javascript/dashboard/i18n/locale/ko/whatsappTemplates.json +++ b/app/javascript/dashboard/i18n/locale/ko/whatsappTemplates.json @@ -1,47 +1,47 @@ { "WHATSAPP_TEMPLATES": { "MODAL": { - "TITLE": "Whatsapp Templates", - "SUBTITLE": "Select the whatsapp template you want to send", - "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}" + "TITLE": "Whatsapp 템플릿", + "SUBTITLE": "전송할 Whatsapp 템플릿을 선택하십시오", + "TEMPLATE_SELECTED_SUBTITLE": "템플릿 구성: {templateName}" }, "PICKER": { - "SEARCH_PLACEHOLDER": "Search Templates", - "NO_TEMPLATES_FOUND": "No templates found for", - "HEADER": "Header", - "BODY": "Body", - "FOOTER": "Footer", - "BUTTONS": "Buttons", - "CATEGORY": "Category", - "MEDIA_CONTENT": "Media Content", - "MEDIA_CONTENT_FALLBACK": "media content", - "NO_TEMPLATES_AVAILABLE": "No WhatsApp templates available. Click refresh to sync templates from WhatsApp.", - "REFRESH_BUTTON": "Refresh templates", - "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.", - "REFRESH_ERROR": "Failed to refresh templates. Please try again.", + "SEARCH_PLACEHOLDER": "템플릿 검색", + "NO_TEMPLATES_FOUND": "다음에 대한 템플릿을 찾을 수 없습니다", + "HEADER": "헤더", + "BODY": "본문", + "FOOTER": "푸터", + "BUTTONS": "버튼", + "CATEGORY": "카테고리", + "MEDIA_CONTENT": "미디어 콘텐츠", + "MEDIA_CONTENT_FALLBACK": "미디어 콘텐츠", + "NO_TEMPLATES_AVAILABLE": "사용 가능한 WhatsApp 템플릿이 없습니다. 새로고침을 클릭하여 WhatsApp에서 템플릿을 동기화하십시오.", + "REFRESH_BUTTON": "템플릿 새로고침", + "REFRESH_SUCCESS": "템플릿 새로고침이 시작되었습니다. 업데이트에 몇 분 정도 소요될 수 있습니다.", + "REFRESH_ERROR": "템플릿 새로고침에 실패했습니다. 다시 시도해 주십시오.", "LABELS": { "LANGUAGE": "언어", - "TEMPLATE_BODY": "Template Body", - "CATEGORY": "Category" + "TEMPLATE_BODY": "템플릿 본문", + "CATEGORY": "카테고리" } }, "PARSER": { - "VARIABLES_LABEL": "Variables", + "VARIABLES_LABEL": "변수", "LANGUAGE": "언어", - "CATEGORY": "Category", - "VARIABLE_PLACEHOLDER": "Enter {variable} value", - "GO_BACK_LABEL": "Go Back", - "SEND_MESSAGE_LABEL": "Send Message", - "FORM_ERROR_MESSAGE": "Please fill all variables before sending", - "MEDIA_HEADER_LABEL": "{type} Header", - "OTP_CODE": "Enter 4-8 digit OTP", - "EXPIRY_MINUTES": "Enter expiry minutes", - "BUTTON_PARAMETERS": "Button Parameters", - "BUTTON_LABEL": "Button {index}", - "COUPON_CODE": "Enter coupon code (max 15 chars)", - "MEDIA_URL_LABEL": "Enter {type} URL", - "DOCUMENT_NAME_PLACEHOLDER": "Enter document filename (e.g., Invoice_2025.pdf)", - "BUTTON_PARAMETER": "Enter button parameter" + "CATEGORY": "카테고리", + "VARIABLE_PLACEHOLDER": "{variable} 값을 입력하십시오", + "GO_BACK_LABEL": "뒤로 가기", + "SEND_MESSAGE_LABEL": "메시지 전송", + "FORM_ERROR_MESSAGE": "전송하기 전에 모든 변수를 입력하십시오", + "MEDIA_HEADER_LABEL": "{type} 헤더", + "OTP_CODE": "4~8자리 OTP를 입력하십시오", + "EXPIRY_MINUTES": "만료 시간(분)을 입력하십시오", + "BUTTON_PARAMETERS": "버튼 매개변수", + "BUTTON_LABEL": "버튼 {index}", + "COUPON_CODE": "쿠폰 코드를 입력하십시오 (최대 15자)", + "MEDIA_URL_LABEL": "{type} URL을 입력하십시오", + "DOCUMENT_NAME_PLACEHOLDER": "문서 파일명을 입력하십시오 (예: Invoice_2025.pdf)", + "BUTTON_PARAMETER": "버튼 매개변수를 입력하십시오" } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/yearInReview.json b/app/javascript/dashboard/i18n/locale/ko/yearInReview.json index 7f47d005f..67db86a8a 100644 --- a/app/javascript/dashboard/i18n/locale/ko/yearInReview.json +++ b/app/javascript/dashboard/i18n/locale/ko/yearInReview.json @@ -1,64 +1,64 @@ { "YEAR_IN_REVIEW": { - "TITLE": "Year in Review", - "LOADING": "Loading your year in review...", - "ERROR": "Failed to load year in review", + "TITLE": "연간 리뷰", + "LOADING": "연간 리뷰를 불러오는 중...", + "ERROR": "연간 리뷰를 불러오지 못했습니다", "CLOSE": "닫기", "CONVERSATIONS": { - "TITLE": "You have handled", + "TITLE": "처리한 대화 수", "SUBTITLE": "대화", - "FALLBACK": "This year wasn't about the numbers. It was about showing up.", + "FALLBACK": "올해는 숫자가 아니라 꾸준히 함께했다는 것이 중요합니다.", "COMPARISON": { - "0_50": "You showed up, and that's how every good inbox begins.", - "50_100": "You kept the replies flowing and the conversations alive.", - "100_500": "You handled serious volume and kept everything on track.", - "500_2000": "You kept things moving while the volume kept climbing.", - "2000_10000": "You ran high traffic through your inbox without breaking a sweat.", - "10000_PLUS": "That's a full city of customers knocking on your door. You made it look effortless." + "0_50": "첫 걸음을 내딛었습니다. 모든 훌륭한 받은 메시지함은 이렇게 시작됩니다.", + "50_100": "답변을 이어가며 대화를 활발하게 유지했습니다.", + "100_500": "상당한 양을 처리하면서도 모든 것을 순조롭게 관리했습니다.", + "500_2000": "볼륨이 계속 늘어나는 가운데에서도 흐름을 유지했습니다.", + "2000_10000": "많은 트래픽을 거뜬히 소화했습니다.", + "10000_PLUS": "도시 하나에 해당하는 고객이 문을 두드렸는데, 당신은 쉬워 보이게 해냈습니다." } }, "BUSIEST_DAY": { - "TITLE": "Your busiest day was", - "MESSAGE": "{count} conversations that day.", + "TITLE": "가장 바빴던 날은", + "MESSAGE": "그날 {count}건의 대화가 있었습니다.", "COMPARISON": { - "0_5": "A warm-up lap that barely woke the inbox.", - "5_10": "Enough action to justify a second cup of coffee.", - "10_25": "Things got busy and the inbox stayed on its toes.", - "25_50": "A proper rush that barely broke a sweat.", - "50_100": "Controlled chaos, handled like a normal Tuesday.", - "100_500": "Absolute dumpster fire, somehow still shipping replies.", - "500_PLUS": "The inbox lost all chill and never slowed down." + "0_5": "받은 메시지함을 간신히 깨운 워밍업 수준이었습니다.", + "5_10": "커피 한 잔 더 마실 이유가 생길 만큼의 활동이었습니다.", + "10_25": "바빠지기 시작했고 받은 메시지함이 긴장하기 시작했습니다.", + "25_50": "제대로 된 러시였지만 거뜬히 해냈습니다.", + "50_100": "통제된 혼란, 평범한 화요일처럼 처리했습니다.", + "100_500": "완전한 폭풍이었지만 어떻게든 답변을 보냈습니다.", + "500_PLUS": "받은 메시지함이 완전히 쉴 틈 없이 쏟아져 들어왔습니다." } }, "PERSONALITY": { - "TITLE": "Your support personality is", + "TITLE": "당신의 지원 성격 유형은", "MESSAGES": { - "SWIFT_HELPER": "You replied in {time} on average. Faster than most notifications.", - "QUICK_RESPONDER": "You replied in {time} on average. The inbox barely waited.", - "STEADY_SUPPORT": "You replied in {time} on average. Calm pace, solid replies.", - "THOUGHTFUL_ADVISOR": "You replied in {time} on average. Took the time to get it right." + "SWIFT_HELPER": "평균 {time} 만에 답변했습니다. 대부분의 알림보다 빠릅니다.", + "QUICK_RESPONDER": "평균 {time} 만에 답변했습니다. 받은 메시지함이 거의 기다리지 않았습니다.", + "STEADY_SUPPORT": "평균 {time} 만에 답변했습니다. 차분한 속도, 견실한 답변.", + "THOUGHTFUL_ADVISOR": "평균 {time} 만에 답변했습니다. 정확한 답변을 위해 시간을 들였습니다." } }, "THANK_YOU": { - "TITLE": "Congratulations on surviving the inbox of {year}.", - "MESSAGE": "Thank you for your incredible dedication to supporting customers throughout this year. Your hard work has made a real difference, and we're grateful to have you on this journey. Here's to making {nextYear} even better together!" + "TITLE": "{year}년 받은 메시지함을 잘 견뎌내신 것을 축하합니다.", + "MESSAGE": "올 한 해 고객 지원에 보여주신 놀라운 헌신에 감사드립니다. 여러분의 노력이 진정한 변화를 만들어냈으며, 이 여정을 함께해 주셔서 감사합니다. {nextYear}년에도 함께 더 나은 한 해를 만들어 나갑시다!" }, "SHARE_MODAL": { - "TITLE": "Share Your Year in Review", - "PREPARING": "Preparing your image...", + "TITLE": "연간 리뷰 공유하기", + "PREPARING": "이미지를 준비하는 중...", "DOWNLOAD": "다운로드", - "SHARE_TITLE": "My {year} Year in Review", - "SHARE_TEXT": "Check out my {year} Year in Review with Chatwoot!", + "SHARE_TITLE": "나의 {year}년 연간 리뷰", + "SHARE_TEXT": "Chatwoot과 함께한 나의 {year}년 연간 리뷰를 확인해 보세요!", "BRANDING": "Made with Chatwoot" }, "BANNER": { - "TITLE": "Your {year} Year in Review is here", - "BUTTON": "See your impact" + "TITLE": "{year}년 연간 리뷰가 도착했습니다", + "BUTTON": "나의 성과 보기" }, "NAVIGATION": { - "PREVIOUS": "Previous", - "NEXT": "Next", - "SHARE": "대화 공유하기" + "PREVIOUS": "이전", + "NEXT": "다음", + "SHARE": "공유하기" } } } diff --git a/app/javascript/dashboard/i18n/locale/lt/agentBots.json b/app/javascript/dashboard/i18n/locale/lt/agentBots.json index 46731005a..7812085bc 100644 --- a/app/javascript/dashboard/i18n/locale/lt/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/lt/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Įkeliama redagavimo priemonė...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Sistema", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Gaunami Botai...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Veiksmai" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/lt/agentMgmt.json b/app/javascript/dashboard/i18n/locale/lt/agentMgmt.json index 4959e6395..bb9782bb8 100644 --- a/app/javascript/dashboard/i18n/locale/lt/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administratorius", "AGENT": "Agentas" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Su šia paskyra nėra susietų agentų", "TITLE": "Valdyti agentus jūsų komandoje", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nepavyko prisijungti prie Woot serverio, bandykite dar kartą vėliau" } }, + "SEARCH_PLACEHOLDER": "Ieškoti agentų...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nieko nerasta." }, diff --git a/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json index a0e656e51..25aec4546 100644 --- a/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Gaunami personalizuoti požymiai", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Ieškoti požymių...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Pokalbis", "CONTACT": "Kontaktas" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/lt/automation.json b/app/javascript/dashboard/i18n/locale/lt/automation.json index 2f6fbbfbc..3a1e1549a 100644 --- a/app/javascript/dashboard/i18n/locale/lt/automation.json +++ b/app/javascript/dashboard/i18n/locale/lt/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatizacija", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Pridėti automatizavimo taisyklę", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Gaunamos automatizavimo taisyklės", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Pridėti automatizavimo taisyklę", "SUBMIT": "Sukurti", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Vardas", - "DESCRIPTION": "Aprašymas", "ACTIVE": "Aktyvus", - "CREATED_ON": "Sukurta" + "CREATED_ON": "Sukurta", + "ACTIONS": "Veiksmai" }, "404": "Nerasta jokių automatizavimo taisyklių" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Pakeisti Prioritetą", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Atidaryti pokalbį" + "OPEN_CONVERSATION": "Atidaryti pokalbį", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/lt/bulkActions.json b/app/javascript/dashboard/i18n/locale/lt/bulkActions.json index a7b2bf175..9275066da 100644 --- a/app/javascript/dashboard/i18n/locale/lt/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/lt/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Pokalbio būsena atnaujinta sėkmingai.", "UPDATE_FAILED": "Nepavyko atnaujinti pokalbių. Bandykite dar kartą." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Priskirti etiketes", "NO_LABELS_FOUND": "Etikečių nerasta", diff --git a/app/javascript/dashboard/i18n/locale/lt/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/lt/cannedMgmt.json index f2eae76c2..e17c7f3ed 100644 --- a/app/javascript/dashboard/i18n/locale/lt/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Atsakymų ruošiniai", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Pridėti atsakymo ruošinį", "LOADING": "Atsakymų ruošinių gavimas...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Šią užklausą atitinkančių elementų nėra.", "LIST": { "404": "Šioje paskyroje nėra galimų atsakymų ruošinių.", diff --git a/app/javascript/dashboard/i18n/locale/lt/chatlist.json b/app/javascript/dashboard/i18n/locale/lt/chatlist.json index 5338e964d..858f590e1 100644 --- a/app/javascript/dashboard/i18n/locale/lt/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/lt/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Laukia atsakymo: nuo trumpiausio" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/lt/contact.json b/app/javascript/dashboard/i18n/locale/lt/contact.json index bc7433609..9538b4a71 100644 --- a/app/javascript/dashboard/i18n/locale/lt/contact.json +++ b/app/javascript/dashboard/i18n/locale/lt/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Nė vienas kontaktas neatitinka jūsų paieškos 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Priskirti etiketes", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Kam:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Tema :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/lt/conversation.json b/app/javascript/dashboard/i18n/locale/lt/conversation.json index 6d8fca82f..cfa363a79 100644 --- a/app/javascript/dashboard/i18n/locale/lt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/lt/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Ši žinutė nepalaikoma. Jūs galite peržiūrėti šią žinutę Facebook Messenger programėlėje.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ši žinutė nepalaikoma. Jūs galite peržiūrėti šią žinutę Instagram programėlėje.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Pranešimas ištrintas sėkmingai", "FAIL_DELETE_MESSSAGE": "Nepavyko ištrinti pranešimo! Bandykite dar kartą", "NO_RESPONSE": "Nėra atsakymo", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nepavyko priskirti etiketės. Prašau, pabandykite dar kartą." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Priskirta komanda #{team} pokalbiui id {conversationId}", "FAILED": "Nepavyko priskirti komandos. Prašau, pabandykite dar kartą." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Išjungti parašą", "MSG_INPUT": "Spauksite Shift + Enter, pradėjimui iš naujos eilutės. Pradėkite nuo „/“, kad pasirinktumėte Atsakymo Ruošinį.", "PRIVATE_MSG_INPUT": "Spauksite Shift + Enter, pradėjimui iš naujos eilutės. Tai bus matoma tik Agentams", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Pranešimo parašas nesukonfigūruotas, sukonfigūruokite jį profilio nustatymuose.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Spausti čia kad atnaujinti", "WHATSAPP_TEMPLATES": "Whatsapp Šablonai" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Norėdami pridėti, vilkite ir numeskite čia", "START_AUDIO_RECORDING": "Pradėti audio įrašymą", "STOP_AUDIO_RECORDING": "Baigti audio įrašymą", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "Kam", "ADD_BCC": "Pridėti bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Failas viršija {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB priedo apribojimą", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nepavyko išsiųsti šio pranešimo, bandykite dar kartą vėliau", "SENT_BY": "Siuntėjas:", "BOT": "Botas", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nepavyko išsiųsti pranešimo! Bandykite dar kartą", "TRY_AGAIN": "kartoti", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Atšaukti", "SEND_EMAIL_SUCCESS": "Pokalbio stenograma sėkmingai išsiųsta", "SEND_EMAIL_ERROR": "Įvyko klaida, prašau pabandykite dar kartą", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Siųsti stenogramą klientui", "SEND_TO_AGENT": "Siųsti stenogramą priskirtam agentui", diff --git a/app/javascript/dashboard/i18n/locale/lt/customRole.json b/app/javascript/dashboard/i18n/locale/lt/customRole.json index e64798916..86676a903 100644 --- a/app/javascript/dashboard/i18n/locale/lt/customRole.json +++ b/app/javascript/dashboard/i18n/locale/lt/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Šią užklausą atitinkančių elementų nėra.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/lt/datePicker.json b/app/javascript/dashboard/i18n/locale/lt/datePicker.json index 307e936c4..a3b5ba2d8 100644 --- a/app/javascript/dashboard/i18n/locale/lt/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/lt/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Taikyti", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Paskutinius 3 mėnesius", "LAST_6_MONTHS": "Paskutinius 6 mėnesius", "LAST_YEAR": "Paskutinius metus", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Pritaikytas datos intervalas" } } diff --git a/app/javascript/dashboard/i18n/locale/lt/general.json b/app/javascript/dashboard/i18n/locale/lt/general.json index e311da0ba..fa4f890e7 100644 --- a/app/javascript/dashboard/i18n/locale/lt/general.json +++ b/app/javascript/dashboard/i18n/locale/lt/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Uždaryti", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Taip", + "NO": "Ne" } } diff --git a/app/javascript/dashboard/i18n/locale/lt/generalSettings.json b/app/javascript/dashboard/i18n/locale/lt/generalSettings.json index 5ac0b32d3..e484d1705 100644 --- a/app/javascript/dashboard/i18n/locale/lt/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/lt/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Ieškoti ar pereiti į", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Pagrindinis", "REPORTS": "Ataskaitos", diff --git a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json index 25b96ba2f..e418a2cd9 100644 --- a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Trinant straipsnį įvyko klaida" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Pridėkite straipsnio antraštę ir turinį, tada tik jūs galėsite atnaujinti nustatymus" }, diff --git a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json index 366129760..489107fd9 100644 --- a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Gautų laiškų aplankai", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Naudokite tik sukonfigūruotą įmonės pavadinimą kaip siuntėjo vardą el. pašto antraštėje." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Sukonfigūruokite įmonės pavadinimą", + "BUTTON_TEXT": "Sukonfigūruokite įmonės pavadinimą", "PLACEHOLDER": "Įveskite įmonės pavadinimą", "SAVE_BUTTON_TEXT": "Išsaugoti" } @@ -589,8 +592,10 @@ "DISABLED": "Išjungta" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Leisti", - "DISABLED": "Išjungta" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Leisti" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Įjungti/išjungti agento vardo rodymą el. pašte, jei išjungta, bus rodomas įmonės pavadinimas", "ENABLE_CONTINUITY_VIA_EMAIL": "Leisti pokalbio tęstinumą el. paštu", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Jei kontaktinis el. pašto adresas yra pasiekiamas, pokalbiai bus tęsiami el. paštu.", - "LOCK_TO_SINGLE_CONVERSATION": "Laikykitės vieno pokalbio", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Leisti arba neleisti kelis pokalbius tam pačiam kontaktui šiame gautų laiškų aplanke", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Gautų Laiškų Aplanko Nustatymai", "INBOX_UPDATE_SUB_TEXT": "Atnaujinkite gautų laiškų aplanko nustatymus", "AUTO_ASSIGNMENT_SUB_TEXT": "Įjunkite arba išjunkite automatinį naujų pokalbių priskyrimą agentams, pridėtiems prie šio gautų laiškų aplanko.", @@ -758,6 +765,7 @@ "LABEL": "Palaikymo centras", "PLACEHOLDER": "Pasirinkti Pagalbos Centrą", "SELECT_PLACEHOLDER": "Pasirinkti Pagalbos Centrą", + "NONE": "Nėra", "REMOVE": "Pašalinti Pagalbos Centrą", "SUB_TEXT": "Pridėkite pagalbos centrą prie gautų laiškų aplanko" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Įveskite reikšmę, didesnę nei 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Apribokite maksimalų pokalbių skaičių iš šio gautų laiškų aplanko, kuriuos galima automatiškai priskirti agentui" }, + "ASSIGNMENT": { + "TITLE": "Pokalbio paskirstymas", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktyvus", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Atšaukti", + "CONFIRM_DELETE": "Ištrinti", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Pakartotinai autorizuoti", "SUBTITLE": "Jūsų ryšys su Facebook nutrūko. Jei norite toliau nauditis paslaugomis, iš naujo prisijunkite prie Facebook puslapio", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Grįžti" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Pranešimas lankytojams apie nepasiekiamumą", "TOGGLE_HELP": "Nustačius darbo laiką, bus rodomos darbo valandos chato valdiklyje, net jei visi agentai neprisijungę. Ne darbo valandomis lankytojai gali būti įspėti pranešimu ir išankstinio pokalbio forma.", "DAY": { + "DAY": "Diena", + "AVAILABILITY": "Prieinamumas", + "HOURS": "Hours", "ENABLE": "Įgalinti pasiekiamumą šiai dienai", "UNAVAILABLE": "Nepasiekiamas", - "HOURS": "valandos", "VALIDATION_ERROR": "Pradžios laikas turi būti prieš pabaigos laiką.", "CHOOSE": "Pasirinkti" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Per dieną" }, "WIDGET_COLOR_LABEL": "Valdiklio Spalva", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Padėtis", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Tipas", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipas:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Pabendraukite su mumis", - "LABEL": "Widget Bubble Paleidimo programos pavadinimas", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Pabendraukite su mumis" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Pagal nutylėjimą", - "CHAT": "Pokalbis internetu" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Paprastai atsako per kelias minutes", diff --git a/app/javascript/dashboard/i18n/locale/lt/integrationApps.json b/app/javascript/dashboard/i18n/locale/lt/integrationApps.json index f449fbc05..f3da604a5 100644 --- a/app/javascript/dashboard/i18n/locale/lt/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/lt/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Integracijų gavimas", "NO_HOOK_CONFIGURED": "Šioje paskyroje nesukonfigūruota jokių {integrationId} integracijų.", "HEADER": "Programos", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Leisti", "DISABLED": "Išjungta" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Integravimo webhook gavimas", "INBOX": "Gautų laiškų aplankas", + "ACTIONS": "Veiksmai", "DELETE": { "BUTTON_TEXT": "Ištrinti" } diff --git a/app/javascript/dashboard/i18n/locale/lt/integrations.json b/app/javascript/dashboard/i18n/locale/lt/integrations.json index 466e83cce..ab6defb7f 100644 --- a/app/javascript/dashboard/i18n/locale/lt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lt/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Prenumeruoti įvykiai", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Atšaukti", "DESC": "Webhook įvykiai suteikia jums realaus laiko informaciją apie tai, kas vyksta jūsų Chatwoot paskyroje. Norėdami sukonfigūruoti atgalinį skambinimą, įveskite tinkamą URL.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Ištrinti", "DELETE_CONFIRMATION": { "TITLE": "Ištrinkite integraciją", @@ -145,7 +160,29 @@ "EXPAND": "Išskleisti", "MAKE_FRIENDLY": "Pakeisti pranešimo toną į draugišką", "MAKE_FORMAL": "Naudokite oficialų toną", - "SIMPLIFY": "Supaprastinti" + "SIMPLIFY": "Supaprastinti", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesionalas", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Draugiškas" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Turinio juodraštis", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Informacinio skydelio programos

Informacinio skydelio programos leidžia organizacijoms įterpti programą į Chatwood valdymo skydelį, kad klientų aptarnavimo agentams būtų suteiktas kontekstas. Ši funkcija leidžia savarankiškai kurti programą ir įterpti informaciją apie vartotoją, jo užsakymus ar mokėjimų istoriją.

Kai įterpiate programą naudodami Chatwood valdymo skydelį, programa gaus pokalbio kontekstą ir įvykio nuorodas. Įdiekite pranešimo įvykio nuorodas savo puslapyje, kad gautumėte kontekstą.

Jei norite pridėti naują informacinio skydelio programą, spustelėkite mygtuką \"Pridėti naują skydelio programą\".

", "DESCRIPTION": "Informacinio skydelio programos leidžia organizacijoms įterpti programą į valdymo skydelį, kad klientų aptarnavimo agentams būtų suteiktas kontekstas. Ši funkcija leidžia savarankiškai kurti programą ir įterpti informaciją apie vartotoją, jo užsakymus ar mokėjimų istoriją.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Šioje paskyroje nėra sukonfigūruotų informacinio skydelio programų", "LOADING": "Gaunamos informacinio skydelio programos...", "TABLE_HEADER": { "NAME": "Vardas", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Veiksmai" }, "EDIT_TOOLTIP": "Redaguoti programą", "DELETE_TOOLTIP": "Ištrinti programą" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/lt/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/lt/labelsMgmt.json index 5c19249b4..c4d420f47 100644 --- a/app/javascript/dashboard/i18n/locale/lt/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Gaunamos etiketės", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Ieškoti etikečių...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Šią užklausą atitinkančių elementų nėra", "LIST": { "404": "Šioje paskyroje nėra galimų etikečių.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Vardas", "DESCRIPTION": "Aprašymas", - "COLOR": "Spalva" + "COLOR": "Spalva", + "ACTION": "Veiksmai" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/lt/macros.json b/app/javascript/dashboard/i18n/locale/lt/macros.json index 19532d650..6dba5c1ff 100644 --- a/app/javascript/dashboard/i18n/locale/lt/macros.json +++ b/app/javascript/dashboard/i18n/locale/lt/macros.json @@ -3,9 +3,12 @@ "HEADER": "Makrokomandos", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Pridėti naują makrokomandą", "HEADER_BTN_TXT_SAVE": "Išsaugoti makrokomandą", "LOADING": "Gaunama makrokomanda", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Kažkas nepavyko. Bandykite dar kartą", "ORDER_INFO": "Makrokomandos bus paleistos ta tvarka, kuria pridėsite veiksmus. Galite juos pertvarkyti vilkdami už rankenos šalia kiekvieno mazgo.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Vardas", "CREATED BY": "Sukurtas", "LAST_UPDATED_BY": "Paskutinį kartą atnaujino", - "VISIBILITY": "Matomumas" + "VISIBILITY": "Matomumas", + "ACTIONS": "Veiksmai" }, "404": "Nerasta makrokomandų" }, diff --git a/app/javascript/dashboard/i18n/locale/lt/mfa.json b/app/javascript/dashboard/i18n/locale/lt/mfa.json index 08cef978f..5f7033c94 100644 --- a/app/javascript/dashboard/i18n/locale/lt/mfa.json +++ b/app/javascript/dashboard/i18n/locale/lt/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/lt/report.json b/app/javascript/dashboard/i18n/locale/lt/report.json index cbd0536d9..68897e463 100644 --- a/app/javascript/dashboard/i18n/locale/lt/report.json +++ b/app/javascript/dashboard/i18n/locale/lt/report.json @@ -3,7 +3,7 @@ "HEADER": "Pokalbiai", "LOADING_CHART": "Įkeliami diagramos duomenys...", "NO_ENOUGH_DATA": "Negavome pakankamai duomenų, kad galėtume sugeneruoti ataskaitą. Bandykite dar kartą vėliau.", - "DOWNLOAD_AGENT_REPORTS": "Parsisiųsti agentų ataskaitas", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Nepavyko gauti duomenų, bandykite dar kartą vėliau.", "SUMMARY_FETCHING_FAILED": "Nepavyko gauti suvestinės, bandykite dar kartą vėliau.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agentų apžvalga", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Įkeliami diagramos duomenys...", "NO_ENOUGH_DATA": "Negavome pakankamai duomenų, kad galėtume sugeneruoti ataskaitą. Bandykite dar kartą vėliau.", "DOWNLOAD_AGENT_REPORTS": "Parsisiųsti agentų ataskaitas", "FILTER_DROPDOWN_LABEL": "Pasirinkti agentą", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Ieškoti agentų" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Pokalbiai", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Negavome pakankamai duomenų, kad galėtume sugeneruoti ataskaitą. Bandykite dar kartą vėliau.", "DOWNLOAD_LABEL_REPORTS": "Parsisiųsti etiketės ataskaitas", "FILTER_DROPDOWN_LABEL": "Pažymėti Etiketę", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Ieškoti etikečių" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Pokalbiai", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Pasirinkti gautų laiškų aplanką", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Pokalbiai", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Komandos apžvalga", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Įkeliami diagramos duomenys...", "NO_ENOUGH_DATA": "Negavome pakankamai duomenų, kad galėtume sugeneruoti ataskaitą. Bandykite dar kartą vėliau.", "DOWNLOAD_TEAM_REPORTS": "Parsisiųsti komandos ataskaitas", "FILTER_DROPDOWN_LABEL": "Pasirinkite komandą", + "FILTERS": { + "ADD_FILTER": "Pridėti Filtrą", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Ieškoti komandų" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Pokalbiai", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Ataskaitas", - "NO_RECORDS": "Nėra CSAT apklausos atsakymų.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Parsisiųsti CSAT ataskaitas", "DOWNLOAD_FAILED": "Nepavyko parsisiųsti CSAT ataskaitų", "FILTERS": { + "ADD_FILTER": "Pridėti Filtrą", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Ieškoti agentų", + "INBOXES": "Search inboxes", + "TEAMS": "Ieškoti komandų", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Pasirinkti Agentus" + "LABEL": "Agentas" + }, + "INBOXES": { + "LABEL": "Gautų laiškų aplankas" + }, + "TEAMS": { + "LABEL": "Komanda" + }, + "RATINGS": { + "LABEL": "Reitingas" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontaktas", - "AGENT_NAME": "Priskirtas agentas", + "AGENT_NAME": "Agentas", "RATING": "Reitingas", - "FEEDBACK_TEXT": "Facebook komentaras" - } + "FEEDBACK_TEXT": "Facebook komentaras", + "CONVERSATION": "Pokalbis", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Iš viso atsakymų", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Atsakymo įvertinimas", "TOOLTIP": "Bendras atsakymų skaičius / Bendras skaičius išsiųstų CSAT apklausų pranešimų * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Išsaugoti", + "CANCEL": "Atšaukti", + "SAVING": "Išsaugoma...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/lt/settings.json b/app/javascript/dashboard/i18n/locale/lt/settings.json index 69bb73e0f..64f0ea307 100644 --- a/app/javascript/dashboard/i18n/locale/lt/settings.json +++ b/app/javascript/dashboard/i18n/locale/lt/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Parsisiųsti", "UPLOADING": "Įkeliama...", - "INSTAGRAM_STORY_UNAVAILABLE": "Šis pasakojimas nebepasiekiamas." + "INSTAGRAM_STORY_UNAVAILABLE": "Šis pasakojimas nebepasiekiamas.", + "INSTAGRAM_STORY_REPLY": "Atsakė į tavo pasakojimą:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Pamatyti žemėlapyje" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Skaityti dokumentus", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funkcijos", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Atsiskaitymas", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Ieškoti požymių" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Išspręsti pokalbį", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Išspręsti pokalbį", + "CANCEL": "Atšaukti" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Taip", + "NO": "Ne" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Oi! Nepavyko rasti jokių Chatwoot paskyrų. Jei norite tęsti, susikurkite naują paskyrą.", "NEW_ACCOUNT": "Nauja Paskyra", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Atšaukti" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/lt/signup.json b/app/javascript/dashboard/i18n/locale/lt/signup.json index a1798ba20..8b8a93759 100644 --- a/app/javascript/dashboard/i18n/locale/lt/signup.json +++ b/app/javascript/dashboard/i18n/locale/lt/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Sukurti paskyrą", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registras", "TESTIMONIAL_HEADER": "Tereikia vieno žingsnio, kad judėtume į priekį", "TESTIMONIAL_CONTENT": "Liko vienas žingsnis, kad įtrauktumėte savo klientus, išlaikytumėte juos ir rastumėte naujų.", diff --git a/app/javascript/dashboard/i18n/locale/lt/sla.json b/app/javascript/dashboard/i18n/locale/lt/sla.json index 6a4b26990..2607e682f 100644 --- a/app/javascript/dashboard/i18n/locale/lt/sla.json +++ b/app/javascript/dashboard/i18n/locale/lt/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/lt/snooze.json b/app/javascript/dashboard/i18n/locale/lt/snooze.json new file mode 100644 index 000000000..1ad74ff46 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/lt/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "valandos", + "DAY": "diena", + "DAYS": "days", + "WEEK": "diena", + "WEEKS": "weeks", + "MONTH": "savaitė", + "MONTHS": "months", + "YEAR": "mėnuo", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "rytoj", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "kitą savaitę", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "diena", + "DAY": "diena" + } +} diff --git a/app/javascript/dashboard/i18n/locale/lt/teamsSettings.json b/app/javascript/dashboard/i18n/locale/lt/teamsSettings.json index f66ac725d..916d6d5e2 100644 --- a/app/javascript/dashboard/i18n/locale/lt/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/lt/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Ieškoti komandų...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Šioje paskyroje nėra sukurtų komandų.", "EDIT_TEAM": "Redaguoti komandą", diff --git a/app/javascript/dashboard/i18n/locale/lv/agentBots.json b/app/javascript/dashboard/i18n/locale/lv/agentBots.json index bc51df4f1..32199bec2 100644 --- a/app/javascript/dashboard/i18n/locale/lv/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/lv/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Notiek redaktora ielāde...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Uzzināt vairāk par aģentiem robotiem", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Sistēma", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Notiek robotu iegūšana...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Darbības" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/lv/agentMgmt.json b/app/javascript/dashboard/i18n/locale/lv/agentMgmt.json index e75c6d3f1..6266161be 100644 --- a/app/javascript/dashboard/i18n/locale/lv/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrators", "AGENT": "Aģents" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Šim kontam nav piesaistīts neviens aģents", "TITLE": "Pārvaldīt Jūsu komandas aģentus", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nevar izveidot savienojumu ar Woot serveri. Lūdzu, vēlāk pamēģiniet vēlreiz" } }, + "SEARCH_PLACEHOLDER": "Meklēt aģentus...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nav atrasts." }, diff --git a/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json index a61d705bb..92bfdfea6 100644 --- a/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Notiek pielāgotu īpašību iegūšana", "DESCRIPTION": "Pielāgots atribūts ļauj izsekot papildu informāciju par jūsu kontaktpersonām vai sarunām, piemēram, abonēšanas plānu vai viņu pirmā pirkuma datumu. Varat pievienot dažāda veida pielāgotus atribūtus, piemēram, tekstu, sarakstus vai skaitļus, lai tvertu konkrētu jums nepieciešamo informāciju.", "LEARN_MORE": "Uzzināt vairāk par pielāgotajiem atribūtiem", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Meklēt īpašības...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Saruna", "CONTACT": "Kontaktpersona" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Iespējot regex pārbaudi" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/lv/automation.json b/app/javascript/dashboard/i18n/locale/lv/automation.json index 4afc3d0b1..2e7ec674b 100644 --- a/app/javascript/dashboard/i18n/locale/lv/automation.json +++ b/app/javascript/dashboard/i18n/locale/lv/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatizācija", "DESCRIPTION": "Automatizācija var aizstāt un racionalizēt esošos procesus, kuriem nepieciešama manuāla piepūle, piemēram, etiķešu pievienošana un sarunu piešķiršana vispiemērotākajam aģentam. Tas ļauj komandai koncentrēties uz savām stiprajām pusēm, vienlaikus samazinot laiku, kas pavadīts ikdienas uzdevumiem.", "LEARN_MORE": "Uzzināt vairāk par automatizāciju", - "HEADER_BTN_TXT": "Pievienot Automatizācijas Noteikumu", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Notiek automatizācijas noteikumu iegūšana", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Pievienot Automatizācijas Noteikumu", "SUBMIT": "Izveidot", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nosaukums", - "DESCRIPTION": "Apraksts", "ACTIVE": "Aktīvs", - "CREATED_ON": "Izveidots" + "CREATED_ON": "Izveidots", + "ACTIONS": "Darbības" }, "404": "Automatizācijas noteikumi nav atrasti" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Pievienot Privātu Piezīmi", "CHANGE_PRIORITY": "Mainīt prioritāti", "ADD_SLA": "Pievienot SLA", - "OPEN_CONVERSATION": "Atvērt sarunu" + "OPEN_CONVERSATION": "Atvērt sarunu", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/lv/bulkActions.json b/app/javascript/dashboard/i18n/locale/lv/bulkActions.json index 6c8c3c42f..100cf7f47 100644 --- a/app/javascript/dashboard/i18n/locale/lv/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/lv/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Sarunas statuss ir veiksmīgi atjaunināts.", "UPDATE_FAILED": "Neizdevās atjaunināt sarunas. Lūdzu mēģiniet vēlreiz." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Piešķirt etiķetes", "NO_LABELS_FOUND": "Etiķetes nav atrastas", diff --git a/app/javascript/dashboard/i18n/locale/lv/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/lv/cannedMgmt.json index 1f41be12b..a9a19ddd4 100644 --- a/app/javascript/dashboard/i18n/locale/lv/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Sagatavotās Atbildes", "LEARN_MORE": "Uzzināt vairāk par sagatavotajām atbildēm", "DESCRIPTION": "Sagatavotās atbildes ir iepriekš uzrakstītas atbilžu veidnes, kas palīdz ātri atbildēt uz sarunu. Lai sarunas laikā ievietotu gatavu atbildi, aģenti var ierakstīt rakstzīmi “/”, kam seko īskods. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Pievienot sagatavoto atbildi", "LOADING": "Notiek sagatavoto atbilžu iegūšana...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Šim vaicājumam nav atbilstošu vienumu.", "LIST": { "404": "Šajā kontā nav pieejama neviena sagatavota atbilde.", diff --git a/app/javascript/dashboard/i18n/locale/lv/chatlist.json b/app/javascript/dashboard/i18n/locale/lv/chatlist.json index 224663998..2da60cf93 100644 --- a/app/javascript/dashboard/i18n/locale/lv/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/lv/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Gaida atbildi: Īsākā vispirms" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/lv/contact.json b/app/javascript/dashboard/i18n/locale/lv/contact.json index 61c7c65d1..fa9e6755e 100644 --- a/app/javascript/dashboard/i18n/locale/lv/contact.json +++ b/app/javascript/dashboard/i18n/locale/lv/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Pievienot Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Neviena kontaktpersona neatbilst jūsu meklēšanas vaicājumam 🔍", "LIST_EMPTY_STATE_TITLE": "Šajā skatā nav pieejama neviena kontaktpersona 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Ielādēt vairāk" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Piešķirt Etiķetes", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "Nav pieejamas iesūtnes, lai sāktu sarunu ar šo kontaktpersonu.", "CONTACT_SELECTOR": { "LABEL": "Kam:", - "TAG_INPUT_PLACEHOLDER": "Meklēt kontaktpersonu pēc vārda, e-pasta vai tālruņa numura", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Notiek kontaktpersonas izveide..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Tēma :", "SUBJECT_PLACEHOLDER": "Ievadiet šeit sava e-pasta tēmu", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Meklēt kontaktpersonu pēc e-pasta adreses", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Meklēt kontaktpersonu pēc e-pasta adreses", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/lv/conversation.json b/app/javascript/dashboard/i18n/locale/lv/conversation.json index d3528c104..c59a0e7a7 100644 --- a/app/javascript/dashboard/i18n/locale/lv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/lv/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "Šis ziņojums netiek atbalstīts. Šo ziņojumu varat apskatīt Facebook/Instagram lietotnē.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Šis ziņojums netiek atbalstīts. Šo ziņojumu Jūs varat apskatīt lietotnē Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Šis ziņojums netiek atbalstīts. Šo ziņojumu Jūs varat apskatīt lietotnē Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Ziņojums veiksmīgi izdzēsts", "FAIL_DELETE_MESSSAGE": "Nevarēja izdzēst ziņojumu! Mēģiniet vēlreiz", "NO_RESPONSE": "Nav atbildes", @@ -173,6 +174,10 @@ "SUCCESFUL": "Sarunai ar id {conversationId} piešķirta etiķete #{labelName}", "FAILED": "Nevarēja piešķirt etiķeti. Lūdzu, mēģiniet vēlreiz." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Sarunai ar id {conversationId} tika piešķirta komanda \"{team}\"", "FAILED": "Nevarēja piešķirt komandu. Lūdzu, mēģiniet vēlreiz." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Atspējot parakstu", "MSG_INPUT": "Shift + Enter, lai pārietu uz jaunu rindu. Sāciet ar '/' lai izvēlētos sagatavotu atbildi.", "PRIVATE_MSG_INPUT": "Shift + Enter, lai pārietu uz jaunu rindu. Ziņojums būs redzams tikai Aģentiem", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Ziņojuma paraksts nav nokonfigurēts. Lūdzu, nokonfigurējiet to profila iestatījumos.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Noklikšķiniet šeit, lai atjauninātu", "WHATSAPP_TEMPLATES": "WhatsApp Veidnes" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Velciet un nometiet šeit, lai pievienotu", "START_AUDIO_RECORDING": "Sākt audio ierakstīšanu", "STOP_AUDIO_RECORDING": "Apturēt audio ierakstīšanu", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "KAM", "ADD_BCC": "Pievienot bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Fails pārsniedz {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB pielikuma ierobežojumu", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nevar nosūtīt šo ziņojumu. Lūdzu, vēlāk mēģiniet vēlreiz", "SENT_BY": "Sūtīja:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nevarēja nosūtīt ziņojumu! Mēģiniet vēlreiz", "TRY_AGAIN": "mēģināt vēlreiz", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Atcelt", "SEND_EMAIL_SUCCESS": "Sarunas transkripts tika veiksmīgi nosūtīts", "SEND_EMAIL_ERROR": "Radās kļūda. Lūdzu, mēģiniet vēlreiz", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Nosūtīt transkriptu klientam", "SEND_TO_AGENT": "Nosūtīt transkriptu piešķirtajam aģentam", diff --git a/app/javascript/dashboard/i18n/locale/lv/customRole.json b/app/javascript/dashboard/i18n/locale/lv/customRole.json index 6a03477ec..61e1fb05c 100644 --- a/app/javascript/dashboard/i18n/locale/lv/customRole.json +++ b/app/javascript/dashboard/i18n/locale/lv/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Pielāgotas lomas", "LEARN_MORE": "Uzzināt vairāk par pielāgotām lomām", "DESCRIPTION": "Pielāgotas lomas ir lomas, kuras izveido konta īpašnieks vai administrators. Šīs lomas var piešķirt aģentiem, lai definētu viņu piekļuvi un atļaujas kontā. Pielāgotas lomas var izveidot ar īpašām atļaujām un piekļuves līmeņiem, lai tie atbilstu organizācijas prasībām.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Pievienot pielāgotu lomu", "LOADING": "Notiek pielāgotu lomu iegūšana...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Šim vaicājumam nav atbilstošu vienumu.", "PAYWALL": { "TITLE": "Pārejiet uz maksas versiju, lai izveidotu pielāgotas lomas", diff --git a/app/javascript/dashboard/i18n/locale/lv/datePicker.json b/app/javascript/dashboard/i18n/locale/lv/datePicker.json index b1e7894ab..31a6bdb14 100644 --- a/app/javascript/dashboard/i18n/locale/lv/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/lv/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Pielietot", "CLEAR_BUTTON": "Notīrīt", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Pēdējie 3 mēneši", "LAST_6_MONTHS": "Pēdējie 6 mēneši", "LAST_YEAR": "Pagājušais gads", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Pielāgots datumu diapazons" } } diff --git a/app/javascript/dashboard/i18n/locale/lv/general.json b/app/javascript/dashboard/i18n/locale/lv/general.json index 758ec1d08..2cf4e0261 100644 --- a/app/javascript/dashboard/i18n/locale/lv/general.json +++ b/app/javascript/dashboard/i18n/locale/lv/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Aizvērt", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Izmest", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Jā", + "NO": "Nē" } } diff --git a/app/javascript/dashboard/i18n/locale/lv/generalSettings.json b/app/javascript/dashboard/i18n/locale/lv/generalSettings.json index 7cf56963e..e327cd11c 100644 --- a/app/javascript/dashboard/i18n/locale/lv/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/lv/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Meklēt vai pāriet uz", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Vispārēji", "REPORTS": "Pārskati", diff --git a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json index 7a55537c2..e13b42c50 100644 --- a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Dzēšot rakstu, radās kļūda" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Lūdzu, pievienojiet raksta virsrakstu un saturu. Tikai tad Jūs varat atjaunināt iestatījumus" }, diff --git a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json index 1080f8983..dcd0115fd 100644 --- a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Iesūtnes", "DESCRIPTION": "Kanāls ir saziņas veids, ko klients izvēlas saziņai ar jums. Iesūtne ir vieta, kur pārvaldāt mijiedarbības ar noteiktu kanālu. Tas var ietvert saziņu no dažādiem avotiem, piemēram, e-pasta, tiešsaistes tērzēšanas un sociālajiem medijiem.", "LEARN_MORE": "Uzzināt vairāk par iesūtnēm", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Jūsu iesūtne ir atvienota. Jūs nesaņemsiet jaunus ziņojumus, kamēr nebūsiet tos atkārtoti autorizējis.", "CLICK_TO_RECONNECT": "Noklikšķiniet šeit, lai atkārtoti izveidotu savienojumu.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Izmantot tikai konfigurēto uzņēmuma nosaukumu kā sūtītāja vārdu e-pasta galvenē." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Konfigurēt uzņēmuma nosaukumu", + "BUTTON_TEXT": "Konfigurēt uzņēmuma nosaukumu", "PLACEHOLDER": "Ievadiet uzņēmuma nosaukumu", "SAVE_BUTTON_TEXT": "Saglabāt" } @@ -589,8 +592,10 @@ "DISABLED": "Atspējots" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Iespējots", - "DISABLED": "Atspējots" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Iespējot" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Iespējot/Atspējot aģenta vārda rādīšanu e-pastā. Ja tas ir atspējots, tiks rādīts uzņēmuma nosaukums", "ENABLE_CONTINUITY_VIA_EMAIL": "Iespējot sarunas nepārtrauktību, izmantojot e-pastu", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Sarunas turpināsies pa e-pastu, ja saziņas e-pasta adrese ir pieejama.", - "LOCK_TO_SINGLE_CONVERSATION": "Pieturēties pie vienas sarunas", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Iespējot vai atspējot vairākas sarunas vienai un tai pašai kontaktpersonai šajā iesūtnē", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Iesūtnes Iestatījumi", "INBOX_UPDATE_SUB_TEXT": "Atjaunināt Jūsu iesūtnes iestatījumus", "AUTO_ASSIGNMENT_SUB_TEXT": "Iespējot vai atspējot jaunu sarunu automātisku piešķiršanu šai iesūtnei pievienotajiem aģentiem.", @@ -758,6 +765,7 @@ "LABEL": "Palīdzības centrs", "PLACEHOLDER": "Izvēlēties Palīdzības Centru", "SELECT_PLACEHOLDER": "Izvēlēties Palīdzības Centru", + "NONE": "Nav", "REMOVE": "Noņemt Palīdzības Centru", "SUB_TEXT": "Pievienot Palīdzības Centru ar iesūtni" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Lūdzu, ievadiet vērtību, kas ir lielāka par 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Ierobežo maksimālo sarunu skaitu no šīs iesūtnes, ko var automātiski piešķirt aģentam" }, + "ASSIGNMENT": { + "TITLE": "Sarunas Piešķiršana", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktīvs", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Atcelt", + "CONFIRM_DELETE": "Dzēst", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Atkārtoti autorizēties", "SUBTITLE": "Jūsu Facebook savienojuma derīguma termiņš ir beidzies. Lūdzu, atkārtoti pievienojiet savu Facebook lapu, lai turpinātu pakalpojumus", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Atgriezties" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Ziņojums nav pieejams priekš apmeklētājiem", "TOGGLE_HELP": "Iespējojot uzņēmuma pieejamību, tiešraides tērzēšanas logrīkā tiks rādīts darba laiks, pat ja visi aģenti būs bezsaistē. Ārpus darba laika apmeklētājus var brīdināt ar ziņojumu un pirms tērzēšanas veidlapu.", "DAY": { + "DAY": "Diena", + "AVAILABILITY": "Pieejamība", + "HOURS": "Hours", "ENABLE": "Iespējot pieejamību šai dienai", "UNAVAILABLE": "Nav pieejams", - "HOURS": "darba laiks", "VALIDATION_ERROR": "Sākuma laikam jābūt pirms slēgšanas laika.", "CHOOSE": "Izvēlēties" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Dienas laikā" }, "WIDGET_COLOR_LABEL": "Logrīka Krāsa", - "WIDGET_BUBBLE_POSITION_LABEL": "Logrīka Burbuļa Pozīcija", - "WIDGET_BUBBLE_TYPE_LABEL": "Logrīka Burbuļa Tips", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tips:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Tērzējiet ar mums", - "LABEL": "Logrīka Burbuļa Palaidēja Nosaukums", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Tērzējiet ar mums" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Noklusējums", - "CHAT": "Tērzēšana" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Parasti atbild dažu minūšu laikā", diff --git a/app/javascript/dashboard/i18n/locale/lv/integrationApps.json b/app/javascript/dashboard/i18n/locale/lv/integrationApps.json index 6bf03aa8b..ef3f3729c 100644 --- a/app/javascript/dashboard/i18n/locale/lv/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/lv/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Notiek Integrāciju Iegūšana", "NO_HOOK_CONFIGURED": "Šajā kontā nav nokonfigurēta neviena {integrationId} integrācija.", "HEADER": "Lietojumprogrammas", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Meklēt...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Iespējots", "DISABLED": "Atspējots" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Notiek integrāciju hook iegūšana", "INBOX": "Iesūtne", + "ACTIONS": "Darbības", "DELETE": { "BUTTON_TEXT": "Dzēst" } diff --git a/app/javascript/dashboard/i18n/locale/lv/integrations.json b/app/javascript/dashboard/i18n/locale/lv/integrations.json index f45afff1c..bd97b0d4f 100644 --- a/app/javascript/dashboard/i18n/locale/lv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lv/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrējas ar vairākiem rīkiem un pakalpojumiem, lai uzlabotu jūsu komandas efektivitāti. Izpētiet tālāk esošo sarakstu, lai konfigurētu savas iecienītākās lietotnes.", "LEARN_MORE": "Uzzināt vairāk par integrācijām", "LOADING": "Integrāciju iegūšana", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain jūsu kontā nav iespējots.", "CLICK_HERE_TO_CONFIGURE": "Noklikšķiniet šeit, lai konfigurētu", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Abonētie Notikumi", "LEARN_MORE": "Uzzināt vairāk par webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Atcelt", "DESC": "Webhook notikumi sniedz Jums reāllaika informāciju par to, kas notiek jūsu Chatwoot kontā. Lūdzu, ievadiet derīgu URL, lai nokonfigurētu atzvanīšanu.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Dzēst", "DELETE_CONFIRMATION": { "TITLE": "Dzēst integrāciju", @@ -145,7 +160,29 @@ "EXPAND": "Izvērst", "MAKE_FRIENDLY": "Mainīt ziņojuma toni uz draudzīgu", "MAKE_FORMAL": "Izmantot formālu toni", - "SIMPLIFY": "Vienkāršot" + "SIMPLIFY": "Vienkāršot", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesionāls", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Draudzīgs" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Melnraksta saturs", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Informācijas Paneļa Lietotnes

Informācijas paneļa lietotnes ļauj organizācijām iegult lietojumprogrammu Chatwoot informācijas panelī, lai nodrošinātu kontekstu klientu atbalsta aģentiem. Šī funkcija ļauj Jums izveidot lietojumprogrammu neatkarīgi un iegult to informācijas panelī, lai sniegtu informāciju par lietotāju, viņu pasūtījumiem vai viņu iepriekšējo maksājumu vēsturi.

Kad iegulsiet lietojumprogrammu, izmantojot Chatwoot informācijas paneli, Jūsu lietojumprogramma iegūs sarunas un kontaktpersonas kontekstu kā loga notikumu. Ieviesiet savā lapā ziņojuma notikuma uztvērēju, lai saņemtu kontekstu.

Lai pievienotu jaunu informācijas paneļa lietotni, noklikšķiniet uz pogas 'Pievienot jaunu informācijas paneļa lietotni'.

", "DESCRIPTION": "Informācijas paneļa lietotnes ļauj organizācijām iegult lietojumprogrammu informācijas panelī, lai nodrošinātu kontekstu klientu atbalsta aģentiem. Šī funkcija ļauj Jums neatkarīgi izveidot lietojumprogrammu un iegult to, lai sniegtu informāciju par lietotāju, viņu pasūtījumiem vai iepriekšējo maksājumu vēsturi.", "LEARN_MORE": "Uzzināt vairāk par Informācijas paneļa Lietotnēm", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Šajā kontā vēl nav nokonfigurēta neviena informācijas paneļa lietotne", "LOADING": "Notiek informācijas paneļa lietotņu iegūšana...", "TABLE_HEADER": { "NAME": "Nosaukums", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Darbības" }, "EDIT_TOOLTIP": "Rediģēt lietotni", "DELETE_TOOLTIP": "Dzēst lietotni" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Lineārs", "ADD_OR_LINK_BUTTON": "Izveidot/Saistīt lineāru problēmu", "LOADING": "Notiek lineāru problēmu iegūšana...", "LOADING_ERROR": "Lineāru problēmu iegūšanas laikā radās kļūda. Lūdzu, mēģiniet vēlreiz", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Jūs varat jebkurā laikā mainīt vai atcelt savu versiju" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Modernizējiet savu abonementu, lai iegūtu piekļuvi viruālajiem asistentiem un copilot.", "ASK_ADMIN": "Lai pārietu uz maksas versiju, lūdzu sazinieties ar savu administratoru." }, diff --git a/app/javascript/dashboard/i18n/locale/lv/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/lv/labelsMgmt.json index c520ba043..28cd4c76c 100644 --- a/app/javascript/dashboard/i18n/locale/lv/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Notiek etiķešu iegūšana", "DESCRIPTION": "Etiķetes palīdz kategorizēt sarunas, interesentus un noteikt to prioritātes. Etiķeti, sarunai vai kontaktpersonai, varat piešķirt Izmantojot sānu paneli.", "LEARN_MORE": "Uzzināt vairāk par etiķetēm", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Meklēt etiķetes...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Šim vaicājumam nav atbilstošu vienumu", "LIST": { "404": "Šajā kontā nav izveidotas etiķetes.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nosaukums", "DESCRIPTION": "Apraksts", - "COLOR": "Krāsa" + "COLOR": "Krāsa", + "ACTION": "Darbības" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/lv/macros.json b/app/javascript/dashboard/i18n/locale/lv/macros.json index 29ecd5d48..677acc6dd 100644 --- a/app/javascript/dashboard/i18n/locale/lv/macros.json +++ b/app/javascript/dashboard/i18n/locale/lv/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "Makro ir saglabātu darbību kopa, kas palīdz klientu apkalpošanas aģentiem viegli veikt uzdevumus. Aģenti var definēt darbību kopu, piemēram, sarunas marķēšanu ar etiķeti, sarunas transkripta nosūtīšanu uz e-pastu, pielāgota atribūta atjaunināšanu utt., un viņi var veikt šīs darbības ar vienu klikšķi.", "LEARN_MORE": "Uzzināt vairāk par makro", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Pievienot jaunu makro", "HEADER_BTN_TXT_SAVE": "Saglabāt makro", "LOADING": "Notiek makro iegūšana", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Radās kļūda. Lūdzu, mēģiniet vēlreiz", "ORDER_INFO": "Makro darbosies tādā secībā, kādā Jūs pievienosit savas darbības. Jūs varat tos pārkārtot, velkot tos aiz roktura kas atrodas blakus katram mezglam.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nosaukums", "CREATED BY": "Izveidoja", "LAST_UPDATED_BY": "Pēdējo reizi atjaunināja", - "VISIBILITY": "Redzamība" + "VISIBILITY": "Redzamība", + "ACTIONS": "Darbības" }, "404": "Nav atrasts neviens makro" }, diff --git a/app/javascript/dashboard/i18n/locale/lv/mfa.json b/app/javascript/dashboard/i18n/locale/lv/mfa.json index 0bf3f0163..837a5b5b5 100644 --- a/app/javascript/dashboard/i18n/locale/lv/mfa.json +++ b/app/javascript/dashboard/i18n/locale/lv/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/lv/report.json b/app/javascript/dashboard/i18n/locale/lv/report.json index 305da8164..c9e32d7d2 100644 --- a/app/javascript/dashboard/i18n/locale/lv/report.json +++ b/app/javascript/dashboard/i18n/locale/lv/report.json @@ -3,7 +3,7 @@ "HEADER": "Sarunas", "LOADING_CHART": "Notiek diagrammas datu ielāde...", "NO_ENOUGH_DATA": "Mēs neesam saņēmuši pietiekami daudz datu punktu, lai izveidotu pārskatu. Lūdzu, vēlāk mēģiniet vēlreiz.", - "DOWNLOAD_AGENT_REPORTS": "Lejupielādēt aģentu pārskatus", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Neizdevās izgūt datus. Lūdzu, vēlāk mēģiniet vēlreiz.", "SUMMARY_FETCHING_FAILED": "Neizdevās izgūt kopsavilkumu. Lūdzu, vēlāk mēģiniet vēlreiz.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Aģentu Pārskats", - "DESCRIPTION": "Ērti izsekojiet aģenta darbībai, izmantojot galvenos rādītājus, piemēram, sarunas, atbildes laikus, atrisināšanas laikus un atrisinātos gadījumus. Noklikšķiniet uz aģenta vārda, lai uzzinātu vairāk.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Notiek diagrammas datu ielāde...", "NO_ENOUGH_DATA": "Mēs neesam saņēmuši pietiekami daudz datu punktu, lai izveidotu pārskatu. Lūdzu, vēlāk mēģiniet vēlreiz.", "DOWNLOAD_AGENT_REPORTS": "Lejupielādēt aģentu pārskatus", "FILTER_DROPDOWN_LABEL": "Izvēlieties Aģentu", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Meklēt aģentus" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Sarunas", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Mēs neesam saņēmuši pietiekami daudz datu punktu, lai izveidotu pārskatu. Lūdzu, vēlāk mēģiniet vēlreiz.", "DOWNLOAD_LABEL_REPORTS": "Lejupielādēt etiķešu pārskatus", "FILTER_DROPDOWN_LABEL": "Izvēlieties Etiķeti", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Meklēt etiķetes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Sarunas", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Izvēlieties Iesūtni", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Sarunas", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Komandas Pārskats", - "DESCRIPTION": "Iegūstiet pārskatu par savas komandas veiktspēju, izmantojot būtiskus rādītājus, tostarp sarunas, atbildes laikus, atrisināšanas laikus un atrisinātos gadījumus. Lai iegūtu sīkāku informāciju, noklikšķiniet uz komandas nosaukuma.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Notiek diagrammas datu ielāde...", "NO_ENOUGH_DATA": "Mēs neesam saņēmuši pietiekami daudz datu punktu, lai izveidotu pārskatu. Lūdzu, vēlāk mēģiniet vēlreiz.", "DOWNLOAD_TEAM_REPORTS": "Lejupielādēt komandas pārskatus", "FILTER_DROPDOWN_LABEL": "Izvēlieties Komandu", + "FILTERS": { + "ADD_FILTER": "Pievienot filtru", + "CLEAR_ALL": "Notīrīt visu", + "NO_FILTER": "Nav pieejami filtri", + "INPUT_PLACEHOLDER": { + "TEAMS": "Meklēt komandas" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Sarunas", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Pārskati", - "NO_RECORDS": "CSAT aptaujas atbildes nav pieejamas.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Lejupielādēt CSAT Pārskatus", "DOWNLOAD_FAILED": "Neizdevās lejupielādēt CSAT Pārskatus", "FILTERS": { + "ADD_FILTER": "Pievienot filtru", + "CLEAR_ALL": "Notīrīt visu", + "NO_FILTER": "Nav pieejami filtri", + "INPUT_PLACEHOLDER": { + "AGENTS": "Meklēt aģentus", + "INBOXES": "Search inboxes", + "TEAMS": "Meklēt komandas", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Izvēlieties Aģentus" + "LABEL": "Aģents" + }, + "INBOXES": { + "LABEL": "Iesūtne" + }, + "TEAMS": { + "LABEL": "Komanda" + }, + "RATINGS": { + "LABEL": "Vērtējums" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontaktpersona", - "AGENT_NAME": "Piešķirtais aģents", + "AGENT_NAME": "Aģents", "RATING": "Vērtējums", - "FEEDBACK_TEXT": "Atsauksmes komentārs" - } + "FEEDBACK_TEXT": "Atsauksmes komentārs", + "CONVERSATION": "Saruna", + "CUSTOMER": "Customer", + "RESPONSE": "Atbilde", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Kopējais atbilžu skaits", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Atbildes ātrums", "TOOLTIP": "Kopējais atbilžu skaits / Kopējais nosūtīto CSAT aptaujas ziņojumu skaits * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Saglabāt", + "CANCEL": "Atcelt", + "SAVING": "Notiek saglabāšana...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Pāriet uz maksas versiju tagad", + "CANCEL_ANYTIME": "Jūs varat jebkurā laikā mainīt vai atcelt savu versiju" } } }, diff --git a/app/javascript/dashboard/i18n/locale/lv/settings.json b/app/javascript/dashboard/i18n/locale/lv/settings.json index 2e6e77d86..77c7101c8 100644 --- a/app/javascript/dashboard/i18n/locale/lv/settings.json +++ b/app/javascript/dashboard/i18n/locale/lv/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Lejupielādēt", "UPLOADING": "Notiek augšupielāde...", - "INSTAGRAM_STORY_UNAVAILABLE": "Šis stāsts vairs nav pieejams." + "INSTAGRAM_STORY_UNAVAILABLE": "Šis stāsts vairs nav pieejams.", + "INSTAGRAM_STORY_REPLY": "Atbildēja uz Jūsu stāstu:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Skatīt kartē" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automātiski atzīmēt bezsaistē, kad neizmantojat lietotni." }, "DOCS": "Lasīt dokumentus", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Asistents", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Īpašības", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Norēķini", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Meklēt īpašības" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Atrisināt sarunu", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Atrisināt sarunu", + "CANCEL": "Atcelt" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Izvēlieties opciju" + }, + "CHECKBOX": { + "YES": "Jā", + "NO": "Nē" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Pāriet uz maksas versiju tagad", + "CANCEL_ANYTIME": "Jūs varat jebkurā laikā mainīt vai atcelt savu versiju" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Lai pārietu uz maksas versiju, lūdzu sazinieties ar savu administratoru." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ak, vai! Mēs nevarējām atrast nevienu chatwoot kontu. Lūdzu, izveidojiet jaunu kontu, lai turpinātu.", "NEW_ACCOUNT": "Jauns Konts", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Atcelt" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/lv/signup.json b/app/javascript/dashboard/i18n/locale/lv/signup.json index 768f6e298..65cd1d0c6 100644 --- a/app/javascript/dashboard/i18n/locale/lv/signup.json +++ b/app/javascript/dashboard/i18n/locale/lv/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Izveidot kontu", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Reģistrēt", "TESTIMONIAL_HEADER": "Viss, kas nepieciešams, ir viens solis, lai virzītos uz priekšu", "TESTIMONIAL_CONTENT": "Jūs esat viena soļa attālumā no klientu piesaistīšanas, noturēšanas un jaunu klientu atrašanas.", diff --git a/app/javascript/dashboard/i18n/locale/lv/sla.json b/app/javascript/dashboard/i18n/locale/lv/sla.json index 3aa0c43aa..502a317f0 100644 --- a/app/javascript/dashboard/i18n/locale/lv/sla.json +++ b/app/javascript/dashboard/i18n/locale/lv/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Izveidot jaunu SLA politiku", "DESCRIPTION": "Pakalpojuma līmeņa līgumi (SLA) ir līgumi, kas nosaka skaidras cerības starp jūsu komandu un klientiem. Tie nosaka atbildes un atrisināšanas laika standartus, veidojot pārskatatbildības sistēmu un nodrošinot konsekventu, augstas kvalitātes pieredzi.", "LEARN_MORE": "Uzzināt vairāk par SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Notiek SLA iegūšana", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Pārejiet uz maksas versiju, lai izveidotu SLA", "AVAILABLE_ON": "SLA funkcija ir pieejama tikai Business un Enterprise versijās.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "Šim kontam nav piesaistīti SLA līgumi.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Uzņēmuma klientu izvirzītās problēmas, kurām nepieciešama tūlītēja uzmanība.", "TITLE_2": "Enterprise P1", "DESC_2": "Uzņēmuma klientu izvirzītās problēmas, uz kurām ātri jāreaģē." }, - "BUSINESS_HOURS_ON": "Darba laiks ieslēgts", - "BUSINESS_HOURS_OFF": "Darba laiks izslēgts", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Pirmās atbildes laika slieksnis", "NRT": "Nākamās atbildes laika slieksnis", diff --git a/app/javascript/dashboard/i18n/locale/lv/snooze.json b/app/javascript/dashboard/i18n/locale/lv/snooze.json new file mode 100644 index 000000000..35bcb5168 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/lv/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "darba laiks", + "DAY": "diena", + "DAYS": "days", + "WEEK": "nedēļa", + "WEEKS": "weeks", + "MONTH": "mēnesis", + "MONTHS": "months", + "YEAR": "mēnesis", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "rītdiena", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "nākamā nedēļa", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "no", + "AFTER": "after", + "WEEK": "nedēļa", + "DAY": "diena" + } +} diff --git a/app/javascript/dashboard/i18n/locale/lv/teamsSettings.json b/app/javascript/dashboard/i18n/locale/lv/teamsSettings.json index fcaec6192..0176b02c5 100644 --- a/app/javascript/dashboard/i18n/locale/lv/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/lv/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Notiek komandu iegūšana", "DESCRIPTION": "Komandas ļauj organizēt aģentus grupās, pamatojoties uz viņu pienākumiem. Aģents var piederēt vairākām komandām. Kad strādājat sadarbojoties, varat piešķirt sarunas noteiktām komandām.", "LEARN_MORE": "Uzzināt vairāk par komandām", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Meklēt komandas...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Šajā kontā nav izveidota neviena komanda.", "EDIT_TEAM": "Rediģēt komandu", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nevarēja saglabāt komandas informāciju. Lūdzu, mēģiniet vēlreiz." }, "AGENTS": { - "AGENT": "AĢENTS", - "EMAIL": "Epasts", + "AGENT": "Aģents", + "EMAIL": "E-pasts", "BUTTON_TEXT": "Pievienot aģentus", "ADD_AGENTS": "Notiek aģentu pievienošana Jūsu komandai...", "SELECT": "izvēlēties", diff --git a/app/javascript/dashboard/i18n/locale/ml/agentBots.json b/app/javascript/dashboard/i18n/locale/ml/agentBots.json index 0bbe3b7f0..a2187f99b 100644 --- a/app/javascript/dashboard/i18n/locale/ml/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ml/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "വെബ്‌ഹുക്ക് യുആർഎൽ" + "URL": "വെബ്‌ഹുക്ക് യുആർഎൽ", + "ACTIONS": "പ്രവർത്തനങ്ങൾ" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ml/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ml/agentMgmt.json index 6174a0aee..a8cb5b653 100644 --- a/app/javascript/dashboard/i18n/locale/ml/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "അഡ്മിനിസ്‌ട്രേറ്റർ", "AGENT": "ഏജന്റ്" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "ഈ അക്കൗണ്ടുമായി ബന്ധപ്പെട്ട ഏജന്റുകളൊന്നുമില്ല", "TITLE": "നിങ്ങളുടെ ടീമിലെ ഏജന്റുമാരെ മാനേജുചെയ്യുക", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "വൂട്ട് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക" } }, + "SEARCH_PLACEHOLDER": "ഏജന്റുകളെ തിരയുക...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "ഒരു ഫലവും കണ്ടെത്താനായില്ല." }, diff --git a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json index decabcf47..ec5062839 100644 --- a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "സംഭാഷണം", "CONTACT": "ബന്ധപ്പെടുക" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ml/automation.json b/app/javascript/dashboard/i18n/locale/ml/automation.json index b6fb7df4a..d177a6211 100644 --- a/app/javascript/dashboard/i18n/locale/ml/automation.json +++ b/app/javascript/dashboard/i18n/locale/ml/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "സൃഷ്ടിക്കുക", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "പേര്", - "DESCRIPTION": "വിവരണം", "ACTIVE": "സജീവമാണ്", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "പ്രവർത്തനങ്ങൾ" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ml/bulkActions.json b/app/javascript/dashboard/i18n/locale/ml/bulkActions.json index 5001d61c7..337ad7305 100644 --- a/app/javascript/dashboard/i18n/locale/ml/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ml/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "ലേബലുകളൊന്നും കണ്ടെത്തിയില്ല", diff --git a/app/javascript/dashboard/i18n/locale/ml/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ml/cannedMgmt.json index 6e66761bb..a52931335 100644 --- a/app/javascript/dashboard/i18n/locale/ml/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "ക്യാൻഡ് പ്രതികരണങ്ങൾ", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "ഈ ചോദ്യവുമായി പൊരുത്തപ്പെടുന്ന ഇനങ്ങളൊന്നുമില്ല.", "LIST": { "404": "ഈ അക്കൗണ്ടിൽ ക്യാൻഡ് പ്രതികരണങ്ങളൊന്നും ലഭ്യമല്ല.", diff --git a/app/javascript/dashboard/i18n/locale/ml/chatlist.json b/app/javascript/dashboard/i18n/locale/ml/chatlist.json index cbe3f820c..8874a1c4a 100644 --- a/app/javascript/dashboard/i18n/locale/ml/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ml/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json index 0217995ea..a7f37fb06 100644 --- a/app/javascript/dashboard/i18n/locale/ml/contact.json +++ b/app/javascript/dashboard/i18n/locale/ml/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "കോൺ‌ടാക്റ്റുകളൊന്നും നിങ്ങളുടെ തിരയലുമായി പൊരുത്തപ്പെടുന്നില്ല", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json index 2b8a41dde..4508078aa 100644 --- a/app/javascript/dashboard/i18n/locale/ml/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "പുതിയ ലൈനിനു വേണ്ടി ഷിഫ്റ്റ് + എന്റർ അടിക്കുക. ഒരു ക്യാൻഡ് പ്രതികരണം തിരഞ്ഞു എടുക്കാൻ വേണ്ടി '/ ' വച്ച് ടൈപ്പ് ചെയ്തു തുടങ്ങുക.", "PRIVATE_MSG_INPUT": "പുതിയ ലൈനിനു വേണ്ടി ഷിഫ്റ്റ് + എന്റർ അടിക്കുക. ഇത് ഏജന്റുമാർക്ക് മാത്രമേ ദൃശ്യമാകൂ", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "അയച്ചത്:", "BOT": "ബോട്ട്", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "സന്ദേശം അയയ്‌ക്കാനായില്ല! വീണ്ടും ശ്രമിക്കുക", "TRY_AGAIN": "വീണ്ടും ശ്രമിക്കുക", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "റദ്ദാക്കുക", "SEND_EMAIL_SUCCESS": "ചാറ്റ് ട്രാൻസ്ക്രിപ്റ്റ് വിജയകരമായി അയച്ചു", "SEND_EMAIL_ERROR": "ഒരു പിശക് ഉണ്ടായിരുന്നു, ദയവായി വീണ്ടും ശ്രമിക്കുക", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "ഉപഭോക്താവിന് ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", "SEND_TO_AGENT": "നിയുക്ത ഏജന്റിന് ട്രാൻസ്ക്രിപ്റ്റ് അയയ്ക്കുക", diff --git a/app/javascript/dashboard/i18n/locale/ml/customRole.json b/app/javascript/dashboard/i18n/locale/ml/customRole.json index 102876482..28ff309ef 100644 --- a/app/javascript/dashboard/i18n/locale/ml/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ml/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "ഈ ചോദ്യവുമായി പൊരുത്തപ്പെടുന്ന ഇനങ്ങളൊന്നുമില്ല.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ml/datePicker.json b/app/javascript/dashboard/i18n/locale/ml/datePicker.json index 55c6777ba..55f2f471e 100644 --- a/app/javascript/dashboard/i18n/locale/ml/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ml/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "അപേക്ഷിക്കുക", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "കഴിഞ്ഞ 3 മാസം", "LAST_6_MONTHS": "കഴിഞ്ഞ 6 മാസം", "LAST_YEAR": "കഴിഞ്ഞ വർഷം", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "ഇഷ്‌ടാനുസൃത തീയതി ശ്രേണി" } } diff --git a/app/javascript/dashboard/i18n/locale/ml/general.json b/app/javascript/dashboard/i18n/locale/ml/general.json index 60a70e9c4..33a6e0240 100644 --- a/app/javascript/dashboard/i18n/locale/ml/general.json +++ b/app/javascript/dashboard/i18n/locale/ml/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "അടയ്ക്കുക", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ml/generalSettings.json b/app/javascript/dashboard/i18n/locale/ml/generalSettings.json index f95147b6e..065a7d6f0 100644 --- a/app/javascript/dashboard/i18n/locale/ml/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ml/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "റിപ്പോർട്ടുകൾ", diff --git a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json index b61f61835..686b60185 100644 --- a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json index 278a964f3..3912a94d3 100644 --- a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "ഇൻ‌ബോക്സുകൾ", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "പ്രവർത്തനരഹിതമാക്കി" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "പ്രവർത്തനക്ഷമമാക്കി", - "DISABLED": "പ്രവർത്തനരഹിതമാക്കി" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "ഇമെയിൽ വഴി സംഭാഷണ തുടർച്ച പ്രവർത്തനക്ഷമമാക്കുക", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "ബന്ധപ്പെടാനുള്ള ഇമെയിൽ വിലാസം ലഭ്യമാണെങ്കിൽ സംഭാഷണങ്ങൾ ഇമെയിൽ വഴി തുടരും.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "പുതിയ സംഭാഷണങ്ങളിൽ ലഭ്യമായ ഏജന്റുമാരുടെ ഓട്ടോമാറ്റിക് അസൈൻമെന്റ് പ്രാപ്തമാക്കുകയോ അപ്രാപ്തമാക്കുകയോ ചെയ്യുക", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "സജീവമാണ്", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "റദ്ദാക്കുക", + "CONFIRM_DELETE": "ഇല്ലാതാക്കുക", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "വീണ്ടും അംഗീകാരം നൽകുക", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "ദിവസം", + "AVAILABILITY": "ലഭ്യത", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "വിജറ്റ് നിറം", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "ഞങ്ങളുമായി ചാറ്റുചെയ്യുക", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "ഞങ്ങളുമായി ചാറ്റുചെയ്യുക" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "സാധാരണയായി കുറച്ച് മിനിറ്റിനുള്ളിൽ മറുപടി നൽകുന്നു", diff --git a/app/javascript/dashboard/i18n/locale/ml/integrationApps.json b/app/javascript/dashboard/i18n/locale/ml/integrationApps.json index d75175417..62ed01e91 100644 --- a/app/javascript/dashboard/i18n/locale/ml/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ml/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "പ്രവർത്തനക്ഷമമാക്കി", "DISABLED": "പ്രവർത്തനരഹിതമാക്കി" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "ഇൻബോക്സ്", + "ACTIONS": "പ്രവർത്തനങ്ങൾ", "DELETE": { "BUTTON_TEXT": "ഇല്ലാതാക്കുക" } diff --git a/app/javascript/dashboard/i18n/locale/ml/integrations.json b/app/javascript/dashboard/i18n/locale/ml/integrations.json index a9024de8f..aad75b091 100644 --- a/app/javascript/dashboard/i18n/locale/ml/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ml/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "റദ്ദാക്കുക", "DESC": "നിങ്ങളുടെ ചാറ്റ് വൂട്ട് അക്കൗണ്ടിൽ എന്താണ് സംഭവിക്കുന്നതെന്നതിനെക്കുറിച്ചുള്ള തത്സമയ വിവരങ്ങൾ വെബ്‌ഹൂക്ക് ഇവന്റുകൾ നൽകുന്നു. ഒരു കോൾബാക്ക് കോൺഫിഗർ ചെയ്യുന്നതിന് സാധുവായ ഒരു യുആർഎൽ നൽകുക.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "ഇല്ലാതാക്കുക", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "പേര്", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "പ്രവർത്തനങ്ങൾ" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ml/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ml/labelsMgmt.json index e1882fe53..2f6842bbe 100644 --- a/app/javascript/dashboard/i18n/locale/ml/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "ലേബലുകൾ ലഭ്യമാക്കുന്നു", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "ലേബലുകൾ തിരയുക...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "ഈ ചോദ്യവുമായി പൊരുത്തപ്പെടുന്ന ഇനങ്ങളൊന്നുമില്ല", "LIST": { "404": "ഈ അക്കൗണ്ടിൽ ലേബലുകളൊന്നും ലഭ്യമല്ല.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "പേര്", "DESCRIPTION": "വിവരണം", - "COLOR": "നിറം" + "COLOR": "നിറം", + "ACTION": "പ്രവർത്തനങ്ങൾ" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ml/macros.json b/app/javascript/dashboard/i18n/locale/ml/macros.json index afd84e332..2f1d1cbbf 100644 --- a/app/javascript/dashboard/i18n/locale/ml/macros.json +++ b/app/javascript/dashboard/i18n/locale/ml/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "പേര്", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "പ്രവർത്തനങ്ങൾ" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ml/mfa.json b/app/javascript/dashboard/i18n/locale/ml/mfa.json index 7afedc201..e68c9aea4 100644 --- a/app/javascript/dashboard/i18n/locale/ml/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ml/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ml/report.json b/app/javascript/dashboard/i18n/locale/ml/report.json index fbbcca17c..60473893c 100644 --- a/app/javascript/dashboard/i18n/locale/ml/report.json +++ b/app/javascript/dashboard/i18n/locale/ml/report.json @@ -3,7 +3,7 @@ "HEADER": "സംഭാഷണങ്ങൾ", "LOADING_CHART": "ചാർട്ട് ഡാറ്റ ലോഡു ചെയ്യുകയാണ്...", "NO_ENOUGH_DATA": "റിപ്പോർട്ട് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ ഡാറ്റ ഞങ്ങൾക്ക് ലഭിച്ചിട്ടില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", - "DOWNLOAD_AGENT_REPORTS": "ഏജന്റ് റിപ്പോർട്ടുകൾ ഡൗൺലോഡ് ചെയ്യുക", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "ഏജന്റുമാരുടെ അവലോകനം", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "ചാർട്ട് ഡാറ്റ ലോഡു ചെയ്യുകയാണ്...", "NO_ENOUGH_DATA": "റിപ്പോർട്ട് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ ഡാറ്റ ഞങ്ങൾക്ക് ലഭിച്ചിട്ടില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", "DOWNLOAD_AGENT_REPORTS": "ഏജന്റ് റിപ്പോർട്ടുകൾ ഡൗൺലോഡ് ചെയ്യുക", "FILTER_DROPDOWN_LABEL": "ഏജന്റ് തിരഞ്ഞെടുക്കുക", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "ഏജന്റുകളെ തിരയുക" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "സംഭാഷണങ്ങൾ", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "റിപ്പോർട്ട് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ ഡാറ്റ ഞങ്ങൾക്ക് ലഭിച്ചിട്ടില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", "DOWNLOAD_LABEL_REPORTS": "ലേബൽ റിപ്പോർട്ടുകൾ ഡൗൺലോഡ് ചെയ്യുക", "FILTER_DROPDOWN_LABEL": "ലേബൽ തിരഞ്ഞെടുക്കുക", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "ലേബലുകൾ തിരയുക" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "സംഭാഷണങ്ങൾ", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "ഇൻബോക്സ് തിരഞ്ഞെടുക്കുക", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "സംഭാഷണങ്ങൾ", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "ടീം അവലോകനം", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "ചാർട്ട് ഡാറ്റ ലോഡു ചെയ്യുകയാണ്...", "NO_ENOUGH_DATA": "റിപ്പോർട്ട് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ ഡാറ്റ ഞങ്ങൾക്ക് ലഭിച്ചിട്ടില്ല, ദയവായി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.", "DOWNLOAD_TEAM_REPORTS": "ടീം റിപ്പോർട്ടുകൾ ഡൗൺലോഡ് ചെയ്യുക", "FILTER_DROPDOWN_LABEL": "ടീം തിരഞ്ഞെടുക്കുക", + "FILTERS": { + "ADD_FILTER": "ഫിൽട്ടർ ചേർക്കുക", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "ടീമുകളെ തിരയുക" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "സംഭാഷണങ്ങൾ", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT റിപ്പോർട്ടുകൾ", - "NO_RECORDS": "CSAT സർവേ പ്രതികരണങ്ങളൊന്നും ലഭ്യമല്ല.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "ഫിൽട്ടർ ചേർക്കുക", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "ഏജന്റുകളെ തിരയുക", + "INBOXES": "Search inboxes", + "TEAMS": "ടീമുകളെ തിരയുക", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "ഏജന്റ്" + }, + "INBOXES": { + "LABEL": "ഇൻബോക്സ്" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "ബന്ധപ്പെടുക", - "AGENT_NAME": "നിയോഗിച്ച ഏജന്റ്", + "AGENT_NAME": "ഏജന്റ്", "RATING": "റേറ്റിംഗ്", - "FEEDBACK_TEXT": "ഫീഡ്ബാക്ക് അഭിപ്രായം" - } + "FEEDBACK_TEXT": "ഫീഡ്ബാക്ക് അഭിപ്രായം", + "CONVERSATION": "സംഭാഷണം", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "ആകെ പ്രതികരണങ്ങൾ", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "പ്രതികരണ നിരക്ക്", "TOOLTIP": "മൊത്തം പ്രതികരണങ്ങളുടെ എണ്ണം / അയച്ച CSAT സർവേ സന്ദേശങ്ങളുടെ ആകെ എണ്ണം * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "റദ്ദാക്കുക", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json index 10aa54f4b..c71cb0ff6 100644 --- a/app/javascript/dashboard/i18n/locale/ml/settings.json +++ b/app/javascript/dashboard/i18n/locale/ml/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "ഡൗൺലോഡ്", "UPLOADING": "അപ്‌ലോഡുചെയ്യുന്നു...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "റദ്ദാക്കുക" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "പുതിയ അക്കൗണ്ട്", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "റദ്ദാക്കുക" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ml/signup.json b/app/javascript/dashboard/i18n/locale/ml/signup.json index 27ff6f388..1d757d213 100644 --- a/app/javascript/dashboard/i18n/locale/ml/signup.json +++ b/app/javascript/dashboard/i18n/locale/ml/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "രജിസ്റ്റർ", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ml/sla.json b/app/javascript/dashboard/i18n/locale/ml/sla.json index 6e4b6667a..cf9fba6b0 100644 --- a/app/javascript/dashboard/i18n/locale/ml/sla.json +++ b/app/javascript/dashboard/i18n/locale/ml/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ml/snooze.json b/app/javascript/dashboard/i18n/locale/ml/snooze.json new file mode 100644 index 000000000..fea5ee21b --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ml/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "ദിവസം", + "DAYS": "days", + "WEEK": "ദിവസം", + "WEEKS": "weeks", + "MONTH": "ആഴ്ച", + "MONTHS": "months", + "YEAR": "മാസം", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "ദിവസം", + "DAY": "ദിവസം" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ml/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ml/teamsSettings.json index 169ef9c15..5648756f9 100644 --- a/app/javascript/dashboard/i18n/locale/ml/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ml/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "ടീമുകളെ തിരയുക...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", + "AGENT": "ഏജന്റ്", "EMAIL": "ഇമെയിൽ", "BUTTON_TEXT": "ഏജന്റുമാരെ ചേർക്കുക", "ADD_AGENTS": "Adding Agents to your Team...", diff --git a/app/javascript/dashboard/i18n/locale/ms/agentBots.json b/app/javascript/dashboard/i18n/locale/ms/agentBots.json index 5e0cd93d9..cd283f015 100644 --- a/app/javascript/dashboard/i18n/locale/ms/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ms/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Tindakan-tindakan" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ms/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ms/agentMgmt.json index 8d383f511..9b0625a04 100644 --- a/app/javascript/dashboard/i18n/locale/ms/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Pentadbir", "AGENT": "Ejen" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Tiada ejen yang dikaitkan ke akaun ini", "TITLE": "Tadbir ejen dalam pasukan anda", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Masalah untuk hubungi Woot Server, Sila cuba sebentar lagi" } }, + "SEARCH_PLACEHOLDER": "Cari ejen...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Tiada dijumpa." }, diff --git a/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json index 9c474b4ee..d26e05844 100644 --- a/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Mendapatkan atribut penyesuian", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ms/automation.json b/app/javascript/dashboard/i18n/locale/ms/automation.json index 3a0c84e2a..0849b9757 100644 --- a/app/javascript/dashboard/i18n/locale/ms/automation.json +++ b/app/javascript/dashboard/i18n/locale/ms/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nama", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Tindakan-tindakan" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ms/bulkActions.json b/app/javascript/dashboard/i18n/locale/ms/bulkActions.json index 7856642f2..c95d32a13 100644 --- a/app/javascript/dashboard/i18n/locale/ms/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ms/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/ms/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ms/cannedMgmt.json index 817d3bd9a..f24445cb3 100644 --- a/app/javascript/dashboard/i18n/locale/ms/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/ms/chatlist.json b/app/javascript/dashboard/i18n/locale/ms/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/ms/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ms/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ms/contact.json b/app/javascript/dashboard/i18n/locale/ms/contact.json index e247ac251..3acc6b7f7 100644 --- a/app/javascript/dashboard/i18n/locale/ms/contact.json +++ b/app/javascript/dashboard/i18n/locale/ms/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ms/conversation.json b/app/javascript/dashboard/i18n/locale/ms/conversation.json index 11c34769d..b61f9d9d0 100644 --- a/app/javascript/dashboard/i18n/locale/ms/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ms/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Batalkan", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ms/customRole.json b/app/javascript/dashboard/i18n/locale/ms/customRole.json index 207363a59..df47b9045 100644 --- a/app/javascript/dashboard/i18n/locale/ms/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ms/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ms/datePicker.json b/app/javascript/dashboard/i18n/locale/ms/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/ms/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ms/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ms/general.json b/app/javascript/dashboard/i18n/locale/ms/general.json index 2998bcd27..7a1f5321c 100644 --- a/app/javascript/dashboard/i18n/locale/ms/general.json +++ b/app/javascript/dashboard/i18n/locale/ms/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ms/generalSettings.json b/app/javascript/dashboard/i18n/locale/ms/generalSettings.json index 5b62bba3f..a0a651d49 100644 --- a/app/javascript/dashboard/i18n/locale/ms/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ms/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json index 81674aa07..ce4cd2663 100644 --- a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json index 558244207..973241524 100644 --- a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Batalkan", + "CONFIRM_DELETE": "Padamkan", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/ms/integrationApps.json b/app/javascript/dashboard/i18n/locale/ms/integrationApps.json index b65579e97..d6ac6547f 100644 --- a/app/javascript/dashboard/i18n/locale/ms/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ms/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Tindakan-tindakan", "DELETE": { "BUTTON_TEXT": "Padamkan" } diff --git a/app/javascript/dashboard/i18n/locale/ms/integrations.json b/app/javascript/dashboard/i18n/locale/ms/integrations.json index 50cb231ba..b94568463 100644 --- a/app/javascript/dashboard/i18n/locale/ms/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ms/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Batalkan", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Padamkan", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Nama", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Tindakan-tindakan" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ms/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ms/labelsMgmt.json index 156a6ff39..c90decd96 100644 --- a/app/javascript/dashboard/i18n/locale/ms/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nama", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Tindakan-tindakan" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ms/macros.json b/app/javascript/dashboard/i18n/locale/ms/macros.json index 48099f5f9..b7c423925 100644 --- a/app/javascript/dashboard/i18n/locale/ms/macros.json +++ b/app/javascript/dashboard/i18n/locale/ms/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nama", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Tindakan-tindakan" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ms/mfa.json b/app/javascript/dashboard/i18n/locale/ms/mfa.json index 4e0b282be..345442d5b 100644 --- a/app/javascript/dashboard/i18n/locale/ms/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ms/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ms/report.json b/app/javascript/dashboard/i18n/locale/ms/report.json index a70387666..e990aa448 100644 --- a/app/javascript/dashboard/i18n/locale/ms/report.json +++ b/app/javascript/dashboard/i18n/locale/ms/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Cari ejen" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Cari pasukan" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Cari ejen", + "INBOXES": "Search inboxes", + "TEAMS": "Cari pasukan", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Ejen" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Ejen", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Batalkan", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ms/settings.json b/app/javascript/dashboard/i18n/locale/ms/settings.json index 8c52e3f0b..5b0595e5d 100644 --- a/app/javascript/dashboard/i18n/locale/ms/settings.json +++ b/app/javascript/dashboard/i18n/locale/ms/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Batalkan" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Batalkan" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ms/signup.json b/app/javascript/dashboard/i18n/locale/ms/signup.json index 7d72e3245..1790362d3 100644 --- a/app/javascript/dashboard/i18n/locale/ms/signup.json +++ b/app/javascript/dashboard/i18n/locale/ms/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ms/sla.json b/app/javascript/dashboard/i18n/locale/ms/sla.json index 1cc1c0338..126cee48e 100644 --- a/app/javascript/dashboard/i18n/locale/ms/sla.json +++ b/app/javascript/dashboard/i18n/locale/ms/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ms/snooze.json b/app/javascript/dashboard/i18n/locale/ms/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ms/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ms/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ms/teamsSettings.json index ee50a9ab2..83132e93a 100644 --- a/app/javascript/dashboard/i18n/locale/ms/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ms/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Cari pasukan...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "Emel", + "AGENT": "Ejen", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ne/agentBots.json b/app/javascript/dashboard/i18n/locale/ne/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/ne/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ne/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ne/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ne/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/ne/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ne/automation.json b/app/javascript/dashboard/i18n/locale/ne/automation.json index 713ae7e82..d980098f4 100644 --- a/app/javascript/dashboard/i18n/locale/ne/automation.json +++ b/app/javascript/dashboard/i18n/locale/ne/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ne/bulkActions.json b/app/javascript/dashboard/i18n/locale/ne/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/ne/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ne/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/ne/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ne/cannedMgmt.json index 9cab6693e..2a9dd154c 100644 --- a/app/javascript/dashboard/i18n/locale/ne/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/ne/chatlist.json b/app/javascript/dashboard/i18n/locale/ne/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/ne/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ne/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ne/contact.json b/app/javascript/dashboard/i18n/locale/ne/contact.json index 22109f9c6..9e9edc528 100644 --- a/app/javascript/dashboard/i18n/locale/ne/contact.json +++ b/app/javascript/dashboard/i18n/locale/ne/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ne/conversation.json b/app/javascript/dashboard/i18n/locale/ne/conversation.json index 45560d95f..74462e090 100644 --- a/app/javascript/dashboard/i18n/locale/ne/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ne/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ne/customRole.json b/app/javascript/dashboard/i18n/locale/ne/customRole.json index 5588f67f2..ef93efc1f 100644 --- a/app/javascript/dashboard/i18n/locale/ne/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ne/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ne/datePicker.json b/app/javascript/dashboard/i18n/locale/ne/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/ne/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ne/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ne/general.json b/app/javascript/dashboard/i18n/locale/ne/general.json index c46aeae1a..9a0a7881e 100644 --- a/app/javascript/dashboard/i18n/locale/ne/general.json +++ b/app/javascript/dashboard/i18n/locale/ne/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "बन्दा गार्नुहोस्", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ne/generalSettings.json b/app/javascript/dashboard/i18n/locale/ne/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/ne/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ne/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json index 760e2b6dd..327a70ced 100644 --- a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json index 887963cae..5cb3b0ef4 100644 --- a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "हामीसँग कुराकानी गर्नुहोस्", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "हामीसँग कुराकानी गर्नुहोस्" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "धेरै जसो केहि मिनेटमा जवाफ हुन्छ", diff --git a/app/javascript/dashboard/i18n/locale/ne/integrationApps.json b/app/javascript/dashboard/i18n/locale/ne/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/ne/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ne/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/ne/integrations.json b/app/javascript/dashboard/i18n/locale/ne/integrations.json index c0ea2dbff..01b083d51 100644 --- a/app/javascript/dashboard/i18n/locale/ne/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ne/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ne/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ne/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/ne/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ne/macros.json b/app/javascript/dashboard/i18n/locale/ne/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/ne/macros.json +++ b/app/javascript/dashboard/i18n/locale/ne/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ne/mfa.json b/app/javascript/dashboard/i18n/locale/ne/mfa.json index 9cef374f8..ce507418f 100644 --- a/app/javascript/dashboard/i18n/locale/ne/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ne/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ne/report.json b/app/javascript/dashboard/i18n/locale/ne/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/ne/report.json +++ b/app/javascript/dashboard/i18n/locale/ne/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ne/settings.json b/app/javascript/dashboard/i18n/locale/ne/settings.json index c12f56091..fda4d0f31 100644 --- a/app/javascript/dashboard/i18n/locale/ne/settings.json +++ b/app/javascript/dashboard/i18n/locale/ne/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "डाउनलोड", "UPLOADING": "अपलोड गर्दै...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ne/signup.json b/app/javascript/dashboard/i18n/locale/ne/signup.json index aa96873e1..746ca0999 100644 --- a/app/javascript/dashboard/i18n/locale/ne/signup.json +++ b/app/javascript/dashboard/i18n/locale/ne/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ne/sla.json b/app/javascript/dashboard/i18n/locale/ne/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/ne/sla.json +++ b/app/javascript/dashboard/i18n/locale/ne/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ne/snooze.json b/app/javascript/dashboard/i18n/locale/ne/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ne/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ne/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ne/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/ne/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ne/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/nl/agentBots.json b/app/javascript/dashboard/i18n/locale/nl/agentBots.json index e0eb22829..616105130 100644 --- a/app/javascript/dashboard/i18n/locale/nl/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/nl/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Systeem", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Acties" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/nl/agentMgmt.json b/app/javascript/dashboard/i18n/locale/nl/agentMgmt.json index 4eb1a71dd..306e6c34c 100644 --- a/app/javascript/dashboard/i18n/locale/nl/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Beheerder", "AGENT": "Medewerker" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Er zijn geen medewerkers gekoppeld aan dit account", "TITLE": "Beheer medewerkers in uw team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Kan geen verbinding maken met Woot Server, probeer het later opnieuw" } }, + "SEARCH_PLACEHOLDER": "Zoek agenten...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Geen resultaten gevonden." }, diff --git a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json index 006c4a456..49668e198 100644 --- a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Aangepaste attributen ophalen", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Attributen zoeken...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Gesprek", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/nl/automation.json b/app/javascript/dashboard/i18n/locale/nl/automation.json index fdef5df6f..096c2e072 100644 --- a/app/javascript/dashboard/i18n/locale/nl/automation.json +++ b/app/javascript/dashboard/i18n/locale/nl/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Automatiseringsregel toevoegen", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Automatiseringsregels ophalen", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Automatiseringsregel toevoegen", "SUBMIT": "Aanmaken", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Naam", - "DESCRIPTION": "Beschrijving", "ACTIVE": "Actief", - "CREATED_ON": "Aangemaakt op" + "CREATED_ON": "Aangemaakt op", + "ACTIONS": "Acties" }, "404": "Geen automatiseringsregels gevonden" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json index 9751d9dd6..5cbd9c99b 100644 --- a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Gespreksstatus succesvol bijgewerkt.", "UPDATE_FAILED": "Update van gesprekken mislukt, probeer het opnieuw." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Labels toewijzen", "NO_LABELS_FOUND": "Geen labels gevonden", diff --git a/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json index 7d1ef8560..cc0344a27 100644 --- a/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Standaard antwoorden", "LEARN_MORE": "Meer informatie over standaard antwoorden", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Standaard antwoord toevoegen", "LOADING": "Standaard antwoorden ophalen...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Er zijn geen items die overeenkomen met deze zoekopdracht.", "LIST": { "404": "Er zijn geen standaard antwoorden beschikbaar in dit account.", diff --git a/app/javascript/dashboard/i18n/locale/nl/chatlist.json b/app/javascript/dashboard/i18n/locale/nl/chatlist.json index a7333bea7..6a27f5aef 100644 --- a/app/javascript/dashboard/i18n/locale/nl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/nl/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index 342a7a171..f83af005a 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Er zijn geen contacten die overeenkomen met je zoekopdracht 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Label toewijzen", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Aan:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Onderwerp :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "CC:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "BCC:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "BCC" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index 8466f1ca5..afda6332e 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Bericht succesvol verwijderd", "FAIL_DELETE_MESSSAGE": "Kon bericht niet verwijderen! Probeer het opnieuw", "NO_RESPONSE": "Geen reactie", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Handtekening deactiveren", "MSG_INPUT": "Shift + enter voor nieuwe regel. Begin met '/' om een standaard antwoord te selecteren.", "PRIVATE_MSG_INPUT": "Shift + nieuwe regel invoeren. Dit is alleen zichtbaar voor medewerkers", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Berichtondertekening is niet geconfigureerd, configureer deze in de profielinstellingen.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klik hier om bij te werken", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Sleep hierheen om toe te voegen", "START_AUDIO_RECORDING": "Start audio-opname", "STOP_AUDIO_RECORDING": "Stop audio-opname", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "AAN", "ADD_BCC": "Voeg bcc toe", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Verzonden door:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Kon bericht niet verzenden! Probeer het opnieuw", "TRY_AGAIN": "opnieuw proberen", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Annuleren", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "Er is een fout opgetreden, probeer het opnieuw", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/nl/customRole.json b/app/javascript/dashboard/i18n/locale/nl/customRole.json index ad0333c5e..cb2cfbb15 100644 --- a/app/javascript/dashboard/i18n/locale/nl/customRole.json +++ b/app/javascript/dashboard/i18n/locale/nl/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Er zijn geen items die overeenkomen met deze zoekopdracht.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/nl/datePicker.json b/app/javascript/dashboard/i18n/locale/nl/datePicker.json index 92a28fa2b..f11782951 100644 --- a/app/javascript/dashboard/i18n/locale/nl/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/nl/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/general.json b/app/javascript/dashboard/i18n/locale/nl/general.json index f3a6a4c01..fbd78ad73 100644 --- a/app/javascript/dashboard/i18n/locale/nl/general.json +++ b/app/javascript/dashboard/i18n/locale/nl/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Sluiten", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/generalSettings.json b/app/javascript/dashboard/i18n/locale/nl/generalSettings.json index 3ddf3e240..6c7ffa63f 100644 --- a/app/javascript/dashboard/i18n/locale/nl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/nl/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Algemeen", "REPORTS": "Rapporten", diff --git a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json index 9215963f8..12e9ee530 100644 --- a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Kan artikelen niet herordenen. Probeer het opnieuw." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json index e2d663281..bffaf9141 100644 --- a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxen", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Opslaan" } @@ -589,8 +592,10 @@ "DISABLED": "Uitgeschakeld" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Ingeschakeld", - "DISABLED": "Uitgeschakeld" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Instellingen Postvak In", "INBOX_UPDATE_SUB_TEXT": "Update uw inbox instellingen", "AUTO_ASSIGNMENT_SUB_TEXT": "In- of uitschakelen van de automatische toewijzing van nieuwe gesprekken aan de agenten die aan deze inbox zijn toegevoegd.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Geen", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Actief", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Annuleren", + "CONFIRM_DELETE": "Verwijderen", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Autoriseer", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Ga terug" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In één dag" }, "WIDGET_COLOR_LABEL": "Kleur van widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat met ons", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat met ons" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Reageert meestal binnen een paar minuten", diff --git a/app/javascript/dashboard/i18n/locale/nl/integrationApps.json b/app/javascript/dashboard/i18n/locale/nl/integrationApps.json index 2f30935d6..a42f4f1de 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Integraties ophalen", "NO_HOOK_CONFIGURED": "Er zijn geen {integrationId} integraties geconfigureerd in dit account.", "HEADER": "Applicaties", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Ingeschakeld", "DISABLED": "Uitgeschakeld" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Ophalen van integratie-hooks", "INBOX": "Postvak In", + "ACTIONS": "Acties", "DELETE": { "BUTTON_TEXT": "Verwijderen" } diff --git a/app/javascript/dashboard/i18n/locale/nl/integrations.json b/app/javascript/dashboard/i18n/locale/nl/integrations.json index 648875252..efd004144 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Annuleren", "DESC": "Webhook events bieden je realtime informatie over wat er gebeurt in je Chatwoot account. Voer een geldige URL in om een callback te configureren.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Verwijderen", "DELETE_CONFIRMATION": { "TITLE": "Integratie verwijderen", @@ -145,7 +160,29 @@ "EXPAND": "Uitklappen", "MAKE_FRIENDLY": "Wijzig berichttoon naar vriendelijk", "MAKE_FORMAL": "Gebruik formele toon", - "SIMPLIFY": "Vereenvoudigen" + "SIMPLIFY": "Vereenvoudigen", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professioneel", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Vriendelijk" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Concept inhoud", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Naam", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Acties" }, "EDIT_TOOLTIP": "Bewerk app", "DELETE_TOOLTIP": "App verwijderen" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json index a97d34515..b0922ba8b 100644 --- a/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Labels ophalen", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Zoek op labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Er zijn geen items die overeenkomen met deze zoekopdracht", "LIST": { "404": "Er zijn geen labels beschikbaar in dit account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Naam", "DESCRIPTION": "Beschrijving", - "COLOR": "Kleur" + "COLOR": "Kleur", + "ACTION": "Acties" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/nl/macros.json b/app/javascript/dashboard/i18n/locale/nl/macros.json index d1c3015a4..68c86c814 100644 --- a/app/javascript/dashboard/i18n/locale/nl/macros.json +++ b/app/javascript/dashboard/i18n/locale/nl/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macro's", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Naam", "CREATED BY": "Aangemaakt door", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Zichtbaarheid" + "VISIBILITY": "Zichtbaarheid", + "ACTIONS": "Acties" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/nl/mfa.json b/app/javascript/dashboard/i18n/locale/nl/mfa.json index 9caa33f7a..047815c08 100644 --- a/app/javascript/dashboard/i18n/locale/nl/mfa.json +++ b/app/javascript/dashboard/i18n/locale/nl/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/nl/report.json b/app/javascript/dashboard/i18n/locale/nl/report.json index d10ce7d5e..e3eb2f484 100644 --- a/app/javascript/dashboard/i18n/locale/nl/report.json +++ b/app/javascript/dashboard/i18n/locale/nl/report.json @@ -3,7 +3,7 @@ "HEADER": "Gesprekken", "LOADING_CHART": "Kaartgegevens laden...", "NO_ENOUGH_DATA": "We hebben niet genoeg datapunten ontvangen om een rapport te genereren, probeer het later opnieuw.", - "DOWNLOAD_AGENT_REPORTS": "Medewerkerrapporten downloaden", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Kaartgegevens laden...", "NO_ENOUGH_DATA": "We hebben niet genoeg datapunten ontvangen om een rapport te genereren, probeer het later opnieuw.", "DOWNLOAD_AGENT_REPORTS": "Medewerkerrapporten downloaden", "FILTER_DROPDOWN_LABEL": "Selecteer medewerker", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Zoek agenten" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We hebben niet genoeg datapunten ontvangen om een rapport te genereren, probeer het later opnieuw.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Zoek op labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Selecteer een inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Kaartgegevens laden...", "NO_ENOUGH_DATA": "We hebben niet genoeg datapunten ontvangen om een rapport te genereren, probeer het later opnieuw.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Filter toevoegen", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Teams zoeken" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Filter toevoegen", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Zoek agenten", + "INBOXES": "Search inboxes", + "TEAMS": "Teams zoeken", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Medewerker" + }, + "INBOXES": { + "LABEL": "Postvak In" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Beoordeling" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Medewerker", "RATING": "Beoordeling", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Gesprek", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Opslaan", + "CANCEL": "Annuleren", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index de235af95..6e63dc21f 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Downloaden", "UPLOADING": "Uploaden...", - "INSTAGRAM_STORY_UNAVAILABLE": "Dit verhaal is niet meer beschikbaar." + "INSTAGRAM_STORY_UNAVAILABLE": "Dit verhaal is niet meer beschikbaar.", + "INSTAGRAM_STORY_REPLY": "Reageerde op jouw verhaal:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Attributen zoeken" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Annuleren" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Annuleren" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/nl/signup.json b/app/javascript/dashboard/i18n/locale/nl/signup.json index 4d6155c30..b575d4c3f 100644 --- a/app/javascript/dashboard/i18n/locale/nl/signup.json +++ b/app/javascript/dashboard/i18n/locale/nl/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Nieuw account aanmaken", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registreren", "TESTIMONIAL_HEADER": "Er is maar één stap nodig om vooruit te komen", "TESTIMONIAL_CONTENT": "U bent één stap verwijderd van het communiceren met uw klanten, ze te behouden en nieuwe te vinden.", diff --git a/app/javascript/dashboard/i18n/locale/nl/sla.json b/app/javascript/dashboard/i18n/locale/nl/sla.json index 7d3fa65eb..ad96ae140 100644 --- a/app/javascript/dashboard/i18n/locale/nl/sla.json +++ b/app/javascript/dashboard/i18n/locale/nl/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/nl/snooze.json b/app/javascript/dashboard/i18n/locale/nl/snooze.json new file mode 100644 index 000000000..80a89c28a --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/nl/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "dag", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "volgende", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "morgen", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "volgende week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "dag" + } +} diff --git a/app/javascript/dashboard/i18n/locale/nl/teamsSettings.json b/app/javascript/dashboard/i18n/locale/nl/teamsSettings.json index ebfa7f84c..3a23bfca3 100644 --- a/app/javascript/dashboard/i18n/locale/nl/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/nl/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Teams zoeken...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", + "AGENT": "Medewerker", "EMAIL": "E-mailadres", "BUTTON_TEXT": "Voeg agenten toe", "ADD_AGENTS": "Adding Agents to your Team...", diff --git a/app/javascript/dashboard/i18n/locale/no/agentBots.json b/app/javascript/dashboard/i18n/locale/no/agentBots.json index 188098606..1f4b57d74 100644 --- a/app/javascript/dashboard/i18n/locale/no/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/no/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Handlinger" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/no/agentMgmt.json b/app/javascript/dashboard/i18n/locale/no/agentMgmt.json index 42a65eb79..e287f5972 100644 --- a/app/javascript/dashboard/i18n/locale/no/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Det er ingen agenter tilknyttet denne kontoen", "TITLE": "Administrer agentene i ditt team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Kunne ikke koble til Woot Server, vennligst prøv igjen senere" } }, + "SEARCH_PLACEHOLDER": "Søk etter agenter...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Ingen resultater funnet." }, diff --git a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json index 7d1375fb8..564c84716 100644 --- a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/no/automation.json b/app/javascript/dashboard/i18n/locale/no/automation.json index b73eff766..4e1b0b39e 100644 --- a/app/javascript/dashboard/i18n/locale/no/automation.json +++ b/app/javascript/dashboard/i18n/locale/no/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Opprett", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Navn", - "DESCRIPTION": "Beskrivelse", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Handlinger" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/no/bulkActions.json b/app/javascript/dashboard/i18n/locale/no/bulkActions.json index c3b4f429a..c0dfaf83f 100644 --- a/app/javascript/dashboard/i18n/locale/no/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/no/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/no/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/no/cannedMgmt.json index 3c58401ba..f32cc0b98 100644 --- a/app/javascript/dashboard/i18n/locale/no/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Forhåndslagde svar", "LEARN_MORE": "Lær mer om standard svar", "DESCRIPTION": "Forbudte svar er forhåndskrevne svarmaler som hjelper deg raskt å svare på en samtale. Agenter kan skrive inn '/'-tegnet etterfulgt av en kortkode for å sette inn et standard svar under en samtale. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Legge til standard svar", "LOADING": "Henter standard svar...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Det finnes ingen elementer som samsvarer med denne spørringen.", "LIST": { "404": "Det er ingen forhåndslagde svar tilgjengelig i denne kontoen.", diff --git a/app/javascript/dashboard/i18n/locale/no/chatlist.json b/app/javascript/dashboard/i18n/locale/no/chatlist.json index fa878aaf4..5d7535cfe 100644 --- a/app/javascript/dashboard/i18n/locale/no/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/no/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/no/contact.json b/app/javascript/dashboard/i18n/locale/no/contact.json index e612011ca..47ebc64c6 100644 --- a/app/javascript/dashboard/i18n/locale/no/contact.json +++ b/app/javascript/dashboard/i18n/locale/no/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Ingen kontakter samsvarer med søket ditt 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/no/conversation.json b/app/javascript/dashboard/i18n/locale/no/conversation.json index f282e5833..65b4d4fb9 100644 --- a/app/javascript/dashboard/i18n/locale/no/conversation.json +++ b/app/javascript/dashboard/i18n/locale/no/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for ny linje. Start med '/' for å velge et forhåndslagd svar.", "PRIVATE_MSG_INPUT": "Skift + enter for ny linje. Dette vil kun være synlig for agenter", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sendt av:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Avbryt", "SEND_EMAIL_SUCCESS": "Kopi av samtalen ble sendt", "SEND_EMAIL_ERROR": "Det oppstod en feil. Prøv igjen", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send kopi av samtalen til kunden", "SEND_TO_AGENT": "Send kopi av samtalen til den tildelte agenten", diff --git a/app/javascript/dashboard/i18n/locale/no/customRole.json b/app/javascript/dashboard/i18n/locale/no/customRole.json index 1c596f041..776ee6ac5 100644 --- a/app/javascript/dashboard/i18n/locale/no/customRole.json +++ b/app/javascript/dashboard/i18n/locale/no/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Det finnes ingen elementer som samsvarer med denne spørringen.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/no/datePicker.json b/app/javascript/dashboard/i18n/locale/no/datePicker.json index 69f4ec400..fc172eba8 100644 --- a/app/javascript/dashboard/i18n/locale/no/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/no/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/no/general.json b/app/javascript/dashboard/i18n/locale/no/general.json index f16393ccd..38d116cec 100644 --- a/app/javascript/dashboard/i18n/locale/no/general.json +++ b/app/javascript/dashboard/i18n/locale/no/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Lukk", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/no/generalSettings.json b/app/javascript/dashboard/i18n/locale/no/generalSettings.json index aacb3a470..75c5d1a2d 100644 --- a/app/javascript/dashboard/i18n/locale/no/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/no/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Rapporter", diff --git a/app/javascript/dashboard/i18n/locale/no/helpCenter.json b/app/javascript/dashboard/i18n/locale/no/helpCenter.json index ac2901adc..08a3bd4da 100644 --- a/app/javascript/dashboard/i18n/locale/no/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/no/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json index 4e6a60af7..373a53adf 100644 --- a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Innbokser", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Deaktivert" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Aktivert", - "DISABLED": "Deaktivert" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Innboksinnstillinger", "INBOX_UPDATE_SUB_TEXT": "Oppdater innboksinnstillinger", "AUTO_ASSIGNMENT_SUB_TEXT": "Aktiver eller deaktiver automatisk tildeling av nye samtaler til agenter som er lagt til i denne innboksen.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Avbryt", + "CONFIRM_DELETE": "Slett", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautoriser", "SUBTITLE": "Facebook-tilkoblingen din er utløpt, koble til Facebook-siden din for å fortsette tjenester", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Tilgjengelighet", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Om en dag" }, "WIDGET_COLOR_LABEL": "Widget farge", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat med oss", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat med oss" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Svarer vanligvis innen et par timer", diff --git a/app/javascript/dashboard/i18n/locale/no/integrationApps.json b/app/javascript/dashboard/i18n/locale/no/integrationApps.json index 52c7571ce..54cf485da 100644 --- a/app/javascript/dashboard/i18n/locale/no/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/no/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Aktivert", "DISABLED": "Deaktivert" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Handlinger", "DELETE": { "BUTTON_TEXT": "Slett" } diff --git a/app/javascript/dashboard/i18n/locale/no/integrations.json b/app/javascript/dashboard/i18n/locale/no/integrations.json index 0266ca280..57cc1bcff 100644 --- a/app/javascript/dashboard/i18n/locale/no/integrations.json +++ b/app/javascript/dashboard/i18n/locale/no/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Avbryt", "DESC": "Webhook-hendelser gir deg sanntidsinformasjon om hva som skjer i din Chatwoot-konto. Skriv inn en gyldig nettadresse for å konfigurere en callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Slett", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Navn", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Handlinger" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/no/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/no/labelsMgmt.json index 5d27dcdbc..842b5663e 100644 --- a/app/javascript/dashboard/i18n/locale/no/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Henter etiketter", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Det finnes ingen elementer som samsvarer med denne spørringen", "LIST": { "404": "Det er ingen etiketter tilgjengelig i denne kontoen.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Navn", "DESCRIPTION": "Beskrivelse", - "COLOR": "Farge" + "COLOR": "Farge", + "ACTION": "Handlinger" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/no/macros.json b/app/javascript/dashboard/i18n/locale/no/macros.json index b5b1e663e..8ff0ac6ea 100644 --- a/app/javascript/dashboard/i18n/locale/no/macros.json +++ b/app/javascript/dashboard/i18n/locale/no/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Navn", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Handlinger" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/no/mfa.json b/app/javascript/dashboard/i18n/locale/no/mfa.json index b097a4685..f13c9dadd 100644 --- a/app/javascript/dashboard/i18n/locale/no/mfa.json +++ b/app/javascript/dashboard/i18n/locale/no/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/no/report.json b/app/javascript/dashboard/i18n/locale/no/report.json index 9dcfa688b..7595695cd 100644 --- a/app/javascript/dashboard/i18n/locale/no/report.json +++ b/app/javascript/dashboard/i18n/locale/no/report.json @@ -3,7 +3,7 @@ "HEADER": "Samtaler", "LOADING_CHART": "Laster inn diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke mottatt nok data for å generere rapporten, vennligst prøv igjen senere.", - "DOWNLOAD_AGENT_REPORTS": "Last ned agentrapporter", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Laster inn diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke mottatt nok data for å generere rapporten, vennligst prøv igjen senere.", "DOWNLOAD_AGENT_REPORTS": "Last ned agentrapporter", "FILTER_DROPDOWN_LABEL": "Velg agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Søk etter agenter" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Vi har ikke mottatt nok data for å generere rapporten, vennligst prøv igjen senere.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Laster inn diagramdata...", "NO_ENOUGH_DATA": "Vi har ikke mottatt nok data for å generere rapporten, vennligst prøv igjen senere.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Søk blant grupper" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Samtaler", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Søk etter agenter", + "INBOXES": "Search inboxes", + "TEAMS": "Søk blant grupper", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Avbryt", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/no/settings.json b/app/javascript/dashboard/i18n/locale/no/settings.json index a1c73b8bb..e246d5abb 100644 --- a/app/javascript/dashboard/i18n/locale/no/settings.json +++ b/app/javascript/dashboard/i18n/locale/no/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Last ned", "UPLOADING": "Laster opp...", - "INSTAGRAM_STORY_UNAVAILABLE": "Denne historien er ikke lenger tilgjengelig." + "INSTAGRAM_STORY_UNAVAILABLE": "Denne historien er ikke lenger tilgjengelig.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funksjoner", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Avbryt" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "Ny konto", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Avbryt" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/no/signup.json b/app/javascript/dashboard/i18n/locale/no/signup.json index 4e941c374..d0d67474b 100644 --- a/app/javascript/dashboard/i18n/locale/no/signup.json +++ b/app/javascript/dashboard/i18n/locale/no/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrer", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/no/sla.json b/app/javascript/dashboard/i18n/locale/no/sla.json index eb912c47c..8f8101127 100644 --- a/app/javascript/dashboard/i18n/locale/no/sla.json +++ b/app/javascript/dashboard/i18n/locale/no/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/no/snooze.json b/app/javascript/dashboard/i18n/locale/no/snooze.json new file mode 100644 index 000000000..90ccbe0da --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/no/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "dag", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "dag" + } +} diff --git a/app/javascript/dashboard/i18n/locale/no/teamsSettings.json b/app/javascript/dashboard/i18n/locale/no/teamsSettings.json index c9d03a904..5234a8cbd 100644 --- a/app/javascript/dashboard/i18n/locale/no/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/no/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Søk blant grupper...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-POST", + "AGENT": "Agent", + "EMAIL": "E-post", "BUTTON_TEXT": "Legg til agenter", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/pl/agentBots.json b/app/javascript/dashboard/i18n/locale/pl/agentBots.json index 6060d7e43..e2cd736f9 100644 --- a/app/javascript/dashboard/i18n/locale/pl/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/pl/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Ładowanie edytora...", "DESCRIPTION": "Boty agentów są jak najbardziej fantastyczni członkowie Twojego zespołu. Mogą zajmować się drobnymi sprawami, dzięki czemu Ty możesz skupić się na tym, co naprawdę ważne. Wypróbuj je! Możesz zarządzać swoimi botami z tej strony lub tworzyć nowe za pomocą przycisku 'Dodaj bota'.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Pobieranie botów...", "TABLE_HEADER": { "DETAILS": "Szczegóły bota", - "URL": "Adres URL webhooka" + "URL": "Adres URL webhooka", + "ACTIONS": "Akcje" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pl/agentMgmt.json b/app/javascript/dashboard/i18n/locale/pl/agentMgmt.json index c4573928e..4d27494ca 100644 --- a/app/javascript/dashboard/i18n/locale/pl/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Nie ma agentów powiązanych z tym kontem", "TITLE": "Zarządzaj agentami w zespole", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nie można połączyć się z serwerem Woot, proszę spróbować później" } }, + "SEARCH_PLACEHOLDER": "Szukaj agentów...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nie znaleziono wyników." }, diff --git a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json index 74b127a23..c6fefcfdd 100644 --- a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Pobieranie atrybutów niestandardowych", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Wyszukaj atrybuty...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Rozmowa", "CONTACT": "Kontakt" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Włącz walidację regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/pl/automation.json b/app/javascript/dashboard/i18n/locale/pl/automation.json index 63bcba5fd..b953f738d 100644 --- a/app/javascript/dashboard/i18n/locale/pl/automation.json +++ b/app/javascript/dashboard/i18n/locale/pl/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatyzacja", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Dodaj regułę automatyzacji", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Pobieranie reguł automatyzacji", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Dodaj regułę automatyzacji", "SUBMIT": "Stwórz", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Imię", - "DESCRIPTION": "Opis", "ACTIVE": "Aktywne", - "CREATED_ON": "Utworzona dnia" + "CREATED_ON": "Utworzona dnia", + "ACTIONS": "Akcje" }, "404": "Nie znaleziono reguł automatyzacji" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Zmień priorytet", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Otwórz rozmowę" + "OPEN_CONVERSATION": "Otwórz rozmowę", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/pl/bulkActions.json b/app/javascript/dashboard/i18n/locale/pl/bulkActions.json index dc20e5fd7..5a6da3513 100644 --- a/app/javascript/dashboard/i18n/locale/pl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pl/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Status rozmowy został pomyślnie zaktualizowany.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Brak wyników", diff --git a/app/javascript/dashboard/i18n/locale/pl/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/pl/cannedMgmt.json index 80abbd726..3db8ce741 100644 --- a/app/javascript/dashboard/i18n/locale/pl/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Przygotowane odpowiedzi", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Brak wyników pasujących do wyszukiwania.", "LIST": { "404": "Brak dostępnych Gotowych odpowiedzi na tym koncie.", diff --git a/app/javascript/dashboard/i18n/locale/pl/chatlist.json b/app/javascript/dashboard/i18n/locale/pl/chatlist.json index eb1f040e6..7f37c06e8 100644 --- a/app/javascript/dashboard/i18n/locale/pl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pl/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json index 110e17ce0..cd772f762 100644 --- a/app/javascript/dashboard/i18n/locale/pl/contact.json +++ b/app/javascript/dashboard/i18n/locale/pl/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Brak kontaktów pasujących do wyszukiwania 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Przypisz etykiety", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Do:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Temat :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json index 62b4a1065..f74a8b492 100644 --- a/app/javascript/dashboard/i18n/locale/pl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Wiadomość usunięta pomyślnie", "FAIL_DELETE_MESSSAGE": "Nie można usunąć wiadomości! Spróbuj ponownie", "NO_RESPONSE": "Brak odpowiedzi", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nie można przypisać etykiety. Spróbuj ponownie." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Przypisano zespół \"{team}\" do konwersacji o identyfikatorze {conversationId}", "FAILED": "Nie można przypisać zespołu. Spróbuj ponownie." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Wyłącz podpis", "MSG_INPUT": "Shift + enter dla nowej linii. Zacznij od '/' aby wybrać Gotową odpowiedź.", "PRIVATE_MSG_INPUT": "Shift + enter dla nowej linii. Będzie widoczne tylko dla agentów", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Podpis wiadomości nie jest skonfigurowany, należy go skonfigurować w ustawieniach profilu.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Kliknij tutaj, aby zaktualizować", "WHATSAPP_TEMPLATES": "Szablony WhatsApp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Przeciągnij i upuść tutaj, aby dołączyć", "START_AUDIO_RECORDING": "Rozpocznij nagrywanie audio", "STOP_AUDIO_RECORDING": "Zatrzymaj nagrywanie audio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "DO", "ADD_BCC": "Dodaj Bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Plik przekracza limit rozmiaru załącznika %{MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nie można wysłać tej wiadomości, spróbuj ponownie później", "SENT_BY": "Wysłane przez:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nie można wysłać wiadomości! Spróbuj ponownie", "TRY_AGAIN": "spróbuj ponownie", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Anuluj", "SEND_EMAIL_SUCCESS": "Transkrypt rozmowy został pomyślnie wysłany", "SEND_EMAIL_ERROR": "Wystąpił błąd, spróbuj ponownie", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Wyślij transkrypt do klienta", "SEND_TO_AGENT": "Wyślij transkrypt do przypisanego agenta", diff --git a/app/javascript/dashboard/i18n/locale/pl/customRole.json b/app/javascript/dashboard/i18n/locale/pl/customRole.json index 3514e09fc..041af0367 100644 --- a/app/javascript/dashboard/i18n/locale/pl/customRole.json +++ b/app/javascript/dashboard/i18n/locale/pl/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Brak wyników pasujących do wyszukiwania.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/pl/datePicker.json b/app/javascript/dashboard/i18n/locale/pl/datePicker.json index 6a3ca9491..60161ce95 100644 --- a/app/javascript/dashboard/i18n/locale/pl/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/pl/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Zastosuj", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Ostatnie 3 miesiące", "LAST_6_MONTHS": "Ostatnie 6 miesięcy", "LAST_YEAR": "Ostatni rok", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Niestandardowy zakres dat" } } diff --git a/app/javascript/dashboard/i18n/locale/pl/general.json b/app/javascript/dashboard/i18n/locale/pl/general.json index 9a0d9b7b6..e3657bf9c 100644 --- a/app/javascript/dashboard/i18n/locale/pl/general.json +++ b/app/javascript/dashboard/i18n/locale/pl/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Zamknij", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Tak", + "NO": "Nie" } } diff --git a/app/javascript/dashboard/i18n/locale/pl/generalSettings.json b/app/javascript/dashboard/i18n/locale/pl/generalSettings.json index 3798b6f7b..e47ea01db 100644 --- a/app/javascript/dashboard/i18n/locale/pl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pl/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Szukaj lub przejdź do", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Ogólne", "REPORTS": "Raporty", diff --git a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json index e1f2ce056..46884b314 100644 --- a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Błąd podczas usuwania artykułu" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Proszę dodać tytuł i treść artykułu, aby móc zaktualizować ustawienia" }, diff --git a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json index c30424272..6fd07a8ec 100644 --- a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Zarządzanie skrzynkami", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Zapisz" } @@ -589,8 +592,10 @@ "DISABLED": "Wyłączone" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Włączone", - "DISABLED": "Wyłączone" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Włącz" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Włącz ciągłość rozmowy przez e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Rozmowy będą kontynuowane przez e-mail, jeśli adres e-mail kontaktu jest dostępny.", - "LOCK_TO_SINGLE_CONVERSATION": "Blokada do pojedynczej rozmowy", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Włączanie lub wyłączanie wielu wątków dla tego samego kontaktu w tej skrzynce odbiorczej", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Ustawienia skrzynki odbiorczej", "INBOX_UPDATE_SUB_TEXT": "Zaktualizuj ustawienia skrzynki odbiorczej", "AUTO_ASSIGNMENT_SUB_TEXT": "Włącz lub wyłącz automatyczne przypisywanie nowych rozmów do agentów dodanych do tej skrzynki odbiorczej.", @@ -758,6 +765,7 @@ "LABEL": "Centrum pomocy", "PLACEHOLDER": "Wybierz Centrum pomocy", "SELECT_PLACEHOLDER": "Wybierz Centrum pomocy", + "NONE": "Brak", "REMOVE": "Usuń Centrum pomocy", "SUB_TEXT": "Dołącz Centrum pomocy do skrzynki odbiorczej" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Wprowadź wartość większą niż 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Ogranicz maksymalną liczbę wątków z tej skrzynki odbiorczej, które mogą zostać automatycznie przypisane do agenta" }, + "ASSIGNMENT": { + "TITLE": "Zadanie konwersacji", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktywne", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Anuluj", + "CONFIRM_DELETE": "Usuń", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Ponowna autoryzacja", "SUBTITLE": "Twoje połączenie z Facebookiem wygasło, połącz się z nim ponownie, aby kontynuować świadczenie usług", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Powróć" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Wiadomość niedostępna dla odwiedzających", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Dzień", + "AVAILABILITY": "Dostępność", + "HOURS": "Hours", "ENABLE": "Włącz dostępność w tym dniu", "UNAVAILABLE": "Niedostępny", - "HOURS": "godzin", "VALIDATION_ERROR": "Czas rozpoczęcia powinien być przed czasem zakończenia.", "CHOOSE": "Wybierz" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "W ciągu dnia" }, "WIDGET_COLOR_LABEL": "Kolor widżetu", - "WIDGET_BUBBLE_POSITION_LABEL": "Pozycja bąbelka widgetu", - "WIDGET_BUBBLE_TYPE_LABEL": "Typ bąbelka widgetu", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Typ:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Porozmawiaj z nami", - "LABEL": "Tytuł programu uruchamiającego bąbelki widżetów", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Porozmawiaj z nami" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Domyślny", - "CHAT": "Czat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Zwykle odpowiadamy w ciągu paru minut", diff --git a/app/javascript/dashboard/i18n/locale/pl/integrationApps.json b/app/javascript/dashboard/i18n/locale/pl/integrationApps.json index 863ad8274..09432ca15 100644 --- a/app/javascript/dashboard/i18n/locale/pl/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/pl/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Pobieranie integracji", "NO_HOOK_CONFIGURED": "W tym koncie nie skonfigurowano integracji {integrationId}.", "HEADER": "Aplikacje", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Włączone", "DISABLED": "Wyłączone" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Pobieranie hooków integracyjnych", "INBOX": "Skrzynka odbiorcza", + "ACTIONS": "Akcje", "DELETE": { "BUTTON_TEXT": "Usuń" } diff --git a/app/javascript/dashboard/i18n/locale/pl/integrations.json b/app/javascript/dashboard/i18n/locale/pl/integrations.json index d5fe93b75..ef33baaec 100644 --- a/app/javascript/dashboard/i18n/locale/pl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pl/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subskrybowane wydarzenia", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Anuluj", "DESC": "Webhooki dostarczają informacje o tym, co dzieje się w Twoim koncie Chatwoot. Wprowadź poprawny adres URL, aby skonfigurować webhook.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Usuń", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesjonalna", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Przyjazna" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplikacje na pulpicie

Aplikacje na pulpicie umożliwiają organizacjom osadzenie aplikacji wewnątrz panelu Chatwoot w celu dostarczenia kontekstu dla agentów obsługi klienta. Ta funkcja umożliwia tworzenie niezależnej aplikacji i osadzanie jej w celu dostarczania informacji o użytkowniku, jego zamówieniach lub historii płatności.

Kiedy osadzisz swoją aplikację za pomocą pulpitu Chatwoot, Twoja aplikacja otrzyma kontekst rozmowy i kontaktu jako zdarzenie okna. W swojej stronie zaimplementuj nasłuchiwanie zdarzenia wiadomości, aby otrzymać kontekst.

Aby dodać nową aplikację na pulpicie, kliknij przycisk 'Dodaj nową aplikację na pulpicie'.

", "DESCRIPTION": "Aplikacje na pulpicie umożliwiają organizacjom osadzenie aplikacji wewnątrz panelu w celu dostarczenia kontekstu dla agentów obsługi klienta. Ta funkcja umożliwia tworzenie niezależnej aplikacji i osadzanie jej w celu dostarczania informacji o użytkowniku, jego zamówieniach lub historii płatności.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Na tym koncie nie skonfigurowano jeszcze aplikacji na pulpicie", "LOADING": "Pobieranie aplikacji na pulpicie...", "TABLE_HEADER": { "NAME": "Imię", - "ENDPOINT": "Punkt końcowy" + "ENDPOINT": "Punkt końcowy", + "ACTIONS": "Akcje" }, "EDIT_TOOLTIP": "Edytuj aplikację", "DELETE_TOOLTIP": "Usuń aplikację" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/pl/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/pl/labelsMgmt.json index 2bc9ed53c..64ecf52de 100644 --- a/app/javascript/dashboard/i18n/locale/pl/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Pobieranie etykiet", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Szukaj etykiet...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Brak elementów pasujących do tego zapytania", "LIST": { "404": "Brak etykiet na tym koncie.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Imię", "DESCRIPTION": "Opis", - "COLOR": "Kolor" + "COLOR": "Kolor", + "ACTION": "Akcje" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/pl/macros.json b/app/javascript/dashboard/i18n/locale/pl/macros.json index dab2bcea1..38dc1c920 100644 --- a/app/javascript/dashboard/i18n/locale/pl/macros.json +++ b/app/javascript/dashboard/i18n/locale/pl/macros.json @@ -3,9 +3,12 @@ "HEADER": "Makra", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Dodaj nowe makro", "HEADER_BTN_TXT_SAVE": "Zapisz makro", "LOADING": "Pobieranie makr", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Wystąpił błąd. Spróbuj ponownie", "ORDER_INFO": "Makra będą uruchamiane w kolejności, w jakiej dodajesz czynności. Możesz zmieniać ich kolejność, przeciągając je za uchwyt obok każdego węzła.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Imię", "CREATED BY": "Utworzone przez", "LAST_UPDATED_BY": "Ostatnio zaktualizowane przez", - "VISIBILITY": "Widoczność" + "VISIBILITY": "Widoczność", + "ACTIONS": "Akcje" }, "404": "Nie znaleziono makr" }, diff --git a/app/javascript/dashboard/i18n/locale/pl/mfa.json b/app/javascript/dashboard/i18n/locale/pl/mfa.json index 3c3738b00..b44d1c883 100644 --- a/app/javascript/dashboard/i18n/locale/pl/mfa.json +++ b/app/javascript/dashboard/i18n/locale/pl/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/pl/report.json b/app/javascript/dashboard/i18n/locale/pl/report.json index 9a82f5b8b..8304ab2e5 100644 --- a/app/javascript/dashboard/i18n/locale/pl/report.json +++ b/app/javascript/dashboard/i18n/locale/pl/report.json @@ -3,7 +3,7 @@ "HEADER": "Raporty rozmów", "LOADING_CHART": "Ładowanie danych wykresów...", "NO_ENOUGH_DATA": "Nie ma wystarczającej ilości danych do wygenerowania raportu. Spróbuj ponownie później.", - "DOWNLOAD_AGENT_REPORTS": "Pobierz raporty agenta", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Nie udało się pobrać danych, spróbuj ponownie później.", "SUMMARY_FETCHING_FAILED": "Nie udało się pobrać podsumowania, spróbuj ponownie później.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Przegląd agentów", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Ładowanie danych wykresów...", "NO_ENOUGH_DATA": "Nie ma wystarczającej ilości danych do wygenerowania raportu. Spróbuj ponownie później.", "DOWNLOAD_AGENT_REPORTS": "Pobierz raporty agenta", "FILTER_DROPDOWN_LABEL": "Wybierz agenta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Szukaj agentów" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozmowy", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Nie ma wystarczającej ilości danych do wygenerowania raportu. Spróbuj ponownie później.", "DOWNLOAD_LABEL_REPORTS": "Pobierz raporty etykiety", "FILTER_DROPDOWN_LABEL": "Wybierz etykietę", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Szukaj etykiet" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozmowy", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Wybierz skrzynkę odbiorczą", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozmowy", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Przegląd zespołu", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Ładowanie danych wykresów...", "NO_ENOUGH_DATA": "Nie ma wystarczającej ilości danych do wygenerowania raportu. Spróbuj ponownie później.", "DOWNLOAD_TEAM_REPORTS": "Pobierz raporty zespołu", "FILTER_DROPDOWN_LABEL": "Wybierz zespół", + "FILTERS": { + "ADD_FILTER": "Dodaj filtr", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Szukaj zespołów" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozmowy", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Raporty CSAT", - "NO_RECORDS": "Brak dostępnych odpowiedzi w ankiecie CSAT.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Pobierz raporty CSAT", "DOWNLOAD_FAILED": "Nie udało się pobrać raportów CSAT", "FILTERS": { + "ADD_FILTER": "Dodaj filtr", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Szukaj agentów", + "INBOXES": "Search inboxes", + "TEAMS": "Szukaj zespołów", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Wybierz agentów" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Skrzynka odbiorcza" + }, + "TEAMS": { + "LABEL": "Zespół" + }, + "RATINGS": { + "LABEL": "Ocena" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontakt", - "AGENT_NAME": "Przypisany agent", + "AGENT_NAME": "Agent", "RATING": "Ocena", - "FEEDBACK_TEXT": "Tekst opinii" - } + "FEEDBACK_TEXT": "Tekst opinii", + "CONVERSATION": "Rozmowa", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Łącznie odpowiedzi", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Wskaźnik odpowiedzi", "TOOLTIP": "Wskaźnik odpowiedzi: (Całkowita liczba odpowiedzi / Całkowita liczba wysłanych ankiet CSAT) * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Zapisz", + "CANCEL": "Anuluj", + "SAVING": "Zapisywanie...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index fddff538b..42e1ad81c 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Pobierz", "UPLOADING": "Przesyłanie...", - "INSTAGRAM_STORY_UNAVAILABLE": "Ta historia nie jest już dostępna." + "INSTAGRAM_STORY_UNAVAILABLE": "Ta historia nie jest już dostępna.", + "INSTAGRAM_STORY_REPLY": "Odpowiedziałeś na swoją historię:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Zobacz na mapie" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Czytaj dokumentację", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funkcje", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Rozliczenia", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Wyszukaj atrybuty" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Zamknij rozmowę", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Zamknij rozmowę", + "CANCEL": "Anuluj" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Tak", + "NO": "Nie" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ups! Nie znaleziono żadnych kont Chatwoot. Aby kontynuować, utwórz nowe konto.", "NEW_ACCOUNT": "Nowe konto", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Anuluj" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/pl/signup.json b/app/javascript/dashboard/i18n/locale/pl/signup.json index e14216283..5548df85d 100644 --- a/app/javascript/dashboard/i18n/locale/pl/signup.json +++ b/app/javascript/dashboard/i18n/locale/pl/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Utwórz konto", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Rejestracja", "TESTIMONIAL_HEADER": "Wszystko czego potrzebujesz to jeden krok do przodu", "TESTIMONIAL_CONTENT": "Jesteś tylko jeden krok od zaangażowania swoich klientów, zatrzymania ich i znalezienia nowych.", diff --git a/app/javascript/dashboard/i18n/locale/pl/sla.json b/app/javascript/dashboard/i18n/locale/pl/sla.json index 7870322e0..3a279fe3a 100644 --- a/app/javascript/dashboard/i18n/locale/pl/sla.json +++ b/app/javascript/dashboard/i18n/locale/pl/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/pl/snooze.json b/app/javascript/dashboard/i18n/locale/pl/snooze.json new file mode 100644 index 000000000..b8cfa436a --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/pl/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "godzin", + "DAY": "dnia", + "DAYS": "days", + "WEEK": "day", + "WEEKS": "weeks", + "MONTH": "week", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "jutro", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "następny tydzień", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "day", + "DAY": "dnia" + } +} diff --git a/app/javascript/dashboard/i18n/locale/pl/teamsSettings.json b/app/javascript/dashboard/i18n/locale/pl/teamsSettings.json index 41132aa79..10127a363 100644 --- a/app/javascript/dashboard/i18n/locale/pl/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/pl/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Szukaj zespołów...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Na tym koncie nie ma żadnych zespołów.", "EDIT_TEAM": "Edytuj zespół", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nie udało się zapisać szczegółów zespołu. Spróbuj ponownie." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "E-mail", "BUTTON_TEXT": "Dodaj agentów", "ADD_AGENTS": "Dodaj agenta do swojego zespołu...", "SELECT": "wybierz", diff --git a/app/javascript/dashboard/i18n/locale/pt/agentBots.json b/app/javascript/dashboard/i18n/locale/pt/agentBots.json index e2feb9296..b6aab197c 100644 --- a/app/javascript/dashboard/i18n/locale/pt/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/pt/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "A carregar editor...", "DESCRIPTION": "Os Agentes Bots são como os membros mais fabulosos da sua equipa. Tratam das pequenas coisas, para que se possa concentrar no que realmente importa. Experimente. Pode gerir os seus bots nesta página ou criar novos, utilizando o botão \"Adicionar Bot\".", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "Bot do sistema", "GLOBAL_BOT_BADGE": "Sistema", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "A carregar bots...", "TABLE_HEADER": { "DETAILS": "Detalhes do bot", - "URL": "URL do Webhook" + "URL": "URL do Webhook", + "ACTIONS": "Ações" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pt/agentMgmt.json b/app/javascript/dashboard/i18n/locale/pt/agentMgmt.json index d9c7c5fff..8960de958 100644 --- a/app/javascript/dashboard/i18n/locale/pt/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrador", "AGENT": "Agente" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Não há agentes associados a esta conta", "TITLE": "Gerir agentes na sua equipa", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Não foi possível conectar ao servidor Woot, por favor, tente novamente mais tarde" } }, + "SEARCH_PLACEHOLDER": "Procurar agentes...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nenhum resultado encontrado." }, diff --git a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json index 242c17440..b08f977e3 100644 --- a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "A obter atributos personalizados", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Pesquisar atributos...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversa", "CONTACT": "Contacto" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Ativar validação de regex" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt/automation.json b/app/javascript/dashboard/i18n/locale/pt/automation.json index b97cf76cc..d4560a440 100644 --- a/app/javascript/dashboard/i18n/locale/pt/automation.json +++ b/app/javascript/dashboard/i18n/locale/pt/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatização", "DESCRIPTION": "A automação pode substituir e racionalizar os processos existentes que requerem esforço manual, como a adição de etiquetas e a atribuição de conversas ao agente mais adequado. Isto permite que a equipa se foque em tarefas maiores, reduzindo o tempo gasto em tarefas rotineiras.", "LEARN_MORE": "Saber mais sobre automação", - "HEADER_BTN_TXT": "Adicionar regra de automação", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "A procurar regras de automação", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Adicionar regra de automação", "SUBMIT": "Criar", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nome:", - "DESCRIPTION": "Descrição", "ACTIVE": "Ativa", - "CREATED_ON": "Criado em" + "CREATED_ON": "Criado em", + "ACTIONS": "Ações" }, "404": "Nenhuma regra de automação encontrada" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Adicionar uma Nota Privada", "CHANGE_PRIORITY": "Alterar prioridade", "ADD_SLA": "Adicionar SLA", - "OPEN_CONVERSATION": "Abrir conversa" + "OPEN_CONVERSATION": "Abrir conversa", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/pt/bulkActions.json b/app/javascript/dashboard/i18n/locale/pt/bulkActions.json index dc587fc41..41aeafa27 100644 --- a/app/javascript/dashboard/i18n/locale/pt/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pt/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Estado da conversa atualizado com sucesso.", "UPDATE_FAILED": "Falha ao atualizar conversas. Por favor, tente novamente." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Atribuir etiquetas", "NO_LABELS_FOUND": "Nenhuma etiqueta encontrada", diff --git a/app/javascript/dashboard/i18n/locale/pt/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/pt/cannedMgmt.json index 78f63bc9d..d42eb7bc9 100644 --- a/app/javascript/dashboard/i18n/locale/pt/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Respostas prontas", "LEARN_MORE": "Saber mais sobre respostas prontas", "DESCRIPTION": "Respostas prontas são modelos de resposta pré-escritos que o ajudam a responder rapidamente a uma conversa. Os agentes podem inserir o caractere '/' seguido do código curto para inserir uma resposta pronta durante uma conversa. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Adicionar resposta pronta", "LOADING": "A obter respostas prontas...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Não há itens correspondentes a esta consulta.", "LIST": { "404": "Não há respostas prontas disponíveis nesta conta.", diff --git a/app/javascript/dashboard/i18n/locale/pt/chatlist.json b/app/javascript/dashboard/i18n/locale/pt/chatlist.json index ae730b3a8..055cdddb3 100644 --- a/app/javascript/dashboard/i18n/locale/pt/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Resposta pendente: Mais curta primeiro" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json index 3da11e755..4b171b530 100644 --- a/app/javascript/dashboard/i18n/locale/pt/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Nenhum contacto corresponde à sua pesquisa 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "Neste momento não há contactos ativos 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuir etiquetas", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Para:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Assunto :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json index 2846cfec8..a48bfd83f 100644 --- a/app/javascript/dashboard/i18n/locale/pt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Esta mensagem não é suportada. Pode ver esta mensagem na app Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Esta mensagem não é suportada. Pode ver esta mensagem na app do Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Mensagem apagada com sucesso", "FAIL_DELETE_MESSSAGE": "Não foi possível apagar a mensagem! Por favor, tente novamente", "NO_RESPONSE": "Sem resposta", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Não foi possível atribuir etiqueta. Por favor, tente novamente." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Equipa \"{team}\" atribuída a conversa de ID {conversationId}", "FAILED": "Não foi possível atribuir equipa. Por favor, tente novamente." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Desativar assinatura", "MSG_INPUT": "Shift + Enter para nova linha. Comece com '/' para selecionar uma resposta pronta.", "PRIVATE_MSG_INPUT": "Shift + Enter para nova linha. Esta mensagem apenas será visível para agentes", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "A assinatura da mensagem não está configurada. Por favor, configure-a nas configurações do perfil.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Clique aqui para atualizar", "WHATSAPP_TEMPLATES": "Template do WhatsApp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Arrastar e soltar aqui para anexar", "START_AUDIO_RECORDING": "Iniciar gravação de áudio", "STOP_AUDIO_RECORDING": "Parar gravação de áudio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "PARA", "ADD_BCC": "Adicionar Bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversa apagada", "FAIL_DELETE_CONVERSATION": "Não foi possível apagar a conversa! Tente novamente", "FILE_SIZE_LIMIT": "O ficheiro excede o tamanho limite para anexos de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Não foi possível enviar esta mensagem, por favor, tente novamente mais tarde", "SENT_BY": "Enviado por:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Não foi possível enviar a mensagem! Tente novamente", "TRY_AGAIN": "Tentar novamente", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancelar", "SEND_EMAIL_SUCCESS": "A transcrição da conversa foi enviada com sucesso", "SEND_EMAIL_ERROR": "Ocorreu um erro, por favor, tente novamente", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Enviar a transcrição ao cliente", "SEND_TO_AGENT": "Enviar a transcrição para o agente atribuído", diff --git a/app/javascript/dashboard/i18n/locale/pt/customRole.json b/app/javascript/dashboard/i18n/locale/pt/customRole.json index e8dbf535f..02e81fc3e 100644 --- a/app/javascript/dashboard/i18n/locale/pt/customRole.json +++ b/app/javascript/dashboard/i18n/locale/pt/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Funções personalizadas", "LEARN_MORE": "Aprenda mais sobre funções personalizadas", "DESCRIPTION": "Funções personalizadas são funções criadas pelo proprietário ou administrador da conta. Essas funções podem ser atribuídas a agentes para definir seu acesso e permissões dentro da conta. Funções personalizadas podem ser criadas com permissões e níveis de acesso específicos para atender aos requisitos da organização.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Adicionar função personalizada", "LOADING": "Buscando funções personalizadas...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Não há itens correspondentes a esta consulta.", "PAYWALL": { "TITLE": "Atualize para criar funções personalizadas", diff --git a/app/javascript/dashboard/i18n/locale/pt/datePicker.json b/app/javascript/dashboard/i18n/locale/pt/datePicker.json index f193922f4..582984b4c 100644 --- a/app/javascript/dashboard/i18n/locale/pt/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/pt/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Confirmar", "CLEAR_BUTTON": "Limpar", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Últimos 3 meses", "LAST_6_MONTHS": "Últimos 6 meses", "LAST_YEAR": "Último ano", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Intervalo de tempo personalizado" } } diff --git a/app/javascript/dashboard/i18n/locale/pt/general.json b/app/javascript/dashboard/i18n/locale/pt/general.json index e75cad80f..5e5e293bd 100644 --- a/app/javascript/dashboard/i18n/locale/pt/general.json +++ b/app/javascript/dashboard/i18n/locale/pt/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Fechar", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Aceitar", + "DISCARD": "Discard", + "PREFERRED": "Preferido" + }, + "CHOICE_TOGGLE": { + "YES": "Sim", + "NO": "Não" } } diff --git a/app/javascript/dashboard/i18n/locale/pt/generalSettings.json b/app/javascript/dashboard/i18n/locale/pt/generalSettings.json index b7b27c15a..24e9ced0d 100644 --- a/app/javascript/dashboard/i18n/locale/pt/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Pesquisar ou passar para", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Geral", "REPORTS": "Relatórios", diff --git a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json index 1413196f2..c723d178f 100644 --- a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Erro ao excluir artigo" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Adicione o título do artigo e o conteúdo em seguida, posteriomente as configurações apenas serão editáveis por si" }, diff --git a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json index e31d85eee..f52af9ce8 100644 --- a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Caixas de Entrada", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "A sua caixa de entrada está desconectada. Não serão recebidas novas mensagens até nova autorização.", "CLICK_TO_RECONNECT": "Clique aqui para reconectar.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Usar apenas o nome da empresa como nome do remetente no cabeçalho do e-mail." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure o nome da sua empresa", + "BUTTON_TEXT": "Configure o nome da sua empresa", "PLACEHOLDER": "Insira o nome da sua empresa", "SAVE_BUTTON_TEXT": "Guardar" } @@ -589,8 +592,10 @@ "DISABLED": "Desativado" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Ativado", - "DISABLED": "Desativado" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Ativar" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Ativar/Desativar exibição do nome do agente no e-mail. Se estiver desativado, exibirá o nome da empresa", "ENABLE_CONTINUITY_VIA_EMAIL": "Ativar continuidade das conversas por e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "As conversas irão continuar por e-mail se o endereço de e-mail do contacto estiver disponível.", - "LOCK_TO_SINGLE_CONVERSATION": "Bloquear conversa única", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Ativar ou desativar múltiplas conversas para o mesmo contacto nesta caixa de entrada", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Configurações da caixa de entrada", "INBOX_UPDATE_SUB_TEXT": "Atualize as suas configurações da caixa de entrada", "AUTO_ASSIGNMENT_SUB_TEXT": "Ativar ou desativar a atribuição automática de novas conversas aos agentes adicionados a essa caixa de entrada.", @@ -758,6 +765,7 @@ "LABEL": "Centro de suporte", "PLACEHOLDER": "Selecione centro de suporte", "SELECT_PLACEHOLDER": "Selecione centro de suporte", + "NONE": "Nenhuma", "REMOVE": "Remover centro de suporte", "SUB_TEXT": "Associe um centro de suporte à caixa de entrada" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Por favor, insira um valor maior que 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limitar o número máximo de conversas desta caixa de entrada que pode ser atribuído automaticamente a um agente" }, + "ASSIGNMENT": { + "TITLE": "Atribuição da conversa", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Ativa", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancelar", + "CONFIRM_DELETE": "Excluir", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", "SUBTITLE": "A sua conexão ao Facebook expirou, por favor, reconecte a página para poder continuar a utilizar os serviços", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Voltar" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Regra do inquérito", "DESCRIPTION_PREFIX": "Enviar o inquérito se a conversa", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "selecionar etiquetas" }, "NOTE": "Nota: Os inquéritos CSAT são enviados apenas uma vez por conversa", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "Definições de CSAT atualizadas com sucesso", "ERROR_MESSAGE": "Não foi possível atualizar as definições de CSAT. Por favor, tente novamente mais tarde." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Mensagem indisponível para os visitantes", "TOGGLE_HELP": "Permitir a disponibilidade de negócios mostrará as horas disponíveis no widget de live-chat, mesmo que todos os agentes estejam offline. Em caso de contactos fora do horário disponível, os clientes podem ser avisados com uma mensagem e um formulário de pré-chat.", "DAY": { + "DAY": "Dia", + "AVAILABILITY": "Disponibilidade", + "HOURS": "Horas", "ENABLE": "Ativar a disponibilidade para este dia", "UNAVAILABLE": "Indisponível", - "HOURS": "horas", "VALIDATION_ERROR": "A hora de abertura deve ser anterior à hora de encerramento.", "CHOOSE": "Escolher" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Dentro de um dia" }, "WIDGET_COLOR_LABEL": "Cor do widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posição do balão de widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Tipo de balão de widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipo:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Fale connosco", - "LABEL": "Título do inicializador do balão de widget", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Fale connosco" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Padrão", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Normalmente respondemos em poucos minutos", diff --git a/app/javascript/dashboard/i18n/locale/pt/integrationApps.json b/app/javascript/dashboard/i18n/locale/pt/integrationApps.json index 4d1d90717..64f22381b 100644 --- a/app/javascript/dashboard/i18n/locale/pt/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/pt/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "A procurar integrações", "NO_HOOK_CONFIGURED": "Não há integrações {integrationId} configuradas nesta conta.", "HEADER": "Aplicações", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Ativado", "DISABLED": "Desativado" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "A procurar hooks de integração", "INBOX": "Caixa de entrada", + "ACTIONS": "Ações", "DELETE": { "BUTTON_TEXT": "Excluir" } diff --git a/app/javascript/dashboard/i18n/locale/pt/integrations.json b/app/javascript/dashboard/i18n/locale/pt/integrations.json index 59aea1d3b..ef4a96329 100644 --- a/app/javascript/dashboard/i18n/locale/pt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "O Chatwoot integra-se com várias ferramentas e serviços para melhorar a eficiência da sua equipa. Explore a lista abaixo para configurar as suas aplicações favoritas. ", "LEARN_MORE": "Saber mais sobre integrações", "LOADING": "A procurar integrações", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Capitão não está ativo na sua conta.", "CLICK_HERE_TO_CONFIGURE": "Clique aqui para configurar", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Eventos subscritos", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancelar", "DESC": "Os eventos Webhook fornecem informações em tempo real sobre o que está a acontecer na sua conta Chatwoot. Por favor, insira um URL válido para configurar uma chamada de retorno.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Excluir", "DELETE_CONFIRMATION": { "TITLE": "Excluir a integração", @@ -145,7 +160,29 @@ "EXPAND": "Expandir", "MAKE_FRIENDLY": "Alterar o tom de mensagem para amigável", "MAKE_FORMAL": "Usar tom formal", - "SIMPLIFY": "Simplificar" + "SIMPLIFY": "Simplificar", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profissional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Amigável" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Conteúdo do rascunho", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Apps de dashboard

Apps de dashboard permitem que as organizações incorporem uma aplicação dentro do dashboard do Chatwoot para fornecer o contexto aos agentes de suporte ao cliente. Este recurso permite-lhe criar uma aplicação independente e incorporá-la dentro do dashboard para fornecer informações de utilizador, os seus pedidos ou o seu histórico de pagamentos.

Quando a sua aplicação é incorporada usando o dashboard do Chatwoot, a sua aplicação irá obter o contexto da conversa e do contato como um evento de janela. Implemente um listener para o evento de mensagem na sua página para receber o contexto.

Para adicionar uma nova app ao dashboard, clique no botão 'Adicionar nova app ao dashboard'.

", "DESCRIPTION": "Apps de dashboard permitem que as organizações incorporem um aplicação dentro do dashboard do Chatwoot para fornecer o contexto aos agentes de suporte ao cliente. Este recurso permite-lhe criar uma aplicação independente e incorporá-la dentro do dashboard para fornecer informações de utilizador, os seus pedidos ou o seu histórico de pagamentos.", "LEARN_MORE": "Saber mais sobre apps de dashboard", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Não há apps de dashboard configuradas nesta conta.", "LOADING": "A obter apps de dashboard...", "TABLE_HEADER": { "NAME": "Nome:", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Ações" }, "EDIT_TOOLTIP": "Editar app", "DELETE_TOOLTIP": "Apagar app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Criar/Vincular problema linear", "LOADING": "A procurar problemas lineares...", "LOADING_ERROR": "Houve um erro ao procurar problemas lineares, por favor, tente novamente", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Noção", "DELETE": { "TITLE": "Tem a certeza que pretende apagar a integração Notion?", "MESSAGE": "Apagar esta integração removerá o acesso ao seu workspace Notion e encerrará todas as funcionalidades relacionadas.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Pode alterar ou cancelar o plano a qualquer momento" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Por favor, entre em contato com o administrador para atualização." }, diff --git a/app/javascript/dashboard/i18n/locale/pt/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/pt/labelsMgmt.json index 3a7df368d..8bbb99538 100644 --- a/app/javascript/dashboard/i18n/locale/pt/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "A procurar etiquetas", "DESCRIPTION": "As etiquetas ajudam-no a categorizar e priorizar conversas e leads. Pode atribuir uma etiqueta a uma conversa ou entrar em contacto usando o painel lateral.", "LEARN_MORE": "Saber mais sobre etiquetas", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Procurar etiquetas...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Não existem itens correspondentes à sua pesquisa", "LIST": { "404": "Não há etiquetas disponíveis nesta conta.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nome:", "DESCRIPTION": "Descrição", - "COLOR": "Cor" + "COLOR": "Cor", + "ACTION": "Ações" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/pt/macros.json b/app/javascript/dashboard/i18n/locale/pt/macros.json index 95c132fe7..2676b53d0 100644 --- a/app/javascript/dashboard/i18n/locale/pt/macros.json +++ b/app/javascript/dashboard/i18n/locale/pt/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "Uma macro é um conjunto de ações guardadas que ajudam os agentes de apoio ao cliente a completarem tarefas facilmente. Os agentes podem definir um conjunto de ações, como adicionar uma etiqueta a uma conversa, enviar uma transcrição de e-mail, atualizar um atributo personalizado, etc., e, posteriormente, executarem essas ações com um único clique.", "LEARN_MORE": "Saber mais sobre macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Adicionar nova macro", "HEADER_BTN_TXT_SAVE": "Guardar macro", "LOADING": "A procurar macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Ocorreu um erro! Por favor, tente novamente", "ORDER_INFO": "As macros serão executadas pela ordem em que adicionar as suas ações. Pode reorganizá-las arrastando-as pelo identificador ao lado de cada nó.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nome:", "CREATED BY": "Criada por", "LAST_UPDATED_BY": "Ultima atualização por", - "VISIBILITY": "Visibilidade" + "VISIBILITY": "Visibilidade", + "ACTIONS": "Ações" }, "404": "Nenhuma macro encontrada" }, diff --git a/app/javascript/dashboard/i18n/locale/pt/mfa.json b/app/javascript/dashboard/i18n/locale/pt/mfa.json index 2fb38bcdf..f72c7120d 100644 --- a/app/javascript/dashboard/i18n/locale/pt/mfa.json +++ b/app/javascript/dashboard/i18n/locale/pt/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/pt/report.json b/app/javascript/dashboard/i18n/locale/pt/report.json index 43b97d46d..a58b672da 100644 --- a/app/javascript/dashboard/i18n/locale/pt/report.json +++ b/app/javascript/dashboard/i18n/locale/pt/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversas", "LOADING_CHART": "A carregar dados...", "NO_ENOUGH_DATA": "Não recebemos pontos de dados suficientes para gerar o relatório. Por favor, tente novamente mais tarde.", - "DOWNLOAD_AGENT_REPORTS": "Descarregar relatórios de agentes", + "DOWNLOAD_CONVERSATION_REPORTS": "Baixar relatórios de conversas", "DATA_FETCHING_FAILED": "Não foi possível obter dados. Por favor, tente mais tarde.", "SUMMARY_FETCHING_FAILED": "Não foi possível obter o resumo. Por favor, tente mais tarde.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Visão geral de agentes", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "A carregar dados...", "NO_ENOUGH_DATA": "Não recebemos pontos de dados suficientes para gerar o relatório. Por favor, tente novamente mais tarde.", "DOWNLOAD_AGENT_REPORTS": "Descarregar relatórios de agentes", "FILTER_DROPDOWN_LABEL": "Selecionar agente", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Procurar agentes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Não recebemos pontos de dados suficientes para gerar o relatório. Por favor, tente novamente mais tarde.", "DOWNLOAD_LABEL_REPORTS": "Descarregar relatórios de etiquetas", "FILTER_DROPDOWN_LABEL": "Selecionar etiqueta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Procurar etiquetas" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Escolher caixa de entrada", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Visão geral da equipa", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "A carregar dados...", "NO_ENOUGH_DATA": "Não recebemos pontos de dados suficientes para gerar o relatório. Por favor, tente novamente mais tarde.", "DOWNLOAD_TEAM_REPORTS": "Descarregar relatórios de equipa", "FILTER_DROPDOWN_LABEL": "Selecionar equipa", + "FILTERS": { + "ADD_FILTER": "Adicionar filtro", + "CLEAR_ALL": "Limpar tudo", + "NO_FILTER": "Sem filtros disponíveis", + "INPUT_PLACEHOLDER": { + "TEAMS": "Procurar equipas" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Relatórios CSAT", - "NO_RECORDS": "Não há respostas de questionários CSAT disponíveis.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Descarregar relatórios CSAT", "DOWNLOAD_FAILED": "Falha ao descarregar os relatórios CSAT", "FILTERS": { + "ADD_FILTER": "Adicionar filtro", + "CLEAR_ALL": "Limpar tudo", + "NO_FILTER": "Sem filtros disponíveis", + "INPUT_PLACEHOLDER": { + "AGENTS": "Procurar agentes", + "INBOXES": "Search inboxes", + "TEAMS": "Procurar equipas", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Escolher agentes" + "LABEL": "Agente" + }, + "INBOXES": { + "LABEL": "Caixa de entrada" + }, + "TEAMS": { + "LABEL": "Equipa" + }, + "RATINGS": { + "LABEL": "Avaliar" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contacto", - "AGENT_NAME": "Agente atribuído", + "AGENT_NAME": "Agente", "RATING": "Classificação", - "FEEDBACK_TEXT": "Comentário de feedback" - } + "FEEDBACK_TEXT": "Comentário de feedback", + "CONVERSATION": "Conversa", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total de respostas", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Taxa de resposta", "TOOLTIP": "Número total de respostas / Número total de mensagens de questionários CSAT enviadas * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Guardar", + "CANCEL": "Cancelar", + "SAVING": "A guardar...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Fazer upgrade agora", + "CANCEL_ANYTIME": "Pode alterar ou cancelar o plano a qualquer momento" } } }, diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json index 561e95409..34c16c5d4 100644 --- a/app/javascript/dashboard/i18n/locale/pt/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "BAIXAR", "UPLOADING": "A carregar...", - "INSTAGRAM_STORY_UNAVAILABLE": "Esta história já não está disponível." + "INSTAGRAM_STORY_UNAVAILABLE": "Esta história já não está disponível.", + "INSTAGRAM_STORY_REPLY": "Respondeu à sua história:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Veja no mapa" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Ler documentos", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Características", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Cobrança", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Pesquisar atributos" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolver conversa", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolver conversa", + "CANCEL": "Cancelar" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Sim", + "NO": "Não" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Fazer upgrade agora", + "CANCEL_ANYTIME": "Pode alterar ou cancelar o plano a qualquer momento" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Por favor, entre em contato com o administrador para atualização." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Não conseguimos encontrar nenhuma conta do Chatwoot. Por favor, crie uma nova conta para continuar.", "NEW_ACCOUNT": "Nova conta", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancelar" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/pt/signup.json b/app/javascript/dashboard/i18n/locale/pt/signup.json index 14aaa883c..f293b3969 100644 --- a/app/javascript/dashboard/i18n/locale/pt/signup.json +++ b/app/javascript/dashboard/i18n/locale/pt/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Criar uma conta", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Cadastrar", "TESTIMONIAL_HEADER": "Tudo que precisa é um passo para avançar", "TESTIMONIAL_CONTENT": "Está a um passo de fidelizar os seus clientes, mantê-los e encontrar novos.", diff --git a/app/javascript/dashboard/i18n/locale/pt/sla.json b/app/javascript/dashboard/i18n/locale/pt/sla.json index dfd56315c..ac6a79de6 100644 --- a/app/javascript/dashboard/i18n/locale/pt/sla.json +++ b/app/javascript/dashboard/i18n/locale/pt/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Criar uma nova Política de SLA", "DESCRIPTION": "Service Level Agreements (SLA) são contratos que definem expectativas claras entre a sua equipa e os clientes. Estabelecem normas para tempos de resposta e de resolução, criando um quadro de responsabilização e garantindo uma experiência coerente e de qualidade.", "LEARN_MORE": "Saiba mais sobre SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "A carregar SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade para criar SLAs", "AVAILABLE_ON": "O recurso SLA apenas está disponível nos planos Business e Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "Não há SLAs disponíveis nesta conta.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Empresa P0", "DESC_1": "Questões levantadas pelos clientes empresariais que requerem atenção imediata.", "TITLE_2": "Empresa P1", "DESC_2": "Questões levantadas pelos clientes empresariais, que têm de ser rapidamente reconhecidas." }, - "BUSINESS_HOURS_ON": "Horário comercial ativado", - "BUSINESS_HOURS_OFF": "Horário comercial desativado", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Limite de tempo da primeira resposta", "NRT": "Limite de tempo da próxima resposta", diff --git a/app/javascript/dashboard/i18n/locale/pt/snooze.json b/app/javascript/dashboard/i18n/locale/pt/snooze.json new file mode 100644 index 000000000..eee4ea309 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/pt/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutos", + "HOUR": "hour", + "HOURS": "horas", + "DAY": "dia", + "DAYS": "dias", + "WEEK": "semana", + "WEEKS": "weeks", + "MONTH": "mês", + "MONTHS": "months", + "YEAR": "ano", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "amanhã", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "próxima semana", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "semana", + "DAY": "dia" + } +} diff --git a/app/javascript/dashboard/i18n/locale/pt/teamsSettings.json b/app/javascript/dashboard/i18n/locale/pt/teamsSettings.json index b50283cd7..9fc2ad793 100644 --- a/app/javascript/dashboard/i18n/locale/pt/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Procurar equipas...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Não há equipas configuradas para esta conta.", "EDIT_TEAM": "Editar equipa", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Não foi possível guardar os detalhes da equipa. Tente novamente." }, "AGENTS": { - "AGENT": "AGENTE", - "EMAIL": "E-mail:", + "AGENT": "Agente", + "EMAIL": "E-mail", "BUTTON_TEXT": "Adicionar agentes", "ADD_AGENTS": "Acrescentando Agentes à sua equipa...", "SELECT": "escolher", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/agentBots.json b/app/javascript/dashboard/i18n/locale/pt_BR/agentBots.json index 6292cee86..8c1663bd9 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Carregando Editor...", "DESCRIPTION": "Robôs agentes são como os membros mais fabulosos de seu time. Eles podem lidar com as pequenas coisas, assim você pode focar nas coisas que importam. Dê uma chance a eles. Você pode gerenciar seus robôs a partir desta página ou criar novos usando o botão 'Criar Robô'.", "LEARN_MORE": "Aprenda sobre os robôs agentes", + "COUNT": "{n} robô | {n} robôs", + "SEARCH_PLACEHOLDER": "Pesquisar robôs...", + "NO_RESULTS": "Nenhum robô encontrado correspondente à sua busca", "GLOBAL_BOT": "Robô do sistema", "GLOBAL_BOT_BADGE": "Sistema", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Buscando robôs...", "TABLE_HEADER": { "DETAILS": "Detalhe do Robô", - "URL": "URL do Webhook" + "URL": "URL do Webhook", + "ACTIONS": "Ações" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/agentMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/agentMgmt.json index 87c112cec..7a7dc8c68 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrador", "AGENT": "Agente" }, + "COUNT": "{n} agente | {n} agentes", "LIST": { "404": "Não existem agentes associados a esta conta", "TITLE": "Gerenciar agentes de seu time", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Não foi possível conectar ao servidor Woot, por favor tente novamente mais tarde" } }, + "SEARCH_PLACEHOLDER": "Pesquisar agentes...", + "NO_RESULTS": "Nenhum agente encontrado correspondente à sua busca", "SEARCH": { "NO_RESULTS": "Nenhum resultado encontrado." }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json index 71530e68d..751175d9c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Buscando atributos personalizados", "DESCRIPTION": "Um atributo personalizado controla detalhes adicionais sobre seus contatos ou conversas — como o plano de assinatura ou a data de sua primeira compra. Você pode adicionar diferentes tipos de atributos personalizados, como texto, listas ou números, para capturar as informações específicas que você precisa.", "LEARN_MORE": "Saiba mais sobre atributos personalizados", + "COUNT": "{n} atributo | {n} atributos", + "SEARCH_PLACEHOLDER": "Pesquisar atributos...", + "NO_RESULTS": "Nenhum atributo encontrado correspondente à sua busca", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversas", "CONTACT": "Contato" @@ -54,15 +57,19 @@ "IN_VALID": "Chave inválida" }, "REGEX_PATTERN": { - "LABEL": "Regex Pattern", + "LABEL": "Expressão Regex", "PLACEHOLDER": "Por favor, insira o padrão de expressão regular para atributo personalizado. (Opcional)" }, "REGEX_CUE": { - "LABEL": "Regex Cue", + "LABEL": "Orientação de validação Regex", "PLACEHOLDER": "Por favor, insira uma dica para o padrão de expressão regular. (Opcional)" }, "ENABLE_REGEX": { "LABEL": "Habilitar validação do regex" + }, + "BADGES": { + "PRE_CHAT": "Pré-chat", + "RESOLUTION": "Resolução" } }, "API": { @@ -119,11 +126,11 @@ "NOT_FOUND": "Não há atributos personalizados configurados" }, "REGEX_PATTERN": { - "LABEL": "Regex Pattern", + "LABEL": "Expressão Regex", "PLACEHOLDER": "Por favor, insira o padrão de expressão regular para atributo personalizado. (Opcional)" }, "REGEX_CUE": { - "LABEL": "Regex Cue", + "LABEL": "Orientação de validação Regex", "PLACEHOLDER": "Por favor, insira uma dica para o padrão de expressão regular. (Opcional)" }, "ENABLE_REGEX": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/automation.json b/app/javascript/dashboard/i18n/locale/pt_BR/automation.json index f7fd35889..0b45a2c57 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/automation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automação", "DESCRIPTION": "A automação pode substituir e simplificar processos existentes que requerem esforço manual, como a adição de etiquetas e a atribuição de conversas ao agente mais adequado. Isso permite que o time se concentre em seus pontos fortes e reduza o tempo gasto em tarefas rotineiras.", "LEARN_MORE": "Aprenda mais sobre automação", - "HEADER_BTN_TXT": "Adicionar regra de automação", + "COUNT": "{n} automação | {n} automações", + "HEADER_BTN_TXT": "Criar Automação", "LOADING": "Buscando regras de automação", + "SEARCH_PLACEHOLDER": "Pesquisar regras de automação...", + "NO_RESULTS": "Nenhuma regra de automação encontrada correspondente à sua busca", "ADD": { "TITLE": "Adicionar regra de automação", "SUBMIT": "Criar", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nome", - "DESCRIPTION": "Descrição", "ACTIVE": "Ativo", - "CREATED_ON": "Criado em" + "CREATED_ON": "Criado em", + "ACTIONS": "Ações" }, "404": "Nenhuma regra de automação encontrada" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Adicionar uma Nota Privada", "CHANGE_PRIORITY": "Alterar Prioridade", "ADD_SLA": "Adicionar SLA", - "OPEN_CONVERSATION": "Abrir conversa" + "OPEN_CONVERSATION": "Abrir conversa", + "PENDING_CONVERSATION": "Marcar conversa como pendente" }, "MESSAGE_TYPES": { "INCOMING": "Mensagem Recebida", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json b/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json index 2f17d25a0..f66223231 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Status da conversa atualizado com sucesso.", "UPDATE_FAILED": "Falha ao atualizar conversas. Por favor, tente novamente." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Não é possível resolver a conversa devido à ausência de atributos obrigatórios", + "PARTIAL_SUCCESS": "Algumas conversas exigem atributos obrigatórios antes da resolução e foram ignoradas" + }, "LABELS": { "ASSIGN_LABELS": "Atribuir rótulo", "NO_LABELS_FOUND": "Nenhuma etiqueta encontrada", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/cannedMgmt.json index 0f73cfd16..e2809f511 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Respostas Prontas", "LEARN_MORE": "Saiba mais sobre respostas prontas", "DESCRIPTION": "Respostas prontas são modelos de resposta pré-escritas que te ajudam a responder rapidamente a uma conversa. Os agentes podem digitar o caractere ' /' seguido pelo atalho para inserir uma resposta pronta durante uma conversa. ", + "COUNT": "{n} resposta pronta | {n} respostas prontas", "HEADER_BTN_TXT": "Adicionar resposta pronta", "LOADING": "Buscando respostas prontas...", + "SEARCH_PLACEHOLDER": "Pesquisar respostas prontas...", + "NO_RESULTS": "Nenhuma resposta pronta encontrada correspondente à sua busca", "SEARCH_404": "Não há itens correspondentes a esta consulta.", "LIST": { "404": "Não há respostas prontas disponíveis nesta conta.", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json index 30364e366..ff4711143 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Resposta pendente: Curtas primeiro" + }, + "priority_desc_created_at_asc": { + "TEXT": "Prioridade: Maior primeiro, Criação: Mais antiga primeiro" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/companies.json b/app/javascript/dashboard/i18n/locale/pt_BR/companies.json index 56f6856bd..050919739 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/companies.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/companies.json @@ -7,11 +7,11 @@ "NAME": "Nome", "DOMAIN": "Domínio", "CREATED_AT": "Criado em", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Quantidade de contatos" } }, "ORDER": { - "LABEL": "Order", + "LABEL": "Ordem", "OPTIONS": { "ASCENDING": "Crescente", "DESCENDING": "Decrescente" diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/components.json b/app/javascript/dashboard/i18n/locale/pt_BR/components.json index 748b9eab5..8c46d6e5e 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/components.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/components.json @@ -42,7 +42,7 @@ }, "FEATURE_SPOTLIGHT": { "LEARN_MORE": "Saiba mais", - "WATCH_VIDEO": "Watch video" + "WATCH_VIDEO": "Assistir ao vídeo" }, "DURATION_INPUT": { "MINUTES": "Minutos", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index 57ac2ec00..02b8c30c1 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -192,7 +192,7 @@ "CONTACTS_PAGE": { "LIST": { "TABLE_HEADER": { - "SOCIAL_PROFILES": "Social Profiles" + "SOCIAL_PROFILES": "Perfis Sociais" } } }, @@ -338,7 +338,7 @@ "LABEL": "Classificar por", "OPTIONS": { "NAME": "Nome", - "EMAIL": "e-mail", + "EMAIL": "E-mail", "PHONE_NUMBER": "Número de telefone", "COMPANY": "Empresa", "COUNTRY": "País/região", @@ -380,7 +380,7 @@ }, "FILTER": { "NAME": "Nome", - "EMAIL": "e-mail", + "EMAIL": "E-mail", "PHONE_NUMBER": "Número de telefone", "IDENTIFIER": "Identificador", "COUNTRY": "País/região", @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Adicionar Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Adicionar Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Adicionar TikTok" }, @@ -573,26 +576,27 @@ "SEARCH_EMPTY_STATE_TITLE": "Nenhum contato corresponde à sua pesquisa 🔍", "LIST_EMPTY_STATE_TITLE": "Não há contatos disponíveis nesta visualização 📋", "ACTIVE_EMPTY_STATE_TITLE": "Nenhum contato está ativo no momento 🌙" - } + }, + "LOAD_MORE": "Carregar mais" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuir rótulo", "ASSIGN_LABELS_SUCCESS": "Rótulos atribuídos com sucesso.", - "ASSIGN_LABELS_FAILED": "Failed to assign labels", - "DESCRIPTION": "Select the labels you want to add to the selected contacts.", - "NO_LABELS_FOUND": "No labels available yet.", + "ASSIGN_LABELS_FAILED": "Falha ao atribuir etiquetas", + "DESCRIPTION": "Selecione as etiquetas que deseja adicionar aos contatos selecionados.", + "NO_LABELS_FOUND": "Nenhuma etiqueta disponível ainda.", "SELECTED_COUNT": "{count} selecionado", - "CLEAR_SELECTION": "Clear selection", + "CLEAR_SELECTION": "Limpar seleção", "SELECT_ALL": "Selecionar todos ({count})", "DELETE_CONTACTS": "Excluir", - "DELETE_SUCCESS": "Contacts deleted successfully.", - "DELETE_FAILED": "Failed to delete contacts.", + "DELETE_SUCCESS": "Contatos excluídos com sucesso.", + "DELETE_FAILED": "Falha ao excluir os contatos.", "DELETE_DIALOG": { - "TITLE": "Delete selected contacts", - "SINGULAR_TITLE": "Delete selected contact", - "DESCRIPTION": "This will permanently delete {count} selected contacts. This action cannot be undone.", - "SINGULAR_DESCRIPTION": "This will permanently delete the selected contact. This action cannot be undone.", - "CONFIRM_MULTIPLE": "Delete contacts", + "TITLE": "Excluir os contatos selecionados", + "SINGULAR_TITLE": "Excluir o contato selecionado", + "DESCRIPTION": "Isso excluirá permanentemente {count} contatos selecionados. Esta ação não pode ser desfeita.", + "SINGULAR_DESCRIPTION": "Isso excluirá permanentemente o contato selecionado. Esta ação não pode ser desfeita.", + "CONFIRM_MULTIPLE": "Excluir contatos", "CONFIRM_SINGLE": "Excluir contato" } }, @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "Não há caixas de entrada disponíveis para iniciar uma conversa com este contato.", "CONTACT_SELECTOR": { "LABEL": "Para:", - "TAG_INPUT_PLACEHOLDER": "Pesquisar um contato com o nome, e-mail ou número de telefone", + "TAG_INPUT_PLACEHOLDER": "Digite pelo menos 2 caracteres para pesquisar por nome, e-mail ou número de telefone", "CONTACT_CREATING": "Criando contato..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Assunto:", "SUBJECT_PLACEHOLDER": "Digite o assunto do seu e-mail aqui", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Pesquisar por um contato com seu endereço de e-mail", + "CC_PLACEHOLDER": "Digite pelo menos 2 caracteres para pesquisar por e-mail", "BCC_LABEL": "CCO:", - "BCC_PLACEHOLDER": "Pesquisar por um contato com seu endereço de e-mail", + "BCC_PLACEHOLDER": "Digite pelo menos 2 caracteres para pesquisar por e-mail", "BCC_BUTTON": "CCO" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index 75382b880..01dd97457 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -32,7 +32,7 @@ "LOADING_CONVERSATIONS": "Carregando conversas", "CANNOT_REPLY": "Você não pode responder porque", "24_HOURS_WINDOW": "Restrições de janela de mensagem de 24 horas", - "48_HOURS_WINDOW": "Restrição de janela de mensagem de 48 horas", + "48_HOURS_WINDOW": "Restrição da janela de mensagens de 48 horas", "API_HOURS_WINDOW": "Você só pode responder a esta conversa em {hours} horas", "NOT_ASSIGNED_TO_YOU": "Esta conversa não está atribuída a você. Gostaria de atribuir esta conversa a você mesmo?", "ASSIGN_TO_ME": "Atribuir a mim", @@ -58,9 +58,10 @@ }, "UPLOADING_ATTACHMENTS": "Enviando anexos...", "REPLIED_TO_STORY": "Respondido ao seu story", - "UNSUPPORTED_MESSAGE": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo Facebook Messenger.", + "UNSUPPORTED_MESSAGE": "Esta mensagem não é suportada. Para visualizá-la, por favor, abra-a na plataforma original.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo do Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "Esta mensagem não é compatível. Você pode visualizá-la no aplicativo do TikTok.", "SUCCESS_DELETE_MESSAGE": "Mensagem excluída com sucesso", "FAIL_DELETE_MESSSAGE": "Não foi possível excluir a mensagem! Tente novamente", "NO_RESPONSE": "Sem resposta", @@ -173,6 +174,10 @@ "SUCCESFUL": "Etiqueta #{labelName} atribuída para a conversa {conversationId}", "FAILED": "Não foi possível atribuir etiqueta. Por favor, tente novamente." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Etiqueta #{labelName} removida da conversa com id {conversationId}", + "FAILED": "Não foi possível remover a etiqueta. Por favor, tente novamente." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Time {team} atribuído para o id de conversa {conversationId}", "FAILED": "Não foi possível atribuir time. Por favor, tente novamente." @@ -185,9 +190,13 @@ "DISABLE_SIGN_TOOLTIP": "Desativar assinatura", "MSG_INPUT": "Shift + enter para nova linha. Digite '/' para selecionar uma Resposta Pronta.", "PRIVATE_MSG_INPUT": "A mensagem será visível apenas para agentes", + "MESSAGING_RESTRICTED": "Você não pode responder esta conversa", + "MESSAGING_RESTRICTED_WHATSAPP": "Você só pode responder usando uma mensagem de modelo devido à restrição da janela de 24 horas", + "MESSAGING_RESTRICTED_API": "Você só pode responder usando uma mensagem de template devido à restrição da janela de mensagens", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "A assinatura da mensagem não está configurada. Por favor, configure-a nas configurações do perfil.", + "COPILOT_MSG_INPUT": "Forneça instruções adicionais ao Copiloto ou pergunte algo mais... Pressione Enter para enviar", "CLICK_HERE": "Clique aqui para atualizar", - "WHATSAPP_TEMPLATES": "Templates do Whatsapp" + "WHATSAPP_TEMPLATES": "Modelos do Whatsapp" }, "REPLYBOX": { "REPLY": "Responder", @@ -205,7 +214,7 @@ "DRAG_DROP": "Arraste e solte aqui para anexar", "START_AUDIO_RECORDING": "Iniciar gravação de áudio", "STOP_AUDIO_RECORDING": "Parar gravação de áudio", - "": "", + "COPILOT_THINKING": "O Copiloto está pensando", "EMAIL_HEAD": { "TO": "Para", "ADD_BCC": "Adicionar cco", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversa excluída com sucesso", "FAIL_DELETE_CONVERSATION": "Não foi possível excluir a conversa! Tente novamente", "FILE_SIZE_LIMIT": "O arquivo excede os {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB do limite para anexos", + "FILE_TYPE_NOT_SUPPORTED": "O tipo de arquivo {fileName} não é suportado nesta conversa", "MESSAGE_ERROR": "Não foi possível enviar esta mensagem, por favor, tente novamente mais tarde", "SENT_BY": "Enviado por:", "BOT": "Robôs", + "NATIVE_APP": "Aplicativo nativo", + "NATIVE_APP_ADVISORY": "Esta mensagem foi enviada a partir do aplicativo nativo. Responda pelo Chatwoot para manter a janela de mensagens ativa.", "SEND_FAILED": "Não foi possível enviar a mensagem! Tente novamente", "TRY_AGAIN": "tentar novamente", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancelar", "SEND_EMAIL_SUCCESS": "A transcrição do chat foi enviada com sucesso", "SEND_EMAIL_ERROR": "Ocorreu um erro, por favor tente novamente", + "SEND_EMAIL_PAYMENT_REQUIRED": "A transcrição de e-mail não está disponível no seu plano atual. Por favor, atualize para usar este recurso.", "FORM": { "SEND_TO_CONTACT": "Envie a transcrição para o cliente", "SEND_TO_AGENT": "Envie a transcrição para o agente designado", @@ -349,25 +362,25 @@ "PREVIOUS_CONVERSATION": "Conversas anteriores", "MACROS": "Macros", "LINEAR_ISSUES": "Problemas do Linear vinculados", - "SHOPIFY_ORDERS": "Shopify Orders" + "SHOPIFY_ORDERS": "Pedidos do Shopify" }, "SHOPIFY": { - "ORDER_ID": "Order #{id}", - "ERROR": "Error loading orders", - "NO_SHOPIFY_ORDERS": "No orders found", + "ORDER_ID": "Pedido #{id}", + "ERROR": "Erro ao carregar pedidos", + "NO_SHOPIFY_ORDERS": "Nenhum pedido encontrado", "FINANCIAL_STATUS": { "PENDING": "Pendentes", - "AUTHORIZED": "Authorized", - "PARTIALLY_PAID": "Partially Paid", - "PAID": "Paid", - "PARTIALLY_REFUNDED": "Partially Refunded", - "REFUNDED": "Refunded", - "VOIDED": "Voided" + "AUTHORIZED": "Autorizado", + "PARTIALLY_PAID": "Parcialmente pago", + "PAID": "Pago", + "PARTIALLY_REFUNDED": "Parcialmente Reembolsado", + "REFUNDED": "Reembolsado", + "VOIDED": "Anulado" }, "FULFILLMENT_STATUS": { - "FULFILLED": "Fulfilled", - "PARTIALLY_FULFILLED": "Partially Fulfilled", - "UNFULFILLED": "Unfulfilled" + "FULFILLED": "Concluído", + "PARTIALLY_FULFILLED": "Parcialmente Concluído", + "UNFULFILLED": "Não concluído" } } }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/customRole.json b/app/javascript/dashboard/i18n/locale/pt_BR/customRole.json index 9632739e4..954a906de 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/customRole.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Funções Personalizadas", "LEARN_MORE": "Aprenda mais sobre funções personalizadas", "DESCRIPTION": "Funções personalizadas são funções criadas pelo proprietário ou administrador da conta. Essas funções podem ser atribuídas a agentes para definir seu acesso e permissões dentro da conta. Funções personalizadas podem ser criadas com permissões e níveis de acesso específicos para atender aos requisitos da organização.", + "COUNT": "{n} função personalizada | {n} funções personalizadas", "HEADER_BTN_TXT": "Adicionar função personalizada", "LOADING": "Buscando funções personalizadas...", + "SEARCH_PLACEHOLDER": "Pesquisar funções personalizadas...", + "NO_RESULTS": "Nenhuma função personalizada encontrada correspondente à sua busca", "SEARCH_404": "Não há itens correspondentes a esta consulta.", "PAYWALL": { "TITLE": "Atualize para criar funções personalizadas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/datePicker.json b/app/javascript/dashboard/i18n/locale/pt_BR/datePicker.json index 1cda53e77..e08507c5c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Período anterior", + "NEXT_PERIOD": "Próximo período", + "WEEK_NUMBER": "Semana #{weekNumber}", "APPLY_BUTTON": "Aplicar", "CLEAR_BUTTON": "Limpar", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Últimos 3 meses", "LAST_6_MONTHS": "Últimos 6 meses", "LAST_YEAR": "Ano passado", + "THIS_WEEK": "Esta semana", + "MONTH_TO_DATE": "Este mês", "CUSTOM_RANGE": "Intervalo de tempo personalizado" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/general.json b/app/javascript/dashboard/i18n/locale/pt_BR/general.json index c62e1ae56..0a97e6220 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/general.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Fechar", "BETA": "Beta", - "BETA_DESCRIPTION": "Este recurso está em fase BETA e deve sofre alterações assim que Nós melhorarmos ele." + "BETA_DESCRIPTION": "Este recurso está em fase BETA e deve sofre alterações assim que Nós melhorarmos ele.", + "ACCEPT": "Aceitar", + "DISCARD": "Descartar", + "PREFERRED": "Preferido" + }, + "CHOICE_TOGGLE": { + "YES": "Sim", + "NO": "Não" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json index 28bdffdd9..0376c205f 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Pesquisar ou pular para", + "SNOOZE_PLACEHOLDER": "Digite um horário, por exemplo: amanhã, 2 horas, próxima sexta-feira, 15 de jan...", "SECTIONS": { "GENERAL": "Geral", "REPORTS": "Relatórios", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json index 02896fc60..f079f136f 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json @@ -70,11 +70,11 @@ "SEARCH_PLACEHOLDER": "Pesquisar autor" }, "META_TITLE": { - "LABEL": "Meta title", + "LABEL": "Meta título", "PLACEHOLDER": "Adicionar um meta title" }, "META_DESCRIPTION": { - "LABEL": "Meta description", + "LABEL": "Meta descrição", "PLACEHOLDER": "Adicione suas meta descriptions para melhorar os resultados de SEO..." }, "META_TAGS": { @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Erro enquanto excluía o artigo" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Não foi possível reordenar os artigos. Por favor, tente novamente." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Não foi possível reordenar as categorias. Por favor, tente novamente." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Por favor, adicione o cabeçalho e o conteúdo do artigo, só então você pode atualizar as configurações" }, @@ -672,7 +682,7 @@ "ARTICLE_PROPERTIES": "Propriedades do artigo", "META_DESCRIPTION": "Meta descrição", "META_DESCRIPTION_PLACEHOLDER": "Adicionar meta descrição", - "META_TITLE": "Meta title", + "META_TITLE": "Meta título", "META_TITLE_PLACEHOLDER": "Adicionar meta título", "META_TAGS": "Meta tags", "META_TAGS_PLACEHOLDER": "Adicionar meta tags" @@ -742,7 +752,7 @@ "LABEL": "Widget de chat ao vivo", "PLACEHOLDER": "Selecionar widget de chat ao vivo", "HELP_TEXT": "Selecione um widget de chat ao vivo que aparecerá no centro de ajuda", - "NONE_OPTION": "No widget" + "NONE_OPTION": "Sem widget" }, "BRAND_COLOR": { "LABEL": "Cor da Marca" @@ -810,55 +820,55 @@ } }, "PDF_UPLOAD": { - "TITLE": "Upload PDF Document", - "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI", + "TITLE": "Enviar Documento PDF", + "DESCRIPTION": "Envie um documento PDF para gerar FAQs automaticamente com IA", "DRAG_DROP_TEXT": "Arraste e solte seu arquivo PDF aqui, clique para selecionar", - "SELECT_FILE": "Select PDF File", - "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)", - "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...", + "SELECT_FILE": "Selecionar Arquivo PDF", + "ADDITIONAL_CONTEXT_LABEL": "Contexto Adicional (Opcional)", + "ADDITIONAL_CONTEXT_PLACEHOLDER": "Forneça qualquer contexto ou instruções adicionais para a geração de FAQs...", "UPLOADING": "Enviando...", - "UPLOAD": "Upload & Process", + "UPLOAD": "Enviar e Processar", "CANCEL": "Cancelar", - "ERROR_INVALID_TYPE": "Please select a valid PDF file", - "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB", + "ERROR_INVALID_TYPE": "Por favor, selecione um arquivo PDF válido", + "ERROR_FILE_TOO_LARGE": "O tamanho do arquivo deve ser menor que 512MB", "ERROR_UPLOAD_FAILED": "Falha ao carregar o arquivo PDF. Por favor, tente novamente." }, "PDF_DOCUMENTS": { - "TITLE": "PDF Documents", - "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them", - "UPLOAD_PDF": "Upload PDF", - "UPLOAD_FIRST_PDF": "Upload your first PDF", - "UPLOADED_BY": "Uploaded by", - "GENERATE_FAQS": "Generate FAQs", + "TITLE": "Documentos PDF", + "DESCRIPTION": "Gerencie os documentos PDF enviados e gere FAQs a partir deles", + "UPLOAD_PDF": "Enviar PDF", + "UPLOAD_FIRST_PDF": "Envie seu primeiro PDF", + "UPLOADED_BY": "Enviado por", + "GENERATE_FAQS": "Gerar FAQs", "GENERATING": "Gerando...", "CONFIRM_DELETE": "Tem certeza que deseja excluir {filename}?", "EMPTY_STATE": { - "TITLE": "No PDF documents yet", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI" + "TITLE": "Nenhum documento PDF ainda", + "DESCRIPTION": "Envie documentos PDF para gerar FAQs automaticamente com IA" }, "STATUS": { - "UPLOADED": "Ready", - "PROCESSING": "Processing", + "UPLOADED": "Pronto", + "PROCESSING": "Processando", "PROCESSED": "Concluído", - "FAILED": "Failed" + "FAILED": "Falha" } }, "CONTENT_GENERATION": { - "TITLE": "Content Generation", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI", - "UPLOAD_TITLE": "Upload PDF Document", + "TITLE": "Geração de Conteúdo", + "DESCRIPTION": "Envie documentos PDF para gerar conteúdo de FAQ automaticamente com IA", + "UPLOAD_TITLE": "Enviar Documento PDF", "DRAG_DROP": "Arraste e solte seu arquivo PDF aqui, clique para selecionar", "SELECT_FILE": "Selecionar Arquivo PDF", - "UPLOADING": "Processing document...", - "UPLOAD_SUCCESS": "Document processed successfully!", - "UPLOAD_ERROR": "Failed to upload document. Please try again.", + "UPLOADING": "Processando documento...", + "UPLOAD_SUCCESS": "Documento processado com sucesso!", + "UPLOAD_ERROR": "Falha ao enviar o documento. Tente novamente.", "INVALID_FILE_TYPE": "Por favor, selecione um arquivo PDF válido", - "FILE_TOO_LARGE": "File size must be less than 512MB", - "GENERATED_CONTENT": "Generated FAQ Content", - "PUBLISH_SELECTED": "Publish Selected", - "PUBLISHING": "Publishing...", - "FROM_DOCUMENT": "From document", - "NO_CONTENT": "No generated content available. Upload a PDF document to get started.", + "FILE_TOO_LARGE": "O tamanho do arquivo deve ser menor que 512MB", + "GENERATED_CONTENT": "Conteúdo gerado do FAQ", + "PUBLISH_SELECTED": "Publicar Selecionados", + "PUBLISHING": "Publicando...", + "FROM_DOCUMENT": "A partir do documento", + "NO_CONTENT": "Nenhum conteúdo gerado disponível. Envie um documento PDF para começar.", "LOADING": "Carregando conteúdo gerado..." } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json index 20ccdce2d..06ebbb24d 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Caixas de Entrada", "DESCRIPTION": "Um canal é o modo de comunicação que seu cliente escolhe para interagir com você. Uma caixa de entrada é onde você gerencia interações para um canal específico. Pode incluir comunicações de várias fontes, como e-mail, chat ao vivo e mídia social.", "LEARN_MORE": "Saiba mais sobre as caixas de entrada", + "COUNT": "{n} caixa de entrada | {n} caixas de entrada", + "SEARCH_PLACEHOLDER": "Pesquisar caixas de entrada...", + "NO_RESULTS": "Nenhuma caixa de entrada encontrada correspondente à sua busca", "RECONNECTION_REQUIRED": "Sua caixa de entrada está desconectada. Você não receberá novas mensagens até reautorizar.", "CLICK_TO_RECONNECT": "Clique aqui para reconectar.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Seu registro no WhatsApp Business não foi concluído. Verifique o status do seu nome de exibição no Meta Business Manager antes de reconectar.", @@ -61,8 +64,8 @@ "CONTINUE_WITH_TIKTOK": "Continuar com TikTok", "CONNECT_YOUR_TIKTOK_PROFILE": "Conecte seu perfil do TikTok", "HELP": "Para adicionar seu perfil do TikTok como um canal, é necessário autenticar seu perfil clicando em 'Continuar com TikTok'. ", - "ERROR_MESSAGE": "Ocorreu um erro ao conectar com o TikTok. Tente novamente", - "ERROR_AUTH": "Ocorreu um erro ao conectar com o TikTok. Tente novamente" + "ERROR_MESSAGE": "Ocorreu um erro ao conectar com o TikTok, por favor, tente novamente", + "ERROR_AUTH": "Ocorreu um erro ao conectar com o TikTok, por favor, tente novamente" }, "TWITTER": { "HELP": "Para adicionar seu perfil do Twitter como um canal, você precisa autenticar seu perfil do Twitter clicando em 'Entrar com o Twitter' ", @@ -284,7 +287,7 @@ "TITLE": "Configuração rápida com Meta", "DESC": "Use o fluxo de inscrição incorporada do WhatsApp para conectar rapidamente novos números. Você será redirecionado para a Meta para entrar na sua conta do WhatsApp Business. Ter acesso de administrador ajudará a tornar a configuração simples e fácil.", "BENEFITS": { - "TITLE": "Benefícios da inscrição incorporada:", + "TITLE": "Benefícios do Cadastro Incorporado:", "EASY_SETUP": "Nenhuma configuração manual é necessária", "SECURE_AUTH": "Autenticação segura baseada em OAuth", "AUTO_CONFIG": "Configuração automática de webhook e número de telefone" @@ -298,7 +301,7 @@ "WAITING_FOR_BUSINESS_INFO": "Por favor, complete a configuração do negócio na janela da Meta...", "PROCESSING": "Configurando sua conta do WhatsApp Business", "LOADING_SDK": "Carregando SDK do Facebook...", - "CANCELLED": "A inscrição no WhatsApp foi cancelada", + "CANCELLED": "O cadastro do WhatsApp foi cancelado", "SUCCESS_TITLE": "Conta do WhatsApp Business conectada!", "WAITING_FOR_AUTH": "Aguardando autenticação...", "INVALID_BUSINESS_DATA": "Dados de negócio inválidos recebidos do Facebook. Por favor, tente novamente.", @@ -390,7 +393,7 @@ }, "FINISH_MESSAGE": "Comece a encaminhar seus e-mails para o seguinte endereço de e-mail.", "FINISH_MESSAGE_NO_FORWARDING": "Sua caixa de entrada de e-mail foi criada com sucesso! É necessário configurar as credenciais de SMTP e IMAP para enviar e receber e-mails. Sem essas configurações, nenhum e-mail será processado.", - "FORWARDING_ADDRESS_LABEL": "Encaminhe os e-mails para este endereço:", + "FORWARDING_ADDRESS_LABEL": "Encaminhar e-mails para este endereço:", "CONFIGURE_SMTP_IMAP_LINK": "Clique aqui", "CONFIGURE_SMTP_IMAP_TEXT": " para configurar IMAP e SMTP" }, @@ -455,7 +458,7 @@ "DESCRIPTION": "Atenda seus clientes no WhatsApp" }, "EMAIL": { - "TITLE": "e-mail", + "TITLE": "E-mail", "DESCRIPTION": "Conectar com Gmail, Outlook ou outros provedores" }, "SMS": { @@ -589,8 +592,10 @@ "DISABLED": "Desativado" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Ativado", - "DISABLED": "Desativado" + "ENABLED": "Reabrir a mesma conversa", + "DISABLED": "Criar novas conversas", + "ENABLED_DESCRIPTION": "Quando um contado enviar mensagem novamente, a conversa anterior será reaberta.", + "DISABLED_DESCRIPTION": "Uma nova conversa será criada toda vez que a anterior estiver resolvida." }, "ENABLE_HMAC": { "LABEL": "Ativar" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Saúde da conta", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Preferências do Canal", + "WIDGET_FEATURES": "Recursos do widget", "ACCOUNT_HEALTH": { "TITLE": "Gerencie sua conta do WhatsApp", "DESCRIPTION": "Revise o status da sua conta do WhatsApp, os limites de mensagens e a qualidade. Atualize as configurações ou resolva problemas, se necessário", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Ativar/Desativar exibição do nome do agente no e-mail, se estiver desativado, exibirá o nome da empresa", "ENABLE_CONTINUITY_VIA_EMAIL": "Habilitar continuidade das conversas por e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "As conversas continuarão sobre o e-mail se o endereço de e-mail de contato estiver disponível.", - "LOCK_TO_SINGLE_CONVERSATION": "Bloquear para conversa única", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Ativar ou desativar várias conversas para o mesmo contato nesta caixa de entrada", + "LOCK_TO_SINGLE_CONVERSATION": "Roteamento de Conversa", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configurar a criação de conversas para contatos existentes", "INBOX_UPDATE_TITLE": "Configurações da Caixa de Entrada", "INBOX_UPDATE_SUB_TEXT": "Atualize suas configurações de caixa de entrada", "AUTO_ASSIGNMENT_SUB_TEXT": "Ativar ou desativar a atribuição automática de novas conversas aos agentes adicionados a essa caixa de entrada.", @@ -736,7 +743,7 @@ "WHATSAPP_EMBEDDED_SIGNUP_DESCRIPTION": "Você pode reconfigurar esta caixa de entrada para atualizar suas configurações do WhatsApp Business.", "WHATSAPP_RECONFIGURE_BUTTON": "Reconfigurar", "WHATSAPP_CONNECT_TITLE": "Conectar ao WhatsApp Business", - "WHATSAPP_CONNECT_SUBHEADER": ".", + "WHATSAPP_CONNECT_SUBHEADER": "Atualize para o cadastro integrado do WhatsApp para um gerenciamento mais fácil.", "WHATSAPP_CONNECT_DESCRIPTION": "Conecte esta caixa de entrada ao WhatsApp Business para ter recursos aprimorados e um gerenciamento mais fácil.", "WHATSAPP_CONNECT_BUTTON": "Conectar", "WHATSAPP_CONNECT_SUCCESS": "Conectado com sucesso ao WhatsApp Business!", @@ -758,6 +765,7 @@ "LABEL": "Centro de Ajuda", "PLACEHOLDER": "Selecionar Centro de Ajuda", "SELECT_PLACEHOLDER": "Selecionar Centro de Ajuda", + "NONE": "Nenhuma", "REMOVE": "Remover Centro de Ajuda", "SUB_TEXT": "Anexe um Centro de Ajuda com a caixa de entrada" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Por favor, insira um valor maior que 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limitar o número máximo de conversas desta caixa de entrada que pode ser atribuído automaticamente a um agente" }, + "ASSIGNMENT": { + "TITLE": "Atribuição de conversa", + "DESCRIPTION": "Atribua automaticamente as conversas recebidas aos agentes disponíveis com base nas políticas de atribuição", + "ENABLE_AUTO_ASSIGNMENT": "Ativar atribuição automática de conversas", + "DEFAULT_RULES_TITLE": "Regras de atribuição padrão", + "DEFAULT_RULES_DESCRIPTION": "Utilizando o comportamento de atribuição padrão para todas as conversas", + "DEFAULT_RULE_1": "Conversas criadas mais antigas primeiro", + "DEFAULT_RULE_2": "Distribuição em rodízio", + "CUSTOMIZE_WITH_POLICY": "Personalizar com política de atribuição", + "USING_POLICY": "Utilizando política de atribuição personalizada para esta caixa de entrada", + "CUSTOMIZE_POLICY": "Personalizar com política de atribuição", + "DELETE_POLICY": "Excluir política", + "POLICY_LABEL": "Política de atribuição", + "ASSIGNMENT_ORDER_LABEL": "Ordem de Atribuição", + "ASSIGNMENT_METHOD_LABEL": "Método de Atribuição", + "POLICY_STATUS": { + "ACTIVE": "Ativo", + "INACTIVE": "Inativa" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Criado recentemente", + "LONGEST_WAITING": "Maior tempo de espera" + }, + "METHOD": { + "ROUND_ROBIN": "Rodízio", + "BALANCED": "Atribuição equilibrada" + }, + "UPGRADE_PROMPT": "Políticas de atribuição personalizadas estão disponíveis no plano Business", + "UPGRADE_TO_BUSINESS": "Atualizar para o Business", + "DEFAULT_POLICY_LINKED": "Política padrão vinculada", + "DEFAULT_POLICY_DESCRIPTION": "Vincule uma política de atribuição personalizada para definir como as conversas serão atribuídas aos agentes nesta caixa de entrada.", + "LINK_EXISTING_POLICY": "Vincular política existente", + "CREATE_NEW_POLICY": "Criar nova política", + "NO_POLICIES": "Nenhuma política de atribuição encontrada", + "VIEW_ALL_POLICIES": "Ver todas as políticas", + "CURRENT_BEHAVIOR": "Atualmente utilizando o comportamento de atribuição padrão:", + "LINK_SUCCESS": "Política de atribuição vinculada com sucesso", + "LINK_ERROR": "Falha ao vincular a política de atribuição" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Excluir política de atribuição?", + "DELETE_CONFIRM_MESSAGE": "Tem certeza de que deseja remover esta política de atribuição desta caixa de entrada? A caixa de entrada voltará às regras de atribuição padrão.", + "CANCEL": "Cancelar", + "CONFIRM_DELETE": "Excluir", + "DELETE_SUCCESS": "Política de atribuição removida com sucesso", + "DELETE_ERROR": "Falha ao remover a política de atribuição" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizar", "SUBTITLE": "Sua conexão com o Facebook expirou, reconecte sua página do Facebook para continuar", @@ -818,7 +873,7 @@ }, "MESSAGE_PREVIEW": { "LABEL": "Pré-visualização da mensagem", - "TOOLTIP": "Isso pode variar ligeiramente quando exibido na plataforma do WhatsApp." + "TOOLTIP": "Isso pode variar um pouco quando exibido na plataforma do WhatsApp." }, "TEMPLATE_STATUS": { "APPROVED": "Aprovado pelo WhatsApp", @@ -833,10 +888,24 @@ }, "TEMPLATE_UPDATE_DIALOG": { "TITLE": "Editar detalhes da pesquisa", - "DESCRIPTION": "Vamos excluir o modelo anterior e criar um que será enviado novamente para aprovação do WhatsApp", + "DESCRIPTION": "Vamos excluir o modelo anterior e criar outro, que será enviado novamente para aprovação do WhatsApp", "CONFIRM": "Criar novo modelo", "CANCEL": "Voltar atrás" }, + "UTILITY_ANALYZER": { + "ACTION": "Verificar adequação em utilidade", + "HELPER_NOTE": "Verifique esta mensagem antes do envio para melhorar a adequação à categoria Utilidade. O sistema cria um modelo CSAT dedicado com botões para coleta de avaliação e o envia como Utilidade; a Meta ainda pode reclassificá-lo como Marketing com base no conteúdo.", + "RESULT_LABEL": "Previsão de categoria da Meta", + "GUIDANCE_NOTE": "Esta é uma verificação orientativa, não uma garantia de aprovação pela Meta.", + "SUGGESTION_LABEL": "Reescrita sugerida adequada para Utilidade", + "APPLY": "Usar esta sugestão", + "ERROR_MESSAGE": "Não foi possível analisar a mensagem. Por favor, tente novamente.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Provável Utilidade", + "LIKELY_MARKETING": "Provável Marketing", + "UNCLEAR": "Precisa de esclarecimento" + } + }, "SURVEY_RULE": { "LABEL": "Regra de pesquisa", "DESCRIPTION_PREFIX": "Enviar a pesquisa se a conversa", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "selecionar etiquetas" }, "NOTE": "Nota: pesquisas de CSAT são enviadas apenas uma vez por conversa", - "WHATSAPP_NOTE": "Nota: Vamos criar um modelo e enviá-lo para aprovação do WhatsApp. Após a aprovação, as pesquisas serão enviadas apenas uma vez por conversa, conforme a regra da pesquisa.", + "WHATSAPP_NOTE": "Observação: Ao salvar, o sistema cria um modelo CSAT dedicado no WhatsApp (usado para capturar avaliação e feedback nos relatórios) e o envia como Utilidade para aprovação. A Meta ainda pode classificá-lo como Marketing com base no conteúdo. Após a aprovação, as pesquisas são enviadas apenas uma vez por conversa, conforme a regra da pesquisa.", "API": { "SUCCESS_MESSAGE": "Configurações de CSAT atualizadas com sucesso", "ERROR_MESSAGE": "Não foi possível atualizar as configurações do CSAT. Por favor, tente novamente mais tarde." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Mensagem indisponível para visitantes", "TOGGLE_HELP": "Permitir a disponibilidade de negócios mostrará as horas disponíveis no widget de bate-papo ao vivo, mesmo que todos os agentes estejam offline. Os vistores disponíveis horários externos podem ser avisados com uma mensagem e um formulário de pré-bate-papo.", "DAY": { + "DAY": "Dia", + "AVAILABILITY": "Disponibilidade", + "HOURS": "Horas", "ENABLE": "Permitir a disponibilidade para este dia", "UNAVAILABLE": "Indisponível", - "HOURS": "horas", "VALIDATION_ERROR": "Hora inicial deve ser antes de hora de fechamento.", "CHOOSE": "Selecione" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Em um dia" }, "WIDGET_COLOR_LABEL": "Cor do Widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Posição do Balão do Widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Tipo de Balão do Widget", + "WIDGET_BUBBLE": "Bolha", + "WIDGET_BUBBLE_POSITION_LABEL": "Posição:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tipo:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Fale conosco no chat", - "LABEL": "Título do disparador da Bolha do Widget", + "LABEL": "Título do Iniciador", "PLACE_HOLDER": "Fale conosco no chat" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Padrão", - "CHAT": "Chat" + "CHAT": "Modo do chat" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Normalmente responde em alguns minutos", @@ -1045,7 +1117,7 @@ "TWILIO_SMS": "SMS Twilio", "WHATSAPP": "WhatsApp", "SMS": "SMS", - "EMAIL": "e-mail", + "EMAIL": "E-mail", "TELEGRAM": "Telegram", "LINE": "Line", "API": "Canal da API", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json index 7a7e2ffc0..a4443a46c 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Buscando integrações", "NO_HOOK_CONFIGURED": "Não há integrações {integrationId} configuradas nesta conta.", "HEADER": "Aplicações", + "COUNT": "{n} integração | {n} integrações", + "SEARCH_PLACEHOLDER": "Pesquisar...", + "NO_RESULTS": "Nenhum resultado encontrado correspondente à sua busca", "STATUS": { "ENABLED": "Ativado", "DISABLED": "Desativado" @@ -12,7 +15,7 @@ "DELETE": { "TITLE": { "INBOX": "Confirmar exclusão", - "ACCOUNT": "Desconectado" + "ACCOUNT": "Desconectar" }, "MESSAGE": { "INBOX": "Você tem certeza que deseja excluir?", @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Buscando integrações", "INBOX": "Caixa de Entrada", + "ACTIONS": "Ações", "DELETE": { "BUTTON_TEXT": "Excluir" } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json index 6abfffa12..6f83a65f1 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json @@ -1,24 +1,27 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { - "TITLE": "Delete Shopify Integration", - "MESSAGE": "Are you sure you want to delete the Shopify integration?" + "TITLE": "Excluir Integração com o Shopify", + "MESSAGE": "Tem certeza que você deseja excluir a integração com o Shopify?" }, "STORE_URL": { - "TITLE": "Connect Shopify Store", - "LABEL": "Store URL", + "TITLE": "Conectar Loja Shopify", + "LABEL": "URL da Loja", "PLACEHOLDER": "your-store.myshopify.com", - "HELP": "Enter your Shopify store's myshopify.com URL", + "HELP": "Insira a URL meushopify.com da sua loja Shopify", "CANCEL": "Cancelar", - "SUBMIT": "Connect Store" + "SUBMIT": "Conectar Loja" }, - "ERROR": "There was an error connecting to Shopify. Please try again or contact support if the issue persists." + "ERROR": "Ocorreu um erro ao tentar conectar com o Shopify. Por favor, tente novamente ou entre em contato com o suporte se o problema persistir." }, "HEADER": "Integrações", "DESCRIPTION": "Chatwoot se integra com várias ferramentas e serviços para melhorar a eficiência de seu time. Explore a lista abaixo para configurar seus aplicativos favoritos.", "LEARN_MORE": "Aprenda mais sobre integrações", "LOADING": "Obtendo integrações", + "SEARCH_PLACEHOLDER": "Pesquisar integrações...", + "NO_RESULTS": "Nenhuma integração encontrada correspondente à sua busca", "CAPTAIN": { "DISABLED": "O capitão não está ativado na sua conta.", "CLICK_HERE_TO_CONFIGURE": "Clique aqui para configurar", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Eventos Inscritos", "LEARN_MORE": "Saiba mais sobre webhooks", + "SECRET": { + "LABEL": "Segredo", + "COPY": "Copiar segredo para a área de transferência", + "COPY_SUCCESS": "Segredo copiado para a área de transferência", + "TOGGLE": "Alternar visibilidade do segredo", + "CREATED_DESC": "Seu webhook foi criado. Use o segredo abaixo para verificar as assinaturas do webhook. Copie-o agora — você também poderá encontrá-lo posteriormente no formulário de edição do webhook.", + "DONE": "Concluído" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Pesquisar webhooks...", + "NO_RESULTS": "Nenhum webhook encontrado correspondente à sua busca", "FORM": { "CANCEL": "Cancelar", "DESC": "Webhook Os eventos fornecem informações em tempo real sobre o que está acontecendo na sua conta do Chatwoot. Digite um URL válido para configurar um retorno de chamada.", @@ -47,8 +61,8 @@ } }, "NAME": { - "LABEL": "Webhook Name", - "PLACEHOLDER": "Enter the name of the webhook" + "LABEL": "Nome do Webhook", + "PLACEHOLDER": "Informe o nome do webhook" }, "END_POINT": { "LABEL": "URL do Webhook", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Excluir", "DELETE_CONFIRMATION": { "TITLE": "Excluir integração", @@ -145,7 +160,29 @@ "EXPAND": "Expandir", "MAKE_FRIENDLY": "Alterar o tom de mensagem para amigável", "MAKE_FORMAL": "Usar tom formal", - "SIMPLIFY": "Simplificar" + "SIMPLIFY": "Simplificar", + "CONFIDENT": "Use um tom confiante", + "PROFESSIONAL": "Use um tom profissional", + "CASUAL": "Use um tom casual", + "STRAIGHTFORWARD": "Use um tom direto" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Melhorar resposta", + "IMPROVE_REPLY_SELECTION": "Melhorar a seleção", + "CHANGE_TONE": { + "TITLE": "Alterar tom", + "OPTIONS": { + "PROFESSIONAL": "Profissional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Direto", + "CONFIDENT": "Confiante", + "FRIENDLY": "Amigável" + } + }, + "GRAMMAR": "Corrigir gramática e ortografia", + "SUGGESTION": "Sugerir uma resposta", + "SUMMARIZE": "Resumir a conversa", + "ASK_COPILOT": "Perguntar ao Copiloto" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Conteúdo do rascunho", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Painel de Aplicativos

O Painel de Aplicativos permite que as organizações incorporem um aplicativo dentro do Painel de Aplicativos do Chatwoot para fornecer o contexto para agentes de suporte ao cliente. Este recurso permite-lhe criar uma aplicação independente e incorporá-la dentro da dashboard para fornecer informações do usuário, seus pedidos ou seu histórico de pagamentos anteriores.

Quando você incorpora seu aplicativo usando o Painel de Aplicativos do Chatwoot, sua aplicação irá obter o contexto da conversa e entrar em contato como um evento de janela. Implementar um ouvinte para o evento de mensagem em sua página receber o contexto.

Para adicionar um novo aplicativo no Painel de Aplicativos, clique no botão 'Adicionar um novo aplicativo'.

", "DESCRIPTION": "O Painel de Aplicativos permite que organizações incorporem um aplicativo dentro do painel para fornecer o contexto para agentes de suporte ao cliente. Este recurso permite que você crie uma aplicação independente e incorpore para fornecer informações de usuário, seus pedidos ou seu histórico de pagamentos anteriores.", "LEARN_MORE": "Saiba mais sobre o Painel de Aplicativos", + "COUNT": "{n} painel de aplicativo | {n} painéis de aplicativos", + "SEARCH_PLACEHOLDER": "Pesquisar painéis de aplicativos...", + "NO_RESULTS": "Nenhum painel de aplicativo encontrado correspondente à sua busca", "LIST": { "404": "Ainda não há aplicativos nesta conta", "LOADING": "Buscando aplicativos...", "TABLE_HEADER": { "NAME": "Nome", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Ações" }, "EDIT_TOOLTIP": "Alterar aplicativo", "DELETE_TOOLTIP": "Excluir aplicativo" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Criar/Ligar Issue Linear", "LOADING": "Buscando problemas lineares...", "LOADING_ERROR": "Houve um erro ao buscar as entidades do time, por favor, tente novamente", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Você tem certeza que deseja excluir a integração com Notion?", "MESSAGE": "Excluir essa integração removerá o acesso ao seu espaço de trabalho Notion e encerrará todas as funcionalidades relacionadas.", @@ -347,12 +390,12 @@ }, "CAPTAIN": { "NAME": "Capitão", - "HEADER_KNOW_MORE": "Know more", + "HEADER_KNOW_MORE": "Saiba mais", "ASSISTANT_SWITCHER": { "ASSISTANTS": "Assistentes", - "SWITCH_ASSISTANT": "Switch between assistants", - "NEW_ASSISTANT": "Create Assistant", - "EMPTY_LIST": "No assistants found, please create one to get started" + "SWITCH_ASSISTANT": "Alternar entre assistentes", + "NEW_ASSISTANT": "Criar Assistente", + "EMPTY_LIST": "Nenhum assistente encontrado. Crie um para começar" }, "COPILOT": { "TITLE": "Copiloto", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Você pode alterar ou cancelar seu plano a qualquer momento" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "O Capitão IA está disponível apenas nos planos Enterprise.", "UPGRADE_PROMPT": "Atualize seu plano para ter acesso aos nossos assistentes, copilotos e muito mais.", "ASK_ADMIN": "Entre em contato com seu administrador para fazer a atualização." }, @@ -531,8 +575,8 @@ "TITLE": "Não há assistentes disponíveis", "SUBTITLE": "Crie um assistente para fornecer respostas rápidas e precisas aos seus usuários. Ele pode aprender com seus artigos de ajuda e conversas passadas.", "FEATURE_SPOTLIGHT": { - "TITLE": "Captain Assistant", - "NOTE": "Captain Assistant engages directly with customers, learns from your help docs and past conversations, and delivers instant, accurate responses. It handles the initial queries, providing quick resolutions before transferring to an agent when needed." + "TITLE": "Assistente Capitão", + "NOTE": "O Assistente Capitão interage diretamente com os clientes, aprende com seus documentos de ajuda e conversas anteriores e fornece respostas instantâneas e precisas. Ele lida com as solicitações iniciais, oferecendo resoluções rápidas antes de transferir para um agente quando necessário." } }, "GUARDRAILS": { @@ -742,8 +786,8 @@ "TITLE": "Nenhum documento disponível", "SUBTITLE": "Os documentos são usados pelo seu assistente para gerar perguntas frequentes. Pode importar documentos para fornecer um contexto para seu assistente.", "FEATURE_SPOTLIGHT": { - "TITLE": "Captain Document", - "NOTE": "A document in Captain serves as a knowledge resource for the assistant. By connecting your help center or guides, Captain can analyze the content and provide accurate responses for customer inquiries." + "TITLE": "Documento do Capitão", + "NOTE": "Um documento no Capitão serve como um recurso de conhecimento para o assistente. Ao conectar sua central de ajuda ou guias, o Capitão pode analisar o conteúdo e fornecer respostas precisas para as dúvidas dos clientes." } } }, @@ -758,48 +802,48 @@ "NOTE": "Ferramentas personalizadas permitem seu assistente interagir com APIs e serviços externos. Crie ferramentas para obter dados, realizar ações ou integre com seus sistemas existentes para melhorar as capacidades do seu assistente." } }, - "FORM_DESCRIPTION": "Configure your custom tool to connect with external APIs", + "FORM_DESCRIPTION": "Configure sua ferramenta personalizada para se conectar a APIs externas", "OPTIONS": { - "EDIT_TOOL": "Edit tool", - "DELETE_TOOL": "Delete tool" + "EDIT_TOOL": "Editar ferramenta", + "DELETE_TOOL": "Excluir ferramenta" }, "CREATE": { - "TITLE": "Create Custom Tool", - "SUCCESS_MESSAGE": "Custom tool created successfully", - "ERROR_MESSAGE": "Failed to create custom tool" + "TITLE": "Criar Ferramenta Personalizada", + "SUCCESS_MESSAGE": "Ferramenta personalizada criada com sucesso", + "ERROR_MESSAGE": "Falha ao criar a ferramenta personalizada" }, "EDIT": { - "TITLE": "Edit Custom Tool", - "SUCCESS_MESSAGE": "Custom tool updated successfully", - "ERROR_MESSAGE": "Failed to update custom tool" + "TITLE": "Editar Ferramenta Personalizada", + "SUCCESS_MESSAGE": "Ferramenta personalizada atualizada com sucesso", + "ERROR_MESSAGE": "Falha ao atualizar a ferramenta personalizada" }, "DELETE": { - "TITLE": "Delete Custom Tool", + "TITLE": "Excluir ferramenta personalizada", "DESCRIPTION": "Tem certeza que deseja excluir está ferramenta customizável? Está ação não pode ser desfeita.", "CONFIRM": "Sim, excluir", - "SUCCESS_MESSAGE": "Custom tool deleted successfully", - "ERROR_MESSAGE": "Failed to delete custom tool" + "SUCCESS_MESSAGE": "Ferramenta personalizada excluída com sucesso", + "ERROR_MESSAGE": "Falha ao excluir a ferramenta personalizada" }, "FORM": { "TITLE": { "LABEL": "Nome da Ferramenta", - "PLACEHOLDER": "Order Lookup", + "PLACEHOLDER": "Consulta de pedido", "ERROR": "Nome da ferramente obrigatória" }, "DESCRIPTION": { "LABEL": "Descrição", - "PLACEHOLDER": "Looks up order details by order ID" + "PLACEHOLDER": "Consulta os detalhes do pedido pelo ID do pedido" }, "HTTP_METHOD": { - "LABEL": "Method" + "LABEL": "Método" }, "ENDPOINT_URL": { - "LABEL": "Endpoint URL", + "LABEL": "URL do endpoint", "PLACEHOLDER": "https://api.example.com/orders/{'{{'} order_id {'}}'}", - "ERROR": "Valid URL is required" + "ERROR": "É necessário informar uma URL válida" }, "AUTH_TYPE": { - "LABEL": "Authentication Type" + "LABEL": "Tipo de Autenticação" }, "AUTH_TYPES": { "NONE": "Nenhuma", @@ -809,23 +853,23 @@ }, "AUTH_CONFIG": { "BEARER_TOKEN": "Bearer Token", - "BEARER_TOKEN_PLACEHOLDER": "Enter your bearer token", - "USERNAME": "Username", - "USERNAME_PLACEHOLDER": "Enter username", + "BEARER_TOKEN_PLACEHOLDER": "Insira seu bearer token", + "USERNAME": "Nome de usuário", + "USERNAME_PLACEHOLDER": "Informe o nome de usuário", "PASSWORD": "Senha", - "PASSWORD_PLACEHOLDER": "Enter password", - "API_KEY": "Header Name", + "PASSWORD_PLACEHOLDER": "Informe a senha", + "API_KEY": "Nome do Cabeçalho", "API_KEY_PLACEHOLDER": "X-API-Key", - "API_VALUE": "Header Value", - "API_VALUE_PLACEHOLDER": "Enter API key value" + "API_VALUE": "Valor do Cabeçalho", + "API_VALUE_PLACEHOLDER": "Insira o valor da chave de API" }, "PARAMETERS": { - "LABEL": "Parameters", - "HELP_TEXT": "Define the parameters that will be extracted from user queries" + "LABEL": "Parâmetros", + "HELP_TEXT": "Defina os parâmetros que serão extraídos das consultas dos usuários" }, - "ADD_PARAMETER": "Add Parameter", + "ADD_PARAMETER": "Adicionar Parâmetro", "PARAM_NAME": { - "PLACEHOLDER": "Parameter name (e.g., order_id)" + "PLACEHOLDER": "Nome do parâmetro (ex.: order_id)" }, "PARAM_TYPE": { "PLACEHOLDER": "Tipo" @@ -838,27 +882,27 @@ "OBJECT": "Object" }, "PARAM_DESCRIPTION": { - "PLACEHOLDER": "Description of the parameter" + "PLACEHOLDER": "Descrição do parâmetro" }, "PARAM_REQUIRED": { "LABEL": "Obrigatório" }, "REQUEST_TEMPLATE": { - "LABEL": "Request Body Template (Optional)", + "LABEL": "Modelo do Corpo da Requisição (Opcional)", "PLACEHOLDER": "{'{'}\n \"order_id\": \"{'{{'} order_id {'}}'}\"\n{'}'}" }, "RESPONSE_TEMPLATE": { - "LABEL": "Response Template (Optional)", + "LABEL": "Modelo de Resposta (Opcional)", "PLACEHOLDER": "Order {'{{'} order_id {'}}'} status: {'{{'} status {'}}'}" }, "ERRORS": { - "PARAM_NAME_REQUIRED": "Parameter name is required" + "PARAM_NAME_REQUIRED": "O nome do parâmetro é obrigatório" } } }, "RESPONSES": { "HEADER": "FAQs", - "PENDING_FAQS": "Pending FAQs", + "PENDING_FAQS": "FAQs pendentes", "ADD_NEW": "Criar nova FAQ", "DOCUMENTABLE": { "CONVERSATION": "Conversação #{id}" @@ -899,8 +943,8 @@ "ALL": "Todos" }, "PENDING_BANNER": { - "TITLE": "Captain has found some FAQs your customers were looking for.", - "ACTION": "Click here to review" + "TITLE": "O Capitão encontrou algumas FAQs que seus clientes estavam procurando.", + "ACTION": "Clique aqui para revisar" }, "FORM_DESCRIPTION": "Adicione uma pergunta e sua resposta correspondente à base de conhecimento e selecione o assistente ao qual deve estar associado.", "CREATE": { @@ -933,12 +977,12 @@ }, "EMPTY_STATE": { "TITLE": "Nenhuma FAQ encontrada", - "NO_PENDING_TITLE": "There are no more pending FAQs to review", + "NO_PENDING_TITLE": "Não há mais FAQs pendentes para revisão", "SUBTITLE": "Perguntas Frequentes ajudam seu assistente a fornecer respostas rápidas e precisas para perguntas de seus clientes. Eles podem ser gerados automaticamente a partir do seu conteúdo ou podem ser adicionados manualmente.", - "CLEAR_SEARCH": "Clear active filters", + "CLEAR_SEARCH": "Limpar filtros ativos", "FEATURE_SPOTLIGHT": { - "TITLE": "Captain FAQ", - "NOTE": "Captain FAQs detects common customer questions—whether missing from your knowledge base or frequently asked—and generates relevant FAQs to improve support. You can review each suggestion and decide whether to approve or reject it." + "TITLE": "FAQ do Capitão", + "NOTE": "As FAQs do Capitão identificam as perguntas mais comuns dos clientes — tanto as que ainda não existem na sua base de conhecimento quanto as mais recorrentes — e gera FAQs relevantes para melhorar o atendimento. Você pode revisar cada sugestão e decidir se aprova ou rejeita." } } }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json index 57ec75f43..d12760252 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Buscando etiquetas", "DESCRIPTION": "As etiquetas ajudam você a categorizar e priorizar conversas e leads. Você pode atribuir uma etiqueta a uma conversa ou contato usando o painel lateral.", "LEARN_MORE": "Aprenda mais sobre etiquetas", + "COUNT": "{n} etiqueta | {n} etiquetas", + "SEARCH_PLACEHOLDER": "Pesquisar etiquetas...", + "NO_RESULTS": "Nenhuma etiqueta encontrada correspondente à sua busca", "SEARCH_404": "Não existem itens correspondentes a esta consulta", "LIST": { "404": "Não há etiquetas disponíveis nesta conta.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nome", "DESCRIPTION": "Descrição", - "COLOR": "Cor" + "COLOR": "Cor", + "ACTION": "Ações" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/login.json b/app/javascript/dashboard/i18n/locale/pt_BR/login.json index 10822f103..14b3ddf21 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/login.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/login.json @@ -34,7 +34,7 @@ }, "SUBMIT": "Continuar com SSO", "API": { - "ERROR_MESSAGE": "SSO authentication failed. Please check your credentials and try again." + "ERROR_MESSAGE": "A autenticação SSO falhou. Verifique suas credenciais e tente novamente." } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/macros.json b/app/javascript/dashboard/i18n/locale/pt_BR/macros.json index 81f30c4f1..0e99eb521 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/macros.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "Uma macro é um conjunto de ações salvas que ajudam os agentes de atendimento ao cliente a concluir tarefas com facilidade. Os agentes podem definir um conjunto de ações, como etiquetar uma conversa com um rótulo, enviar uma transcrição de e-mail, atualizar um atributo personalizado, etc., e podem executar essas ações com um único clique.", "LEARN_MORE": "Aprenda mais sobre macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Adicionar uma nova macro", "HEADER_BTN_TXT_SAVE": "Salvar macro", "LOADING": "Obtendo macros", + "SEARCH_PLACEHOLDER": "Pesquisar macros...", + "NO_RESULTS": "Nenhum macro encontrado correspondente à sua busca", "ERROR": "Algo deu errado. Por favor, tente novamente", "ORDER_INFO": "As macros serão executadas na ordem que você adicionar suas ações. Você pode reorganizá-las arrastando-as pelo identificador ao lado de cada nó.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nome", "CREATED BY": "Criada por", "LAST_UPDATED_BY": "Ultima atualização por", - "VISIBILITY": "Visibilidade" + "VISIBILITY": "Visibilidade", + "ACTIONS": "Ações" }, "404": "Nenhuma macro encontrada" }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json b/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json index 67a158090..9a84d2144 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json @@ -1,106 +1,106 @@ { "MFA_SETTINGS": { - "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", - "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", - "STATUS_TITLE": "Authentication Status", - "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", + "TITLE": "Autenticação em Dois Fatores", + "SUBTITLE": "Proteja sua conta contra acessos não autorizados com autenticação baseada em TOTP. Isso adiciona uma camada extra de segurança à sua conta.", + "DESCRIPTION": "Adicione uma camada extra de segurança à sua conta usando uma senha temporária baseada em tempo (TOTP)", + "STATUS_TITLE": "Estado da Autenticação", + "STATUS_DESCRIPTION": "Gerencie as configurações de autenticação em dois fatores e os códigos de recuperação", "ENABLED": "Ativado", "DISABLED": "Desativado", - "STATUS_ENABLED": "Two-factor authentication is active", - "STATUS_ENABLED_DESC": "Your account is protected with an additional layer of security", - "ENABLE_BUTTON": "Enable Two-Factor Authentication", - "ENHANCE_SECURITY": "Enhance Your Account Security", - "ENHANCE_SECURITY_DESC": "Two-factor authentication adds an extra layer of security by requiring a verification code from your authenticator app in addition to your password.", + "STATUS_ENABLED": "A autenticação em dois fatores está ativa", + "STATUS_ENABLED_DESC": "Sua conta está protegida com uma camada extra de segurança", + "ENABLE_BUTTON": "Habilitar autenticação em dois fatores", + "ENHANCE_SECURITY": "Reforce a Segurança da Sua Conta", + "ENHANCE_SECURITY_DESC": "A autenticação em dois fatores adiciona uma camada extra de segurança ao exigir um código de verificação do seu aplicativo autenticador, além da sua senha.", "SETUP": { "STEP_NUMBER_1": "1", "STEP_NUMBER_2": "2", - "STEP1_TITLE": "Scan QR Code with Your Authenticator App", - "STEP1_DESCRIPTION": "Use Google Authenticator, Authy, or any TOTP-compatible app", + "STEP1_TITLE": "Escaneie o Código QR com seu Aplicativo Autenticador", + "STEP1_DESCRIPTION": "Use o Google Authenticator, Authy ou qualquer outro aplicativo compatível com TOTP", "LOADING_QR": "Carregando...", - "MANUAL_ENTRY": "Can't scan? Enter code manually", - "SECRET_KEY": "Secret Key", + "MANUAL_ENTRY": "Não consegue escanear? Digite o código manualmente", + "SECRET_KEY": "Chave secreta", "COPY": "Copiar", - "ENTER_CODE": "Enter the 6-digit code from your authenticator app", + "ENTER_CODE": "Insira o código de 6 dígitos do seu aplicativo autenticador", "ENTER_CODE_PLACEHOLDER": "000000", - "VERIFY_BUTTON": "Verify & Continue", + "VERIFY_BUTTON": "Verificar e Continuar", "CANCEL": "Cancelar", - "ERROR_STARTING": "MFA not enabled. Please contact administrator.", + "ERROR_STARTING": "O MFA não está habilitado. Entre em contato com o administrador.", "INVALID_CODE": "Código de verificação inválido", - "SECRET_COPIED": "Secret key copied to clipboard", - "SUCCESS": "Two-factor authentication has been enabled successfully" + "SECRET_COPIED": "Chave secreta copiada para a área de transferência", + "SUCCESS": "A autenticação em dois fatores foi ativada com sucesso" }, "BACKUP": { - "TITLE": "Save Your Backup Codes", - "DESCRIPTION": "Keep these codes safe. Each can be used once if you lose access to your authenticator", - "IMPORTANT": "Important:", - "IMPORTANT_NOTE": " Save these codes in a secure location. You won't be able to see them again.", + "TITLE": "Salve Seus Códigos de Recuperação", + "DESCRIPTION": "Guarde esses códigos com segurança. Cada um pode ser usado uma única vez caso você perca o acesso ao seu aplicativo autenticador", + "IMPORTANT": "Importante:", + "IMPORTANT_NOTE": " Salve esses códigos em um local seguro. Você não poderá vê-los novamente.", "DOWNLOAD": "Baixar", - "COPY_ALL": "Copy All", - "CONFIRM": "I have saved my backup codes in a secure location and understand that I won't be able to see them again", - "COMPLETE_SETUP": "Complete Setup", - "CODES_COPIED": "Backup codes copied to clipboard" + "COPY_ALL": "Copiar Todos", + "CONFIRM": "Salvei meus códigos de recuperação em um local seguro e entendo que não poderei vê-los novamente", + "COMPLETE_SETUP": "Finalizar Configuração", + "CODES_COPIED": "Códigos de recuperação copiados para a área de transferência" }, "MANAGEMENT": { - "BACKUP_CODES": "Backup Codes", - "BACKUP_CODES_DESC": "Generate new codes if you've lost or used your existing ones", - "REGENERATE": "Regenerate Backup Codes", - "DISABLE_MFA": "Disable 2FA", - "DISABLE_MFA_DESC": "Remove two-factor authentication from your account", - "DISABLE_BUTTON": "Disable Two-Factor Authentication" + "BACKUP_CODES": "Códigos de Recuperação", + "BACKUP_CODES_DESC": "Gere novos códigos caso tenha perdido ou já utilizado os códigos existentes", + "REGENERATE": "Gerar novos códigos de recuperação", + "DISABLE_MFA": "Desabilitar 2FA", + "DISABLE_MFA_DESC": "Remover a autenticação em dois fatores da sua conta", + "DISABLE_BUTTON": "Desabilitar Autenticação em Dois Fatores" }, "DISABLE": { - "TITLE": "Disable Two-Factor Authentication", - "DESCRIPTION": "You'll need to enter your password and a verification code to disable two-factor authentication.", + "TITLE": "Desabilitar Autenticação em Dois Fatores", + "DESCRIPTION": "Você precisará informar sua senha e um código de verificação para desativar a autenticação em dois fatores.", "PASSWORD": "Senha", - "OTP_CODE": "Verification Code", + "OTP_CODE": "Código de Verificação", "OTP_CODE_PLACEHOLDER": "000000", - "CONFIRM": "Disable 2FA", + "CONFIRM": "Desabilitar 2FA", "CANCEL": "Cancelar", - "SUCCESS": "Two-factor authentication has been disabled", - "ERROR": "Failed to disable MFA. Please check your credentials." + "SUCCESS": "A autenticação em dois fatores foi desabilitada", + "ERROR": "Falha ao desabilitar o MFA. Verifique suas credenciais." }, "REGENERATE": { - "TITLE": "Regenerate Backup Codes", - "DESCRIPTION": "This will invalidate your existing backup codes and generate new ones. Enter your verification code to continue.", - "OTP_CODE": "Verification Code", + "TITLE": "Gerar Novos Códigos de Recuperação", + "DESCRIPTION": "Isso invalidará seus códigos de recuperação atuais e gerará novos. Informe o código de verificação para continuar.", + "OTP_CODE": "Código de Verificação", "OTP_CODE_PLACEHOLDER": "000000", - "CONFIRM": "Generate New Codes", + "CONFIRM": "Gerar Novos Códigos", "CANCEL": "Cancelar", - "NEW_CODES_TITLE": "New Backup Codes Generated", - "NEW_CODES_DESC": "Your old backup codes have been invalidated. Save these new codes in a secure location.", - "CODES_IMPORTANT": "Important:", - "CODES_IMPORTANT_NOTE": " Each code can only be used once. Save them before closing this window.", - "DOWNLOAD_CODES": "Download Codes", - "COPY_ALL_CODES": "Copy All Codes", - "CODES_SAVED": "I've Saved My Codes", - "SUCCESS": "New backup codes have been generated", - "ERROR": "Failed to regenerate backup codes" + "NEW_CODES_TITLE": "Novos Códigos de Recuperação Gerados", + "NEW_CODES_DESC": "Seus códigos de recuperação antigos foram invalidados. Salve estes novos códigos em um local seguro.", + "CODES_IMPORTANT": "Importante:", + "CODES_IMPORTANT_NOTE": " Cada código só pode ser usado apenas uma vez. Salve-os antes de fechar esta janela.", + "DOWNLOAD_CODES": "Baixar Códigos", + "COPY_ALL_CODES": "Copiar Todos os Códigos", + "CODES_SAVED": "Eu Já Salvei Meus Códigos", + "SUCCESS": "Novos códigos de recuperação foram gerados", + "ERROR": "Falha ao gerar novos códigos de recuperação" } }, "MFA_VERIFICATION": { - "TITLE": "Two-Factor Authentication", - "DESCRIPTION": "Enter your verification code to continue", - "AUTHENTICATOR_APP": "Authenticator App", - "BACKUP_CODE": "Backup Code", - "ENTER_OTP_CODE": "Enter 6-digit code from your authenticator app", - "ENTER_BACKUP_CODE": "Enter one of your backup codes", + "TITLE": "Autenticação em Dois Fatores", + "DESCRIPTION": "Informe o código de verificação para continuar", + "AUTHENTICATOR_APP": "Aplicativo Autenticador", + "BACKUP_CODE": "Código de Recuperação", + "ENTER_OTP_CODE": "Insira o código de 6 dígitos do seu aplicativo autenticador", + "ENTER_BACKUP_CODE": "Insira um dos seus códigos de recuperação", "BACKUP_CODE_PLACEHOLDER": "000000", - "VERIFY_BUTTON": "Verify", - "TRY_ANOTHER_METHOD": "Try another verification method", - "CANCEL_LOGIN": "Cancel and return to login", - "HELP_TEXT": "Having trouble signing in?", - "LEARN_MORE": "Learn more about 2FA", + "VERIFY_BUTTON": "Verificar", + "TRY_ANOTHER_METHOD": "Tentar outro método de verificação", + "CANCEL_LOGIN": "Cancelar e voltar para o login", + "HELP_TEXT": "Está com dificuldade para entrar?", + "LEARN_MORE": "Saiba mais sobre o 2FA", "HELP_MODAL": { - "TITLE": "Two-Factor Authentication Help", - "AUTHENTICATOR_TITLE": "Using an Authenticator App", - "AUTHENTICATOR_DESC": "Open your authenticator app (Google Authenticator, Authy, etc.) and enter the 6-digit code shown for your account.", - "BACKUP_TITLE": "Using a Backup Code", - "BACKUP_DESC": "If you don't have access to your authenticator app, you can use one of the backup codes you saved when setting up 2FA. Each code can only be used once.", - "CONTACT_TITLE": "Need More Help?", - "CONTACT_DESC_CLOUD": "If you've lost access to both your authenticator app and backup codes, please reach out to Chatwoot support for assistance.", - "CONTACT_DESC_SELF_HOSTED": "If you've lost access to both your authenticator app and backup codes, please contact your administrator for assistance." + "TITLE": "Ajuda com Autenticação em Dois Fatores", + "AUTHENTICATOR_TITLE": "Usando um Aplicativo de Autenticação", + "AUTHENTICATOR_DESC": "Abra seu aplicativo autenticador (Google Authenticator, Authy etc.) e digite o código de 6 dígitos exibido para a sua conta.", + "BACKUP_TITLE": "Usando um Código de Backup", + "BACKUP_DESC": "Se você não tiver acesso ao seu aplicativo autenticador, pode usar um dos códigos de backup que salvou ao configurar o 2FA. Cada código só pode ser usado uma vez.", + "CONTACT_TITLE": "Precisa de Mais Ajuda?", + "CONTACT_DESC_CLOUD": "Se você perdeu o acesso tanto ao aplicativo autenticador quanto aos códigos de backup, entre em contato com o suporte do Chatwoot para obter ajuda.", + "CONTACT_DESC_SELF_HOSTED": "Se você perdeu o acesso tanto ao aplicativo autenticador quanto aos códigos de backup, entre em contato com o administrador para obter ajuda." }, - "VERIFICATION_FAILED": "Verification failed. Please try again." + "VERIFICATION_FAILED": "Falha na verificação. Tente novamente." } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/report.json b/app/javascript/dashboard/i18n/locale/pt_BR/report.json index 426e895c1..e3d59d222 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/report.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversas", "LOADING_CHART": "Carregando dados do gráfico...", "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", - "DOWNLOAD_AGENT_REPORTS": "Baixar relatórios de agentes", + "DOWNLOAD_CONVERSATION_REPORTS": "Baixar relatórios de conversas", "DATA_FETCHING_FAILED": "Falha ao buscar dados, tente novamente mais tarde.", "SUMMARY_FETCHING_FAILED": "Não foi possível obter o resumo. Tente novamente mais tarde.", "METRICS": { @@ -53,8 +53,8 @@ "LAST_7_DAYS": "Últimos 7 dias", "LAST_14_DAYS": "Últimos 14 dias", "LAST_30_DAYS": "Últimos 30 dias", - "THIS_MONTH": "This month", - "LAST_MONTH": "Last month", + "THIS_MONTH": "Este mês", + "LAST_MONTH": "Último mês", "LAST_3_MONTHS": "Últimos 3 meses", "LAST_6_MONTHS": "Últimos 6 meses", "LAST_YEAR": "Ano passado", @@ -123,16 +123,21 @@ }, "PAGINATION": { "RESULTS": "Exibindo {start} — {end} de {total} resultados", - "PER_PAGE_TEMPLATE": "{size} / page" + "PER_PAGE_TEMPLATE": "{size} / página" } }, "AGENT_REPORTS": { "HEADER": "Visão Geral de Agentes", - "DESCRIPTION": "Acompanhe facilmente o desempenho do agente com métricas-chave, como conversas, tempos de resposta, tempos de resolução e casos resolvidos. Clique no nome de um agente para saber mais.", + "DESCRIPTION": "Acompanhe facilmente o desempenho dos agentes com métricas-chave, como conversas, tempos de resposta, tempos de resolução e casos resolvidos. Clique no nome de um agente para saber mais.", "LOADING_CHART": "Carregando dados do gráfico...", "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", "DOWNLOAD_AGENT_REPORTS": "Baixar relatórios de agentes", "FILTER_DROPDOWN_LABEL": "Selecione Agente", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Pesquisar agentes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", "DOWNLOAD_LABEL_REPORTS": "Baixar relatórios de etiquetas", "FILTER_DROPDOWN_LABEL": "Selecionar etiqueta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Pesquisar etiquetas" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -269,8 +279,13 @@ "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", "DOWNLOAD_INBOX_REPORTS": "Baixar relatórios de entrada", "FILTER_DROPDOWN_LABEL": "Selecionar caixa de entrada", - "ALL_INBOXES": "All Inboxes", - "SEARCH_INBOX": "Search Inbox", + "ALL_INBOXES": "Todas as caixas de entrada", + "SEARCH_INBOX": "Pesquisar caixa de entrada", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Pesquisar caixas de entrada" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Resumo do Time", - "DESCRIPTION": "Obtenha um instantâneo do desempenho de seu time com métricas essenciais, incluindo conversas, tempos de resposta, tempos de resolução e casos resolvidos. Clique no nome do time para mais detalhes.", + "DESCRIPTION": "Tenha uma visão geral do desempenho dos seus times com métricas essenciais, incluindo conversas, tempos de resposta, tempos de resolução e casos resolvidos. Clique no nome do time para ver mais detalhes.", "LOADING_CHART": "Carregando dados do gráfico...", "NO_ENOUGH_DATA": "Não existem dados suficientes para gerar o relatório. Tente novamente mais tarde.", "DOWNLOAD_TEAM_REPORTS": "Baixar relatórios de time", "FILTER_DROPDOWN_LABEL": "Selecionar Time", + "FILTERS": { + "ADD_FILTER": "Adicionar filtro", + "CLEAR_ALL": "Limpar tudo", + "NO_FILTER": "Não há filtros disponíveis", + "INPUT_PLACEHOLDER": { + "TEAMS": "Pesquisar times" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversas", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Relatórios CSAT", - "NO_RECORDS": "Não há respostas de pesquisa em CSAT disponíveis.", + "NO_RECORDS": "Ainda não há respostas", + "NO_RECORDS_DESCRIPTION": "As respostas da pesquisa de CSAT aparecerão aqui assim que os clientes começarem a fornecer comentários.", "DOWNLOAD": "Baixar relatórios de CSAT", "DOWNLOAD_FAILED": "Falha ao baixar Relatórios CSAT", "FILTERS": { + "ADD_FILTER": "Adicionar filtro", + "CLEAR_ALL": "Limpar tudo", + "NO_FILTER": "Não há filtros disponíveis", + "INPUT_PLACEHOLDER": { + "AGENTS": "Pesquisar agentes", + "INBOXES": "Pesquisar caixas de entrada", + "TEAMS": "Pesquisar times", + "RATINGS": "Pesquisar avaliações" + }, "AGENTS": { - "PLACEHOLDER": "Escolher agentes" + "LABEL": "Agente" + }, + "INBOXES": { + "LABEL": "Caixa de Entrada" + }, + "TEAMS": { + "LABEL": "Time" + }, + "RATINGS": { + "LABEL": "Classificação" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contato", - "AGENT_NAME": "Agente atribuído", + "AGENT_NAME": "Agente", "RATING": "Classificação", - "FEEDBACK_TEXT": "Comentário do feedback" - } + "FEEDBACK_TEXT": "Comentário do feedback", + "CONVERSATION": "Conversas", + "CUSTOMER": "Cliente", + "RESPONSE": "Resposta", + "HANDLED_BY": "Atendido por" + }, + "UNKNOWN_CUSTOMER": "Cliente desconhecido" }, + "NO_AGENT": "Nenhum agente atribuído", + "NO_FEEDBACK": "Nenhum comentário fornecido", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total de respostas", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Taxa de resposta", "TOOLTIP": "Número total de respostas / Número total de mensagens CSAT de pesquisa enviadas * 100" + }, + "RATING_DISTRIBUTION": "Distribuição de avaliações" + }, + "REVIEW_NOTES": { + "TITLE": "Notas da avaliação", + "PLACEHOLDER": "Adicione notas sobre esta avaliação...", + "SAVE": "Salvar", + "CANCEL": "Cancelar", + "SAVING": "Salvando...", + "SAVED": "Notas salvas com sucesso", + "SAVE_ERROR": "Falha ao salvar as notas", + "UPDATED_BY": "Atualizado por {name} {time}", + "UPDATED_BY_LABEL": "Atualizado por", + "PAYWALL": { + "TITLE": "Atualize para adicionar notas de avaliação", + "AVAILABLE_ON": "O recurso de notas de avaliação está disponível apenas nos planos Business e Enterprise.", + "UPGRADE_PROMPT": "Adicione contexto interno a cada resposta de CSAT com notas de avaliação. Registre o que realmente aconteceu, identifique padrões mais rapidamente e tome decisões melhores a partir do seu feedback.", + "UPGRADE_NOW": "Atualizar agora", + "CANCEL_ANYTIME": "Você pode alterar ou cancelar seu plano a qualquer momento" } } }, @@ -473,7 +541,7 @@ "DOWNLOAD_REPORT": "Baixar relatório" }, "RESOLUTION_HEATMAP": { - "HEADER": "Resolutions", + "HEADER": "Resoluções", "NO_CONVERSATIONS": "Não há conversas", "CONVERSATION": "{count} conversa", "CONVERSATIONS": "{count} conversas", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/search.json b/app/javascript/dashboard/i18n/locale/pt_BR/search.json index 2cb8f25c2..e9b9589a6 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/search.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/search.json @@ -35,7 +35,7 @@ "PRIVATE": "Nota privada", "TRANSCRIPT": "Transcrição", "CREATED_AT": "criado {time}", - "UPDATED_AT": "atualizado em {time}", + "UPDATED_AT": "atualizado {time}", "SORT_BY": { "RELEVANCE": "Relevância" }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index ed73d733d..381c20429 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -82,7 +82,7 @@ }, "SECURITY_SECTION": { "TITLE": "Segurança", - "NOTE": "Manage additional security features for your account.", + "NOTE": "Gerencie recursos adicionais de segurança para sua conta.", "MFA_BUTTON": "Gerenciar autenticação de dois fatores " }, "ACCESS_TOKEN": { @@ -149,7 +149,7 @@ "NOTIFICATIONS": { "TITLE": "Preferências de notificação", "TYPE_TITLE": "Tipo de notificação", - "EMAIL": "e-mail", + "EMAIL": "E-mail", "PUSH": "Notificação ", "TYPES": { "CONVERSATION_CREATED": "Uma nova conversa foi criada", @@ -254,9 +254,9 @@ "MESSAGE": "Sua conta está suspensa. Entre em contato com a equipe de suporte para obter mais informações." }, "NO_ACCOUNTS": { - "TITLE": "No account found", - "MESSAGE_CLOUD": "You are not part of any accounts right now. If you think this is a mistake, please reach out to our support team.", - "MESSAGE_SELF_HOSTED": "You are not part of any accounts right now. Please reach out to your administrator.", + "TITLE": "Nenhuma conta encontrada", + "MESSAGE_CLOUD": "Você não faz parte de nenhuma conta no momento. Se acreditar que isso é um engano, entre em contato com nossa equipe de suporte.", + "MESSAGE_SELF_HOSTED": "Você não faz parte de nenhuma conta no momento. Entre em contato com o seu administrador.", "LOGOUT": "Encerrar sessão" } }, @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Baixar", "UPLOADING": "Enviando...", - "INSTAGRAM_STORY_UNAVAILABLE": "Este story não está mais disponível." + "INSTAGRAM_STORY_UNAVAILABLE": "Este story não está mais disponível.", + "INSTAGRAM_STORY_REPLY": "Respondido ao seu story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Ver Localização" @@ -356,7 +357,7 @@ "REPORTS_LABEL": "Etiquetas", "REPORTS_INBOX": "Caixa de Entrada", "REPORTS_TEAM": "Time", - "AGENT_ASSIGNMENT": "Agent Assignment", + "AGENT_ASSIGNMENT": "Atribuição de Agentes", "SET_AVAILABILITY_TITLE": "Defina como", "SET_YOUR_AVAILABILITY": "Disponibilidade", "SLA": "SLA", @@ -378,7 +379,57 @@ "INFO_SHORT": "Marcar off-line automaticamente quando não estiver usando o aplicativo." }, "DOCS": "Ler documentos", - "SECURITY": "Segurança" + "SECURITY": "Segurança", + "CAPTAIN_AI": "Capitão", + "CONVERSATION_WORKFLOW": "Fluxo de Conversa" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Configurações do Capitão", + "DESCRIPTION": "Configure seus modelos e recursos de IA para o Capitão. O Capitão utiliza um modelo de cobrança baseado em créditos; você será cobrado em créditos por cada ação que o Capitão realizar, dependendo do modelo selecionado.", + "LOADING": "Carregando configurações do Capitão...", + "LINK_TEXT": "Saiba mais sobre os Créditos do Capitão", + "NOT_ENABLED": "O Capitão não está habilitado para a sua conta. Atualize seu plano para acessar os recursos do Capitão.", + "MODEL_CONFIG": { + "TITLE": "Configuração do Modelo", + "DESCRIPTION": "Selecione modelos de IA para diferentes recursos.", + "SELECT_MODEL": "Selecionar modelo", + "CREDITS_PER_MESSAGE": "{credits} crédito/mensagem", + "COMING_SOON": "Em breve", + "EDITOR": { + "TITLE": "Recursos do Editor", + "DESCRIPTION": "Potencializa a escrita inteligente, correções gramaticais, ajustes de tom e aprimoramento de conteúdo no editor de mensagens." + }, + "ASSISTANT": { + "TITLE": "Assistente", + "DESCRIPTION": "Gerencia respostas automatizadas, resumos de conversas e sugestões inteligentes de resposta para interações com clientes." + }, + "COPILOT": { + "TITLE": "Copiloto", + "DESCRIPTION": "Fornece sugestões contextuais em tempo real, recomendações da base de conhecimento e insights proativos durante as conversas." + } + }, + "FEATURES": { + "TITLE": "Funcionalidades", + "DESCRIPTION": "Ative ou desative recursos com tecnologia de IA.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Transcrição de Áudio", + "DESCRIPTION": "Converte automaticamente mensagens de voz e gravações de chamadas em transcrições de texto pesquisáveis." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Indexação de Pesquisa da Central de Ajuda", + "DESCRIPTION": "Use IA para realizar buscas com reconhecimento de contexto nos artigos da sua central de ajuda." + }, + "LABEL_SUGGESTION": { + "TITLE": "Sugestão de Etiquetas", + "DESCRIPTION": "Sugere automaticamente rótulos e etiquetas relevantes para as conversas, com base na análise de conteúdo e no contexto.", + "MODEL_TITLE": "Modelo de Sugestão de Etiquetas", + "MODEL_DESCRIPTION": "Selecione o modelo de IA a ser utilizado para analisar as conversas e sugerir etiquetas apropriadas" + } + }, + "API": { + "SUCCESS": "Configurações do Capitão atualizadas com sucesso.", + "ERROR": "Falha ao atualizar as configurações do Capitão. Por favor, tente novamente." + } }, "BILLING_SETTINGS": { "TITLE": "Cobrança", @@ -413,9 +464,9 @@ "TOPUP": { "BUY_CREDITS": "Comprar mais créditos", "MODAL_TITLE": "Comprar Créditos de IA", - "MODAL_DESCRIPTION": "Comprar créditos adicionais para o Capitão AI.", + "MODAL_DESCRIPTION": "Comprar créditos adicionais para o Capitão IA.", "CREDITS": "CRÉDITOS", - "ONE_TIME": "única vez", + "ONE_TIME": "único", "POPULAR": "Mais populares", "NOTE_TITLE": "Nota:", "NOTE_DESCRIPTION": "Créditos são adicionados imediatamente e expiram em 6 meses. Uma assinatura ativa é necessária para usar créditos. Créditos adquiridos são consumidos após seus créditos do plano mensal.", @@ -426,11 +477,11 @@ "PURCHASE_ERROR": "Falha ao processar a compra. Por favor, tente novamente.", "PURCHASE_SUCCESS": "Foram adicionados {credits} créditos com sucesso à sua conta", "CONFIRM": { - "TITLE": "Confirmar compra", + "TITLE": "Confirmar Compra", "DESCRIPTION": "Você está prestes a comprar {credits} créditos por {amount}.", "INSTANT_DEDUCTION_NOTE": "Seu cartão salvo será cobrado imediatamente após a confirmação.", "GO_BACK": "Voltar", - "CONFIRM_PURCHASE": "Confirmar compra" + "CONFIRM_PURCHASE": "Confirmar Compra" } } }, @@ -441,68 +492,120 @@ "SAML_DISABLED_MESSAGE": "O SSO via SAML está desativado no momento. Entre em contato com o administrador para habilitar esse recurso.", "SAML": { "TITLE": "SAML SSO", - "NOTE": "Configure SAML single sign-on for your account. Users will authenticate through your identity provider instead of using email/password.", + "NOTE": "Configure o login único via SAML para sua conta. Os usuários se autenticarão por meio do seu provedor de identidade em vez de usar e-mail e senha.", "ACS_URL": { "LABEL": "ACS URL", - "TOOLTIP": "Assertion Consumer Service URL - Configure this URL in your IdP as the destination for SAML responses" + "TOOLTIP": "URL do Assertion Consumer Service - Configure esta URL no seu IdP como o destino para as respostas SAML" }, "SSO_URL": { "LABEL": "SSO URL", - "HELP": "The URL where SAML authentication requests will be sent", + "HELP": "A URL para onde as solicitações de autenticação SAML serão enviadas", "PLACEHOLDER": "https://your-idp.com/saml/sso" }, "CERTIFICATE": { - "LABEL": "Signing certificate in PEM format", - "HELP": "The public certificate from your identity provider used to verify SAML responses", + "LABEL": "Certificado de assinatura no formato PEM", + "HELP": "O certificado público do seu provedor de identidade, usado para verificar as respostas SAML", "PLACEHOLDER": "-----BEGIN CERTIFICATE-----\nMIIC..." }, "FINGERPRINT": { - "LABEL": "Fingerprint", - "TOOLTIP": "SHA-1 fingerprint of the certificate - Use this to verify the certificate in your IdP configuration" + "LABEL": "Impressão digital", + "TOOLTIP": "Impressão digital SHA-1 do certificado - use-a para verificar o certificado na configuração do seu IdP" }, "COPY_SUCCESS": "Código copiado para área de transferência com sucesso", "SP_ENTITY_ID": { "LABEL": "SP Entity ID", - "HELP": "Unique identifier for this application as a service provider (auto-generated).", - "TOOLTIP": "Unique identifier for Chatwoot as the Service Provider - Configure this in your IdP settings" + "HELP": "Identificador exclusivo desta aplicação como provedor de serviço (gerado automaticamente).", + "TOOLTIP": "Identificador exclusivo do Chatwoot como Provedor de Serviço - configure-o nas configurações do seu IdP" }, "IDP_ENTITY_ID": { - "LABEL": "Identity Provider Entity ID", - "HELP": "Unique identifier for your identity provider (usually found in IdP configuration)", - "PLACEHOLDER": "https://your-idp.com/saml" + "LABEL": "ID da Entidade do Provedor de Identidade", + "HELP": "Identificador exclusivo do seu provedor de identidade (geralmente encontrado na configuração do IdP)", + "PLACEHOLDER": "https://seu-idp.com/saml" }, - "UPDATE_BUTTON": "Update SAML Settings", + "UPDATE_BUTTON": "Atualizar configurações de SAML", "API": { - "SUCCESS": "SAML settings updated successfully", - "ERROR": "Failed to update SAML settings", - "ERROR_LOADING": "Failed to load SAML settings", - "DISABLED": "SAML settings disabled successfully" + "SUCCESS": "Configurações de SAML atualizadas com sucesso", + "ERROR": "Falha ao atualizar as configurações de SAML", + "ERROR_LOADING": "Falha ao carregar as configurações de SAML", + "DISABLED": "Configurações de SAML desativadas com sucesso" }, "VALIDATION": { - "REQUIRED_FIELDS": "SSO URL, Identity Provider Entity ID, and Certificate are required fields", - "SSO_URL_ERROR": "Please enter a valid SSO URL", + "REQUIRED_FIELDS": "A URL de SSO, o ID da Entidade do Provedor de Identidade e o Certificado são campos obrigatórios", + "SSO_URL_ERROR": "Por favor, insira uma URL de SSO válida", "CERTIFICATE_ERROR": "O certificado é necessário", - "IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID is required" + "IDP_ENTITY_ID_ERROR": "O ID da Entidade do Provedor de Identidade é obrigatório" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade to an Enterprise plan to access SAML single sign-on and other advanced security features.", + "AVAILABLE_ON": "O recurso de SSO via SAML está disponível apenas nos planos Enterprise.", + "UPGRADE_PROMPT": "Atualize para um plano Enterprise para ter acesso ao login único via SAML e outros recursos avançados de segurança.", "ASK_ADMIN": "Entre em contato com seu administrador para fazer a atualização." }, "PAYWALL": { - "TITLE": "Upgrade to enable SAML SSO", - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade your plan to get access to SAML single sign-on and other advanced features.", + "TITLE": "Atualizar para habilitar o SSO via SAML", + "AVAILABLE_ON": "O recurso de SSO via SAML está disponível apenas nos planos Enterprise.", + "UPGRADE_PROMPT": "Atualize seu plano para ter acesso ao login único via SAML e outros recursos avançados.", "UPGRADE_NOW": "Atualizar agora", "CANCEL_ANYTIME": "Você pode alterar ou cancelar seu plano a qualquer momento" }, "ATTRIBUTE_MAPPING": { - "TITLE": "SAML Attribute Setup", - "DESCRIPTION": "The following attribute mappings must be configured in your identity provider" + "TITLE": "Configuração de Atributos SAML", + "DESCRIPTION": "Os seguintes mapeamentos de atributos devem ser configurados no seu provedor de identidade" }, "INFO_SECTION": { - "TITLE": "Service Provider Information", - "TOOLTIP": "Copy these values and configure them in your Identity Provider to establish the SAML connection" + "TITLE": "Informações do Provedor de Serviço", + "TOOLTIP": "Copie esses valores e configure-os no seu Provedor de Identidade para estabelecer a conexão SAML" + } + } + }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Fluxos de Conversa", + "DESCRIPTION": "Configure regras e campos obrigatórios para a resolução de conversas." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Atributos obrigatórios para resolução", + "DESCRIPTION": "Ao resolver uma conversa, os agentes serão solicitados a preencher esses atributos caso ainda não o tenham feito.", + "NO_ATTRIBUTES": "Nenhum atributo adicionado ainda", + "ADD": { + "TITLE": "Adicionar Atributos", + "SEARCH_PLACEHOLDER": "Pesquisar atributos" + }, + "SAVE": { + "SUCCESS": "Atributos obrigatórios atualizados", + "ERROR": "Não foi possível atualizar os atributos obrigatórios. Por favor, tente novamente" + }, + "MODAL": { + "TITLE": "Resolver conversa", + "DESCRIPTION": "Por favor, preencha os seguintes atributos personalizados antes de resolver esta conversa", + "ACTIONS": { + "RESOLVE": "Resolver conversa", + "CANCEL": "Cancelar" + }, + "PLACEHOLDERS": { + "TEXT": "Escreva uma nota...", + "NUMBER": "Insira um número", + "LINK": "Adicione um link", + "DATE": "Selecione uma data", + "LIST": "Selecione uma opção" + }, + "CHECKBOX": { + "YES": "Sim", + "NO": "Não" + } + }, + "PAYWALL": { + "TITLE": "Atualize para usar os atributos obrigatórios", + "AVAILABLE_ON": "O recurso de atributos obrigatórios da conversa está disponível nos planos Business e Enterprise.", + "UPGRADE_PROMPT": "Atualize seu plano para solicitar que os agentes preencham os atributos obrigatórios antes da resolução da conversa.", + "UPGRADE_NOW": "Atualizar agora", + "CANCEL_ANYTIME": "Você pode alterar ou cancelar seu plano a qualquer momento" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "O recurso de atributos obrigatórios de conversa está disponível nos planos pagos.", + "UPGRADE_PROMPT": "Atualize para um plano pago para exigir atributos obrigatórios antes da resolução da conversa.", + "ASK_ADMIN": "Entre em contato com seu administrador para fazer a atualização." } } }, @@ -546,84 +649,91 @@ "ASSIGNMENT_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Agent assignment", - "DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here" + "TITLE": "Atribuição de agentes", + "DESCRIPTION": "Defina políticas para gerenciar a carga de trabalho de forma eficaz e encaminhar conversas com base nas necessidades das caixas de entrada e dos agentes. Saiba mais aqui" }, "ASSIGNMENT_POLICY": { - "TITLE": "Assignment policy", - "DESCRIPTION": "Manage how conversations get assigned in inboxes.", + "TITLE": "Política de atribuição", + "DESCRIPTION": "Gerencie como as conversas são atribuídas nas caixas de entrada.", "FEATURES": [ - "Assign by conversations evenly or by available capacity", - "Add fair distribution rules to avoid overloading any agent", - "Add inboxes to a policy - one policy per inbox" + "Atribuir conversas de forma uniforme ou com base na capacidade disponível", + "Adicione regras de distribuição justa para evitar sobrecarregar qualquer agente", + "Adicione caixas de entrada a uma política - uma política por caixa de entrada" ] }, "AGENT_CAPACITY_POLICY": { - "TITLE": "Agent capacity policy", - "DESCRIPTION": "Manage workload for agents.", + "TITLE": "Política de capacidade dos agentes", + "DESCRIPTION": "Gerencie a carga de trabalho dos agentes.", "FEATURES": [ - "Define maximum conversations per inbox", - "Create exceptions based on labels and time", - "Add agents to a policy - one policy per agent" + "Defina o número máximo de conversas por caixa de entrada", + "Criar exceções com base em rótulos e tempo", + "Adicione agentes a uma política - uma política por agente" ] } }, "AGENT_ASSIGNMENT_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Assignment policy", - "CREATE_POLICY": "New policy" + "TITLE": "Política de atribuição", + "CREATE_POLICY": "Nova política" }, "CARD": { - "ORDER": "Order", + "ORDER": "Ordem", "PRIORITY": "Prioridade", "ACTIVE": "Ativo", - "INACTIVE": "Inactive", - "POPOVER": "Added inboxes", + "INACTIVE": "Inativa", + "POPOVER": "Caixas de entrada adicionadas", "EDIT": "Alterar" }, - "NO_RECORDS_FOUND": "No assignment policies found" + "NO_RECORDS_FOUND": "Nenhuma política de atribuição encontrada" }, "CREATE": { "HEADER": { - "TITLE": "Create assignment policy" + "TITLE": "Criar política de atribuição" }, - "CREATE_BUTTON": "Create policy", + "CREATE_BUTTON": "Criar política", "API": { - "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "SUCCESS_MESSAGE": "Política de atribuição criada com sucesso", + "ERROR_MESSAGE": "Falha ao criar a política de atribuição", + "INBOX_LINKED": "A caixa de entrada foi vinculada à política" } }, "EDIT": { "HEADER": { - "TITLE": "Edit assignment policy" + "TITLE": "Editar política de atribuição" }, - "EDIT_BUTTON": "Update policy", + "EDIT_BUTTON": "Atualizar política", "CONFIRM_ADD_INBOX_DIALOG": { - "TITLE": "Add inbox", - "DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.", - "CONFIRM_BUTTON_LABEL": "Continue", + "TITLE": "Adicionar caixa de entrada", + "DESCRIPTION": "A caixa de entrada {inboxName} já está vinculada a outra política. Tem certeza de que deseja vinculá-la a esta política? Ela será desvinculada da outra.", + "CONFIRM_BUTTON_LABEL": "Continuar", "CANCEL_BUTTON_LABEL": "Cancelar" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Vincular caixa de entrada à política", + "DESCRIPTION": "Deseja vincular esta caixa de entrada à política de atribuição?", + "LINK_BUTTON": "Vincular caixa de entrada", + "CANCEL_BUTTON": "Pular" + }, "API": { - "SUCCESS_MESSAGE": "Assignment policy updated successfully", - "ERROR_MESSAGE": "Failed to update assignment policy" + "SUCCESS_MESSAGE": "Política de atribuição atualizada com sucesso", + "ERROR_MESSAGE": "Falha ao atualizar a política de atribuição" }, "INBOX_API": { "ADD": { - "SUCCESS_MESSAGE": "Inbox added to policy successfully", - "ERROR_MESSAGE": "Failed to add inbox to policy" + "SUCCESS_MESSAGE": "Caixa de entrada adicionada à política com sucesso", + "ERROR_MESSAGE": "Falha ao adicionar a caixa de entrada à política" }, "REMOVE": { - "SUCCESS_MESSAGE": "Inbox removed from policy successfully", - "ERROR_MESSAGE": "Failed to remove inbox from policy" + "SUCCESS_MESSAGE": "Caixa de entrada removida da política com sucesso", + "ERROR_MESSAGE": "Caixa de entrada removida da política com sucesso" } } }, "FORM": { "NAME": { - "LABEL": "Policy name:", - "PLACEHOLDER": "Enter policy name" + "LABEL": "Nome da política:", + "PLACEHOLDER": "Informe o nome da política" }, "DESCRIPTION": { "LABEL": "Descrição:", @@ -631,164 +741,180 @@ }, "STATUS": { "LABEL": "Status:", - "PLACEHOLDER": "Selecione Status", - "ACTIVE": "Policy is active", - "INACTIVE": "Policy is inactive" + "PLACEHOLDER": "Selecionar status", + "ACTIVE": "Política ativa", + "INACTIVE": "Política inativa" }, "ASSIGNMENT_ORDER": { - "LABEL": "Assignment order", + "LABEL": "Ordem de atribuição", "ROUND_ROBIN": { - "LABEL": "Round robin", - "DESCRIPTION": "Assign conversations evenly among agents." + "LABEL": "Rodízio", + "DESCRIPTION": "Distribuir as conversas de forma uniforme entre os agentes." }, "BALANCED": { - "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "LABEL": "Equilibrado", + "DESCRIPTION": "Atribuir conversas com base na capacidade disponível.", + "PREMIUM_MESSAGE": "Atualize o plano para acessar a atribuição equilibrada e o gerenciamento de capacidade dos agentes.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { - "LABEL": "Assignment priority", + "LABEL": "Prioridade de atribuição", "EARLIEST_CREATED": { - "LABEL": "Earliest created", - "DESCRIPTION": "The conversation that was created first gets assigned first." + "LABEL": "Criado recentemente", + "DESCRIPTION": "A conversa criada primeiro será atribuída primeiro." }, "LONGEST_WAITING": { - "LABEL": "Longest waiting", - "DESCRIPTION": "The conversation waiting the longest gets assigned first." + "LABEL": "Maior tempo de espera", + "DESCRIPTION": "A conversa que está aguardando há mais tempo é atribuída primeiro." } }, "FAIR_DISTRIBUTION": { - "LABEL": "Fair distribution policy", - "DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.", - "INPUT_MAX": "Assign max", - "DURATION": "Conversations per agent in every" + "LABEL": "Política de distribuição justa", + "DESCRIPTION": "Defina o número máximo de conversas que podem ser atribuídas por agente dentro de um período, para evitar sobrecarregar qualquer agente. Este campo obrigatório tem como padrão 100 conversas por hora.", + "INPUT_MAX": "Máximo de atribuições", + "DURATION": "Conversas por agente a cada" }, "INBOXES": { - "LABEL": "Added inboxes", - "DESCRIPTION": "Add inboxes for which this policy will be applicable.", - "ADD_BUTTON": "Add inbox", + "LABEL": "Caixas de entrada adicionadas", + "DESCRIPTION": "Adicionar caixas de entrada às quais esta política será aplicada.", + "ADD_BUTTON": "Adicionar caixa de entrada", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select inboxes to add", + "SEARCH_PLACEHOLDER": "Pesquisar e selecionar caixas de entrada para adicionar", "ADD_BUTTON": "Adicionar" }, - "EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started", + "EMPTY_STATE": "Nenhuma caixa de entrada adicionada a esta política. Adicione uma caixa de entrada para começar", "API": { - "SUCCESS_MESSAGE": "Inbox successfully added to policy", - "ERROR_MESSAGE": "Failed to add inbox to policy" + "SUCCESS_MESSAGE": "Caixa de entrada adicionada à política com sucesso", + "ERROR_MESSAGE": "Falha ao adicionar a caixa de entrada à política" } } }, "DELETE_POLICY": { - "SUCCESS_MESSAGE": "Assignment policy deleted successfully", - "ERROR_MESSAGE": "Failed to delete assignment policy" + "SUCCESS_MESSAGE": "Política de atribuição excluída com sucesso", + "ERROR_MESSAGE": "Falha ao excluir a política de atribuição" } }, "AGENT_CAPACITY_POLICY": { "INDEX": { "HEADER": { - "TITLE": "Agent capacity", - "CREATE_POLICY": "New policy" + "TITLE": "Capacidade do agente", + "CREATE_POLICY": "Nova política" }, "CARD": { - "POPOVER": "Added agents", + "POPOVER": "Agentes adicionados", "EDIT": "Alterar" }, - "NO_RECORDS_FOUND": "No agent capacity policies found" + "NO_RECORDS_FOUND": "Nenhuma política de capacidade dos agentes encontrada" }, "CREATE": { "HEADER": { - "TITLE": "Create agent capacity policy" + "TITLE": "Criar política de capacidade dos agentes" }, - "CREATE_BUTTON": "Create policy", + "CREATE_BUTTON": "Criar política", "API": { - "SUCCESS_MESSAGE": "Agent capacity policy created successfully", - "ERROR_MESSAGE": "Failed to create agent capacity policy" + "SUCCESS_MESSAGE": "Política de capacidade dos agentes criada com sucesso", + "ERROR_MESSAGE": "Falha ao criar a política de capacidade dos agentes" } }, "EDIT": { "HEADER": { - "TITLE": "Edit agent capacity policy" + "TITLE": "Editar política de capacidade dos agentes" }, - "EDIT_BUTTON": "Update policy", + "EDIT_BUTTON": "Atualizar política", "CONFIRM_ADD_AGENT_DIALOG": { - "TITLE": "Add agent", - "DESCRIPTION": "{agentName} is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.", - "CONFIRM_BUTTON_LABEL": "Continue", + "TITLE": "Adicionar agente", + "DESCRIPTION": "{agentName} já está vinculado a outra política. Tem certeza de que deseja vinculá-lo a esta política? Ele será desvinculado da outra.", + "CONFIRM_BUTTON_LABEL": "Continuar", "CANCEL_BUTTON_LABEL": "Cancelar" }, "API": { - "SUCCESS_MESSAGE": "Agent capacity policy updated successfully", - "ERROR_MESSAGE": "Failed to update agent capacity policy" + "SUCCESS_MESSAGE": "Política de capacidade dos agentes atualizada com sucesso", + "ERROR_MESSAGE": "Falha ao atualizar a política de capacidade dos agentes" }, "AGENT_API": { "ADD": { - "SUCCESS_MESSAGE": "Agent added to policy successfully", - "ERROR_MESSAGE": "Failed to add agent to policy" + "SUCCESS_MESSAGE": "Agente adicionado à política com sucesso", + "ERROR_MESSAGE": "Falha ao adicionar o agente à política" }, "REMOVE": { - "SUCCESS_MESSAGE": "Agent removed from policy successfully", - "ERROR_MESSAGE": "Failed to remove agent from policy" + "SUCCESS_MESSAGE": "Agente removido da política com sucesso", + "ERROR_MESSAGE": "Falha ao remover o agente da política" + } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Limite de caixa de entrada adicionado com sucesso", + "ERROR_MESSAGE": "Falha ao adicionar limite de caixa de entrada" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Limite de caixa de entrada atualizado com sucesso", + "ERROR_MESSAGE": "Falha ao atualizar limite da caixa de entrada" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Limite da caixa de entrada excluído com sucesso", + "ERROR_MESSAGE": "Falha ao excluir o limite da caixa de entrada" } } }, "FORM": { "NAME": { - "LABEL": "Policy name:", - "PLACEHOLDER": "Enter policy name" + "LABEL": "Nome da política:", + "PLACEHOLDER": "Informe o nome da política" }, "DESCRIPTION": { "LABEL": "Descrição:", "PLACEHOLDER": "Insira a descrição" }, "INBOX_CAPACITY_LIMIT": { - "LABEL": "Inbox capacity limits", - "ADD_BUTTON": "Add inbox", + "LABEL": "Limites de capacidade da caixa de entrada", + "ADD_BUTTON": "Adicionar caixa de entrada", "FIELD": { - "SELECT_INBOX": "Select inbox", - "MAX_CONVERSATIONS": "Max conversations", - "SET_LIMIT": "Set limit" + "SELECT_INBOX": "Selecionar caixa de entrada", + "MAX_CONVERSATIONS": "Máximo de conversas", + "SET_LIMIT": "Definir limite" }, - "EMPTY_STATE": "No inbox limit set" + "EMPTY_STATE": "Nenhum limite de caixa de entrada definido" }, "EXCLUSION_RULES": { - "LABEL": "Exclusion rules", - "DESCRIPTION": "Conversations that satisfy the following conditions would not count towards agent capacity", + "LABEL": "Regras de exclusão", + "DESCRIPTION": "Conversas que atendam às seguintes condições não serão contabilizadas na capacidade do agente", "TAGS": { - "LABEL": "Exclude conversations tagged with specific labels", - "ADD_TAG": "add tag", + "LABEL": "Excluir conversas marcadas com rótulos específicos", + "ADD_TAG": "adicionar etiqueta", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select tags to add" + "SEARCH_PLACEHOLDER": "Pesquise e selecione etiquetas para adicionar" }, - "EMPTY_STATE": "No tags added to this policy." + "EMPTY_STATE": "Nenhuma etiqueta adicionada a esta política." }, "DURATION": { - "LABEL": "Exclude conversations older than a specified duration", - "PLACEHOLDER": "Set time" + "LABEL": "Excluir conversas mais antigas que um período especificado", + "PLACEHOLDER": "Definir duração" } }, "USERS": { - "LABEL": "Assigned agents", - "DESCRIPTION": "Add agents for which this policy will be applicable.", - "ADD_BUTTON": "Add agent", + "LABEL": "Agentes atribuídos", + "DESCRIPTION": "Adicione os agentes aos quais esta política será aplicada.", + "ADD_BUTTON": "Adicionar agente", "DROPDOWN": { - "SEARCH_PLACEHOLDER": "Search and select agents to add", + "SEARCH_PLACEHOLDER": "Pesquise e selecione agentes para adicionar", "ADD_BUTTON": "Adicionar" }, - "EMPTY_STATE": "No agents added", + "EMPTY_STATE": "Nenhum agente adicionado", "API": { - "SUCCESS_MESSAGE": "Agent successfully added to policy", - "ERROR_MESSAGE": "Failed to add agent to policy" + "SUCCESS_MESSAGE": "Agente adicionado à política com sucesso", + "ERROR_MESSAGE": "Falha ao adicionar o agente à política" } } }, "DELETE_POLICY": { - "SUCCESS_MESSAGE": "Agent capacity policy deleted successfully", - "ERROR_MESSAGE": "Failed to delete agent capacity policy" + "SUCCESS_MESSAGE": "Política de capacidade de agentes excluída com sucesso", + "ERROR_MESSAGE": "Falha ao excluir a política de capacidade de agentes" } }, "DELETE_POLICY": { - "TITLE": "Delete policy", - "DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.", + "TITLE": "Excluir política", + "DESCRIPTION": "Tem certeza de que deseja excluir esta política? Essa ação não pode ser desfeita.", "CONFIRM_BUTTON_LABEL": "Excluir", "CANCEL_BUTTON_LABEL": "Cancelar" } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/signup.json b/app/javascript/dashboard/i18n/locale/pt_BR/signup.json index 0f43aaa24..d859806bd 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/signup.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Criar uma conta", + "GET_STARTED": "Comece a utilizar Chatwoot", "TITLE": "Registrar", "TESTIMONIAL_HEADER": "Tudo o que ele leva é um passo para avançar", "TESTIMONIAL_CONTENT": "Você está a um passo de engajar seus clientes, mantê-los e encontrar novos.", @@ -28,11 +29,11 @@ "PLACEHOLDER": "Senha", "ERROR": "A senha é muito curta.", "IS_INVALID_PASSWORD": "A senha deve conter pelo menos 1 letra maiúscula, 1 letra minúscula, 1 número e 1 caractere especial.", - "REQUIREMENTS_LENGTH": "At least 6 characters long", - "REQUIREMENTS_UPPERCASE": "At least one uppercase letter", - "REQUIREMENTS_LOWERCASE": "At least one lowercase letter", - "REQUIREMENTS_NUMBER": "At least one number", - "REQUIREMENTS_SPECIAL": "At least one special character" + "REQUIREMENTS_LENGTH": "Pelo menos 6 caracteres", + "REQUIREMENTS_UPPERCASE": "Pelo menos uma letra maiúscula", + "REQUIREMENTS_LOWERCASE": "Pelo menos uma letra minúscula", + "REQUIREMENTS_NUMBER": "Pelo menos um número", + "REQUIREMENTS_SPECIAL": "Pelo menos um caractere especial" }, "CONFIRM_PASSWORD": { "LABEL": "Confirmar senha", @@ -40,7 +41,7 @@ "ERROR": "As senhas não coincidem." }, "API": { - "SUCCESS_MESSAGE": "Registration Successful", + "SUCCESS_MESSAGE": "Cadastro Realizado Com Sucesso", "ERROR_MESSAGE": "Não foi possível conectar ao servidor Woot. Por favor, tente novamente." }, "SUBMIT": "Criar conta", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/sla.json b/app/javascript/dashboard/i18n/locale/pt_BR/sla.json index fae59d198..cbceb9146 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/sla.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Criar uma nova Política de SLA", "DESCRIPTION": "Acordo de Nível de Serviço (SLAs em inglês) são acordos que definem expectativas claras entre seu time e os clientes. Estabelecem normas para tempos de resposta e de resolução, criando um quadro de responsabilização e garantindo uma experiência coerente e de qualidade.", "LEARN_MORE": "Saiba mais sobre SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Buscando SLAs", + "SEARCH_PLACEHOLDER": "Pesquisar SLA...", + "SEARCH": { + "NO_RESULTS": "Nenhuma SLA encontrada correspondente à sua busca" + }, "PAYWALL": { "TITLE": "Atualize para criar SLAs", "AVAILABLE_ON": "O recurso SLA está disponível apenas nos planos Business e Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "Não há SLAs disponíveis nesta conta.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Horário comercial" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Questões levantadas por clientes empresariais que requerem atenção imediata.", "TITLE_2": "Enterprise P1", "DESC_2": "Questões levantadas por clientes empresariais que precisam ser reconhecidas rapidamente." }, - "BUSINESS_HOURS_ON": "Horários de funcionamento", - "BUSINESS_HOURS_OFF": "Horário comercial desligado", + "BUSINESS_HOURS_ON": "Ativado", + "BUSINESS_HOURS_OFF": "Desativado", "RESPONSE_TYPES": { "FRT": "Próximo limite de tempo de resposta", "NRT": "Próximo limite de tempo de resposta", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/snooze.json b/app/javascript/dashboard/i18n/locale/pt_BR/snooze.json new file mode 100644 index 000000000..e2ae05f2c --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/pt_BR/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minuto", + "MINUTES": "minutos", + "HOUR": "hora", + "HOURS": "horas", + "DAY": "dia", + "DAYS": "dias", + "WEEK": "semana", + "WEEKS": "semanas", + "MONTH": "mês", + "MONTHS": "meses", + "YEAR": "ano", + "YEARS": "anos" + }, + "HALF": "metade", + "NEXT": "próximo", + "THIS": "este", + "AT": "às", + "IN": "em", + "FROM_NOW": "a partir de agora", + "NEXT_YEAR": "próximo ano", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "amanhã", + "DAY_AFTER_TOMORROW": "depois de amanhã", + "NEXT_WEEK": "próxima semana", + "NEXT_MONTH": "próximo mês", + "THIS_WEEKEND": "esta semana", + "NEXT_WEEKEND": "próximo fim de semana" + }, + "TIME_OF_DAY": { + "MORNING": "manhã", + "AFTERNOON": "tarde", + "EVENING": "noite", + "NIGHT": "madrugada", + "NOON": "meio-dia", + "MIDNIGHT": "meia-noite" + }, + "WORD_NUMBERS": { + "ONE": "um", + "TWO": "dois", + "THREE": "três", + "FOUR": "quatro", + "FIVE": "cinco", + "SIX": "seis", + "SEVEN": "sete", + "EIGHT": "oito", + "NINE": "nove", + "TEN": "dez", + "TWELVE": "doze", + "FIFTEEN": "quinze", + "TWENTY": "vinte", + "THIRTY": "trinta" + }, + "ORDINALS": { + "FIRST": "primeiro", + "SECOND": "segundo", + "THIRD": "terceiro", + "FOURTH": "quarto", + "FIFTH": "quinto" + }, + "OF": "de", + "AFTER": "depois", + "WEEK": "semana", + "DAY": "dia" + } +} diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/teamsSettings.json b/app/javascript/dashboard/i18n/locale/pt_BR/teamsSettings.json index 325c835a6..b24f89da3 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Buscando times", "DESCRIPTION": "Os times permitem que você organize agentes em grupos com base em suas responsabilidades. Um agente pode pertencer a vários times. Ao trabalhar de forma colaborativa, você pode atribuir conversas a times específicos.", "LEARN_MORE": "Saiba mais sobre times", + "COUNT": "{n} time | {n} times", + "SEARCH_PLACEHOLDER": "Pesquisar times...", + "NO_RESULTS": "Nenhum time encontrado correspondente à sua busca", "LIST": { "404": "Não existem agentes associados a esta conta.", "EDIT_TEAM": "Editar time", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Não foi possível salvar os detalhes do time. Tente novamente." }, "AGENTS": { - "AGENT": "AGENTE", - "EMAIL": "E-mail", + "AGENT": "Agente", + "EMAIL": "e-mail", "BUTTON_TEXT": "Adicionar agentes", "ADD_AGENTS": "Adicionando agentes à sua caixa de entrada...", "SELECT": "Selecionar", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/whatsappTemplates.json b/app/javascript/dashboard/i18n/locale/pt_BR/whatsappTemplates.json index a5587d239..935334ca6 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/whatsappTemplates.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/whatsappTemplates.json @@ -40,7 +40,7 @@ "BUTTON_LABEL": "Botão {index}", "COUPON_CODE": "Digite o código do cupom (máx. 15 caracteres)", "MEDIA_URL_LABEL": "Digite a URL {type}", - "DOCUMENT_NAME_PLACEHOLDER": "Enter document filename (e.g., Invoice_2025.pdf)", + "DOCUMENT_NAME_PLACEHOLDER": "Informe o nome do arquivo do documento (ex.: Comprovante_2025.pdf)", "BUTTON_PARAMETER": "Insira o parâmetro do botão" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/yearInReview.json b/app/javascript/dashboard/i18n/locale/pt_BR/yearInReview.json index b62ec1875..31c4f15be 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/yearInReview.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/yearInReview.json @@ -1,6 +1,6 @@ { "YEAR_IN_REVIEW": { - "TITLE": "Retrospectiva do ano", + "TITLE": "Retrospectiva do Ano", "LOADING": "Carregando sua retrospectiva do ano...", "ERROR": "Falha ao carregar a retrospectiva do ano", "CLOSE": "Fechar", diff --git a/app/javascript/dashboard/i18n/locale/ro/agentBots.json b/app/javascript/dashboard/i18n/locale/ro/agentBots.json index 02c271f25..258c290fe 100644 --- a/app/javascript/dashboard/i18n/locale/ro/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ro/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Sistem", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "URL Webhook" + "URL": "URL Webhook", + "ACTIONS": "Actiuni" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ro/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ro/agentMgmt.json index 5871683d4..0df3fc280 100644 --- a/app/javascript/dashboard/i18n/locale/ro/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Nu există agenți asociați acestui cont", "TITLE": "Gestionează agenții din echipa ta", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nu s-a putut conecta la Woot Server, încercați din nou mai târziu" } }, + "SEARCH_PLACEHOLDER": "Agenți de căutare...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Niciun rezultat găsit." }, diff --git a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json index 2e5d6271a..03d961959 100644 --- a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Preluarea atributelor particularizate", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Cauta atribute...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversație", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ro/automation.json b/app/javascript/dashboard/i18n/locale/ro/automation.json index e222fe9a9..a2eba8964 100644 --- a/app/javascript/dashboard/i18n/locale/ro/automation.json +++ b/app/javascript/dashboard/i18n/locale/ro/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatizare", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Adaugă Regulă de Automatizare", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Preluarea regulilor de automatizare", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Adaugă Regulă de Automatizare", "SUBMIT": "Creeaza", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Nume", - "DESCRIPTION": "Descriere", "ACTIVE": "Activ", - "CREATED_ON": "Creat in" + "CREATED_ON": "Creat in", + "ACTIONS": "Actiuni" }, "404": "Nu s-au găsit reguli de automatizare" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Modificarea priorității", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Deschiderea conversației" + "OPEN_CONVERSATION": "Deschiderea conversației", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ro/bulkActions.json b/app/javascript/dashboard/i18n/locale/ro/bulkActions.json index f74467707..b83cf47cf 100644 --- a/app/javascript/dashboard/i18n/locale/ro/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ro/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Statusul conversației a fost actualizat.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Nu s-au găsit etichete", diff --git a/app/javascript/dashboard/i18n/locale/ro/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ro/cannedMgmt.json index fc7f8f075..4b13b2cc3 100644 --- a/app/javascript/dashboard/i18n/locale/ro/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Răspunsuri predefinite", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Nu există elemente care să corespundă acestei interogări.", "LIST": { "404": "Nu există răspunsuri predefinite disponibile în acest cont.", diff --git a/app/javascript/dashboard/i18n/locale/ro/chatlist.json b/app/javascript/dashboard/i18n/locale/ro/chatlist.json index 6716cbd93..16ff7b373 100644 --- a/app/javascript/dashboard/i18n/locale/ro/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ro/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json index 3bd52ac70..77ad5b119 100644 --- a/app/javascript/dashboard/i18n/locale/ro/contact.json +++ b/app/javascript/dashboard/i18n/locale/ro/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Niciun contact nu se potrivește cu căutarea ta 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuiți etichete", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Către:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subiect :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json index ff48ec626..b2098de41 100644 --- a/app/javascript/dashboard/i18n/locale/ro/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Mesaj şters cu succes", "FAIL_DELETE_MESSSAGE": "Mesajul nu a putut fi șters! Încercați din nou", "NO_RESPONSE": "Niciun răspuns", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nu s-a putut atribui eticheta. Vă rugăm încercați din nou." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Echipa atribuită #{team} la conversația cu id {conversationId}", "FAILED": "Nu s-a putut atribui echipa. Vă rugăm să încercaţi din nou." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Dezactivarea semnăturii", "MSG_INPUT": "Shift + enter pentru linie nouă. Începe cu '/' pentru a selecta un răspuns predeterminat.", "PRIVATE_MSG_INPUT": "Shift + enter pentru linie nouă. Acest lucru va fi vizibil doar pentru Agenți", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Semnătura mesajului nu este configurată, vă rugăm să o configurați în setările profilului.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click aici pentru a actualiza", "WHATSAPP_TEMPLATES": "Șabloane WhatsApp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Trageți și plasați aici pentru atașare", "START_AUDIO_RECORDING": "Pornirea înregistrării audio", "STOP_AUDIO_RECORDING": "Mesaj audio", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Adaugă bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Fișierul depășește limita de {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Mesajul nu poate fi trimis, te rugăm să încerci din nou mai târziu", "SENT_BY": "Trimis de:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nu a putut trimite mesaj! Încearcă din nou", "TRY_AGAIN": "reîncercare", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Renunță", "SEND_EMAIL_SUCCESS": "Transscrisul de chat a fost trimis cu succes", "SEND_EMAIL_ERROR": "A apărut o eroare, încercați din nou", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Trimite transcrierea către client", "SEND_TO_AGENT": "Trimite transcrierea către agentul atribuit", diff --git a/app/javascript/dashboard/i18n/locale/ro/customRole.json b/app/javascript/dashboard/i18n/locale/ro/customRole.json index 8d11d6e10..a01e8f34e 100644 --- a/app/javascript/dashboard/i18n/locale/ro/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ro/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Nu există elemente care să corespundă acestei interogări.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ro/datePicker.json b/app/javascript/dashboard/i18n/locale/ro/datePicker.json index ab745096f..35ac5b3f7 100644 --- a/app/javascript/dashboard/i18n/locale/ro/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ro/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Aplică", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Ultimele 3 luni", "LAST_6_MONTHS": "Ultimele 6 luni", "LAST_YEAR": "Anul trecut", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Interval de date particularizat" } } diff --git a/app/javascript/dashboard/i18n/locale/ro/general.json b/app/javascript/dashboard/i18n/locale/ro/general.json index 04919710f..9effcd994 100644 --- a/app/javascript/dashboard/i18n/locale/ro/general.json +++ b/app/javascript/dashboard/i18n/locale/ro/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Închide", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Da", + "NO": "Nu" } } diff --git a/app/javascript/dashboard/i18n/locale/ro/generalSettings.json b/app/javascript/dashboard/i18n/locale/ro/generalSettings.json index 87f6bba40..8e2a8a3ab 100644 --- a/app/javascript/dashboard/i18n/locale/ro/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ro/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Căutarea sau saltul la", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Rapoarte", diff --git a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json index 0eb367788..9a2c2ab2b 100644 --- a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Eroare la ștergerea articolului" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Vă rugăm să adăugați titlul articolului și conținutul pentru a putea actualiza setările" }, diff --git a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json index 5b11a23e0..e0b9ac73f 100644 --- a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Căsuțe", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Salvează" } @@ -589,8 +592,10 @@ "DISABLED": "Dezactivat" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Activat", - "DISABLED": "Dezactivat" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Permite" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Activați continuitatea conversației prin e-mail", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversațiile vor continua prin e-mail dacă adresa de e-mail de contact este disponibilă.", - "LOCK_TO_SINGLE_CONVERSATION": "Blocarea la o singură conversație", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Activarea sau dezactivarea mai multor conversații pentru aceeași persoană de contact în acest inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Setări Inbox", "INBOX_UPDATE_SUB_TEXT": "Actualizează setările de inbox", "AUTO_ASSIGNMENT_SUB_TEXT": "Activează sau dezactivează atribuirea automată a conversațiilor noi la agenții adăugați la această căsuță poștală.", @@ -758,6 +765,7 @@ "LABEL": "Asistenta", "PLACEHOLDER": "Selectați Centrul de ajutor", "SELECT_PLACEHOLDER": "Selectați Centrul de ajutor", + "NONE": "Nimic", "REMOVE": "Eliminarea Centrului de ajutor", "SUB_TEXT": "Atașarea unui Centru de ajutor cu inboxul" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Vă rugăm să introduceți o valoare mai mare de 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limitați numărul maxim de conversații din acest inbox care pot fi atribuite automat unui agent" }, + "ASSIGNMENT": { + "TITLE": "Atribuirea conversației", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Activ", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Renunță", + "CONFIRM_DELETE": "Şterge", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reautorizează", "SUBTITLE": "Conexiunea ta de Facebook a expirat, te rugăm să-ți reconectezi pagina de Facebook pentru a continua serviciile", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Mergeți înapoi" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Mesaj indisponibil pentru vizitatori", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Zi", + "AVAILABILITY": "Disponibilitate", + "HOURS": "Hours", "ENABLE": "Activați disponibilitatea pentru această zi", "UNAVAILABLE": "Indisponibil", - "HOURS": "ore", "VALIDATION_ERROR": "Ora de începere ar trebui să fie înainte de ora închiderii.", "CHOOSE": "Alege" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Într-o zi" }, "WIDGET_COLOR_LABEL": "Culoare widget", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Poziția", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Tip", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tip:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Discută cu noi", - "LABEL": "Widget Bubble Launcher Titlu", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Discută cu noi" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Implicit", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "De obicei, răspunsurile în câteva minute", diff --git a/app/javascript/dashboard/i18n/locale/ro/integrationApps.json b/app/javascript/dashboard/i18n/locale/ro/integrationApps.json index fa12043aa..74260f3e3 100644 --- a/app/javascript/dashboard/i18n/locale/ro/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ro/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Preluarea integrărilor", "NO_HOOK_CONFIGURED": "Nu există integrări {integrationId} configurate în acest cont.", "HEADER": "Aplicatii", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Activat", "DISABLED": "Dezactivat" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Preluarea cârligelor de integrare", "INBOX": "Inbox", + "ACTIONS": "Actiuni", "DELETE": { "BUTTON_TEXT": "Şterge" } diff --git a/app/javascript/dashboard/i18n/locale/ro/integrations.json b/app/javascript/dashboard/i18n/locale/ro/integrations.json index cb5ffc802..50a0a7b22 100644 --- a/app/javascript/dashboard/i18n/locale/ro/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ro/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Evenimente subscrise", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Renunță", "DESC": "Evenimentele Webhook vă oferă informații în timp real despre ce se întâmplă în contul dvs. Chatwoot. Introduceți un URL valid pentru a configura un callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Şterge", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesională", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Amical" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplicații tablou de bord

Aplicațiile tablou de bord permit organizațiilor să încorporeze o aplicație în tabloul de bord Chatwoot pentru a oferi contextul pentru agenții de asistență pentru clienți. Această caracteristică vă permite să creați o aplicație independent și să o încorporați în interiorul tabloului de bord pentru a furniza informații despre utilizator, comenzile lor sau istoricul plăților anterioare.

Când încorporați aplicația utilizând tabloul de bord în Chatwoot, aplicația va primi contextul conversației și al contactului ca eveniment de fereastră. Implementați un ascultător pentru evenimentul mesajului de pe pagina dvs., pentru a primi contextul.

Pentru a adăuga o nouă aplicație de tablou de bord, faceți clic pe butonul \"Adăugați o nouă aplicație de tablou de bord\".

", "DESCRIPTION": "Aplicațiile tablou de bord permit organizațiilor să încorporeze o aplicație în interiorul tabloului de bord pentru a oferi contextul agenților de asistență pentru clienți. Această caracteristică vă permite să creați o aplicație independent și să o încorporați pentru a furniza informații despre utilizator, comenzile lor sau istoricul plăților anterioare.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Nu există încă aplicații de tablou de bord configurate pe acest cont", "LOADING": "Preluarea aplicațiilor de tablou de bord...", "TABLE_HEADER": { "NAME": "Nume", - "ENDPOINT": "Punct final" + "ENDPOINT": "Punct final", + "ACTIONS": "Actiuni" }, "EDIT_TOOLTIP": "Editarea aplicației", "DELETE_TOOLTIP": "Ștergerea aplicației" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ro/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ro/labelsMgmt.json index dd4a7c1fa..e24102933 100644 --- a/app/javascript/dashboard/i18n/locale/ro/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Preluarea etichetelor", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Căutare etichete...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Nu există elemente care să corespundă acestei interogări", "LIST": { "404": "Nu există răspunsuri predefinite disponibile în acest cont.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Nume", "DESCRIPTION": "Descriere", - "COLOR": "Culoare" + "COLOR": "Culoare", + "ACTION": "Actiuni" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ro/macros.json b/app/javascript/dashboard/i18n/locale/ro/macros.json index 443a3cbd7..da1edfd78 100644 --- a/app/javascript/dashboard/i18n/locale/ro/macros.json +++ b/app/javascript/dashboard/i18n/locale/ro/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macrocomenzi", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Adaugă un nou webhook", "HEADER_BTN_TXT_SAVE": "Salvarea macrocomenzii", "LOADING": "Preluarea macrocomenzilor", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Ceva nu a mers bine. Vă rugăm să încercați din nou", "ORDER_INFO": "Macrocomenzile vor rula în ordinea în care adăugați acțiunile. Le puteți rearanja trăgându-le de mânerul de lângă fiecare nod.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Nume", "CREATED BY": "Creat de", "LAST_UPDATED_BY": "Ultima actualizare de către", - "VISIBILITY": "Vizibilitate" + "VISIBILITY": "Vizibilitate", + "ACTIONS": "Actiuni" }, "404": "Nu s-au găsit macrocomenzi" }, diff --git a/app/javascript/dashboard/i18n/locale/ro/mfa.json b/app/javascript/dashboard/i18n/locale/ro/mfa.json index 89f9dacf8..420e46f5a 100644 --- a/app/javascript/dashboard/i18n/locale/ro/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ro/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ro/report.json b/app/javascript/dashboard/i18n/locale/ro/report.json index a41f15393..fb1f2d9d4 100644 --- a/app/javascript/dashboard/i18n/locale/ro/report.json +++ b/app/javascript/dashboard/i18n/locale/ro/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversații", "LOADING_CHART": "Încărcare date grafic...", "NO_ENOUGH_DATA": "Nu am primit suficiente date pentru a genera raportul. Vă rugăm să încercați din nou mai târziu.", - "DOWNLOAD_AGENT_REPORTS": "Descărcați rapoartele agenților", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Preluarea datelor a eșuat, te rugăm să încerci din nou mai târziu.", "SUMMARY_FETCHING_FAILED": "Preluarea rezumatului a eșuat, te rugăm să încerci mai târziu.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Prezentare generală a agenților", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Încărcare date grafic...", "NO_ENOUGH_DATA": "Nu am primit suficiente date pentru a genera raportul. Vă rugăm să încercați din nou mai târziu.", "DOWNLOAD_AGENT_REPORTS": "Descărcați rapoartele agenților", "FILTER_DROPDOWN_LABEL": "Selectează agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Agenți de căutare" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversații", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Nu am primit suficiente date pentru a genera raportul. Vă rugăm să încercați din nou mai târziu.", "DOWNLOAD_LABEL_REPORTS": "Descărcarea rapoartelor de etichete", "FILTER_DROPDOWN_LABEL": "Selectați etichetă", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Căutare etichete" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversații", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Selectați Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversații", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Prezentare generală a echipei", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Încărcare date grafic...", "NO_ENOUGH_DATA": "Nu am primit suficiente date pentru a genera raportul. Vă rugăm să încercați din nou mai târziu.", "DOWNLOAD_TEAM_REPORTS": "Descărcați rapoartele echipei", "FILTER_DROPDOWN_LABEL": "Selectați echipa", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Echipele de căutare" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversații", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Rapoarte CSAT", - "NO_RECORDS": "Nu există răspunsuri predefinite disponibile în acest cont.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Descărcați rapoartele CSAT", "DOWNLOAD_FAILED": "Descărcarea rapoartelor CSAT a eșuat", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Agenți de căutare", + "INBOXES": "Search inboxes", + "TEAMS": "Echipele de căutare", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Alege agenți" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Echipa" + }, + "RATINGS": { + "LABEL": "Evaluare" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Agent atribuit", + "AGENT_NAME": "Agent", "RATING": "Evaluare", - "FEEDBACK_TEXT": "Comentariu feedback" - } + "FEEDBACK_TEXT": "Comentariu feedback", + "CONVERSATION": "Conversație", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Răspunsuri totale", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Rata de răspuns", "TOOLTIP": "Numărul total de răspunsuri / Numărul total de mesaje de sondaj CSAT trimise * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Salvează", + "CANCEL": "Renunță", + "SAVING": "Se salvează...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json index ee90bd7d3..14b7b9730 100644 --- a/app/javascript/dashboard/i18n/locale/ro/settings.json +++ b/app/javascript/dashboard/i18n/locale/ro/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Descărcare", "UPLOADING": "Încărcare...", - "INSTAGRAM_STORY_UNAVAILABLE": "Această poveste nu mai este disponibilă." + "INSTAGRAM_STORY_UNAVAILABLE": "Această poveste nu mai este disponibilă.", + "INSTAGRAM_STORY_REPLY": "A răspuns la povestea ta:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Vezi pe hartă" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Citiți Documente", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Caracteristici", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Facturare", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Cauta atribute" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Rezolvarea conversației", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Rezolvarea conversației", + "CANCEL": "Renunță" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Da", + "NO": "Nu" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! Nu am putut găsi niciun cont Chatwoot. Vă rugăm să creați un cont nou pentru a continua.", "NEW_ACCOUNT": "Cont Nou", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Renunță" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ro/signup.json b/app/javascript/dashboard/i18n/locale/ro/signup.json index ab33b8ddf..85d124949 100644 --- a/app/javascript/dashboard/i18n/locale/ro/signup.json +++ b/app/javascript/dashboard/i18n/locale/ro/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Creează cont", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Inregistrare", "TESTIMONIAL_HEADER": "Tot ce trebuie este un pas pentru a merge mai departe", "TESTIMONIAL_CONTENT": "Ești la un pas de a-ți angaja clienții, de a-i păstra și de a găsi altele noi.", diff --git a/app/javascript/dashboard/i18n/locale/ro/sla.json b/app/javascript/dashboard/i18n/locale/ro/sla.json index 21c9c9d63..de03f053d 100644 --- a/app/javascript/dashboard/i18n/locale/ro/sla.json +++ b/app/javascript/dashboard/i18n/locale/ro/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ro/snooze.json b/app/javascript/dashboard/i18n/locale/ro/snooze.json new file mode 100644 index 000000000..7c94fc68e --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ro/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "ore", + "DAY": "zi", + "DAYS": "days", + "WEEK": "zi", + "WEEKS": "weeks", + "MONTH": "săptămână", + "MONTHS": "months", + "YEAR": "luna", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "mâine", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "săptămâna viitoare", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "zi", + "DAY": "zi" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ro/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ro/teamsSettings.json index fa8c107bf..05774501f 100644 --- a/app/javascript/dashboard/i18n/locale/ro/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ro/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Echipele de căutare...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Nu există echipe create în acest cont.", "EDIT_TEAM": "Editează echipa", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nu a putut salva detaliile echipei. Încearcă din nou." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-MAIL", + "AGENT": "Agent", + "EMAIL": "E-mail", "BUTTON_TEXT": "Adaugă Agent", "ADD_AGENTS": "Adăugarea agenților în echipa ta...", "SELECT": "selectează", diff --git a/app/javascript/dashboard/i18n/locale/ru/agentBots.json b/app/javascript/dashboard/i18n/locale/ru/agentBots.json index 0dee90036..658452ef6 100644 --- a/app/javascript/dashboard/i18n/locale/ru/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ru/agentBots.json @@ -3,8 +3,8 @@ "HEADER": "Боты", "LOADING_EDITOR": "Загрузка редактора...", "DESCRIPTION": "Боты — это ваши незаменимые помощники. Они берут на себя рутину, чтобы вы могли сосредоточиться на важном. Попробуйте! Управлять ботами можно на этой странице, а новых — создавать с помощью кнопки «Добавить бота».", - "LEARN_MORE": "Learn about agent bots", - "GLOBAL_BOT": "Система", + "LEARN_MORE": "Подробнее о ботах-агентах", + "GLOBAL_BOT": "Системный бот", "GLOBAL_BOT_BADGE": "Система", "AVATAR": { "SUCCESS_DELETE": "Аватар бота был успешно удалён", @@ -12,11 +12,11 @@ }, "BOT_CONFIGURATION": { "TITLE": "Выберите бота агента", - "DESC": "Назначить бота агента на источник. Они могут отвечать на первоначальные сообщения и передавать их агенту в случае необходимости.", + "DESC": "Назначьте бота агента для источника. Он может обрабатывать первоначальные диалоги и передавать их живому агенту при необходимости.", "SUBMIT": "Обновить", "DISCONNECT": "Отключить бота", - "SUCCESS_MESSAGE": "Оператор успешно обновлен ботом.", - "DISCONNECTED_SUCCESS_MESSAGE": "Успешное отключение робота агента.", + "SUCCESS_MESSAGE": "Бот агента успешно обновлён.", + "DISCONNECTED_SUCCESS_MESSAGE": "Бот агента успешно отключён.", "ERROR_MESSAGE": "Не удалось обновить бота агента. Пожалуйста, повторите попытку позже.", "DISCONNECTED_ERROR_MESSAGE": "Не удалось отключить бота агента. Пожалуйста, повторите попытку позже.", "SELECT_PLACEHOLDER": "Выбрать бота" @@ -34,7 +34,8 @@ "LOADING": "Получение ботов...", "TABLE_HEADER": { "DETAILS": "Детали бота", - "URL": "URL вебхука" + "URL": "URL вебхука", + "ACTIONS": "Действия" } }, "DELETE": { @@ -98,6 +99,9 @@ }, "TYPES": { "WEBHOOK": "Webhook бот" - } + }, + "COUNT": "{n} бот | {n} боты", + "SEARCH_PLACEHOLDER": "Поиск ботов...", + "NO_RESULTS": "Не найдено ботов, соответствующих вашему запросу" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ru/agentMgmt.json index 17eb0f150..d8f0809b0 100644 --- a/app/javascript/dashboard/i18n/locale/ru/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Администратор", "AGENT": "Оператор" }, + "COUNT": "{n} агент | {n} агенты", "LIST": { "404": "Нет связанных с этим аккаунтом операторов", "TITLE": "Управляйте операторами вашей команды", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Не удается соединиться с сервером Woot, попробуйте позже" } }, + "SEARCH_PLACEHOLDER": "Поиск агентов...", + "NO_RESULTS": "Не найдено агентов, соответствующих вашему запросу", "SEARCH": { "NO_RESULTS": "Результаты не найдены." }, diff --git a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json index a9fae7b84..a8088bcda 100644 --- a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json @@ -6,7 +6,7 @@ "DESCRIPTION": "Пользовательский атрибут отслеживает дополнительную информацию о ваших контактах или разговорах, таких как план подписки или дата их первой покупки. Вы можете добавить различные типы пользовательских атрибутов, такие как текст, списки или цифры, чтобы захватить нужную вам информацию.", "LEARN_MORE": "Узнайте больше о пользовательских атрибутах", "ATTRIBUTE_MODELS": { - "CONVERSATION": "Диалоги", + "CONVERSATION": "Диалог", "CONTACT": "Контакт" }, "ATTRIBUTE_TYPES": { @@ -23,7 +23,7 @@ "CANCEL_BUTTON_TEXT": "Отменить", "FORM": { "NAME": { - "LABEL": "Отображать имя", + "LABEL": "Отображаемое имя", "PLACEHOLDER": "Введите отображаемое имя пользовательского атрибута", "ERROR": "Необходимо указать имя" }, @@ -54,15 +54,19 @@ "IN_VALID": "Неверный ключ" }, "REGEX_PATTERN": { - "LABEL": "Шаблон Regex", - "PLACEHOLDER": "Пожалуйста, введите пользовательский атрибут шаблона регулярного выражения. (Опционально)" + "LABEL": "Шаблон регулярного выражения", + "PLACEHOLDER": "Пожалуйста, введите шаблон регулярного выражения для пользовательского атрибута. (Опционально)" }, "REGEX_CUE": { - "LABEL": "Предложенное регулярное выражение", - "PLACEHOLDER": "Пожалуйста, введите подсказку для регулярного выражения. (Опционально)" + "LABEL": "Подсказка регулярного выражения", + "PLACEHOLDER": "Пожалуйста, введите подсказку для шаблона регулярного выражения. (Опционально)" }, "ENABLE_REGEX": { "LABEL": "Включить проверку регулярных выражений" + }, + "BADGES": { + "PRE_CHAT": "Пре-чат", + "RESOLUTION": "Завершение диалога" } }, "API": { @@ -73,8 +77,8 @@ "DELETE": { "BUTTON_TEXT": "Удалить", "API": { - "SUCCESS_MESSAGE": "Пользовательский атрибут успешно добавлен.", - "ERROR_MESSAGE": "Не возможно удалить пользовательский атрибут. Попробуйте еще раз." + "SUCCESS_MESSAGE": "Пользовательский атрибут успешно удалён.", + "ERROR_MESSAGE": "Невозможно удалить пользовательский атрибут. Попробуйте ещё раз." }, "CONFIRM": { "TITLE": "Вы уверены, что хотите удалить - {attributeName}", @@ -100,7 +104,7 @@ }, "TABS": { "HEADER": "Пользовательские атрибуты", - "CONVERSATION": "Диалоги", + "CONVERSATION": "Диалог", "CONTACT": "Контакт" }, "LIST": { @@ -119,20 +123,23 @@ "NOT_FOUND": "Нет настроенных пользовательских атрибутов" }, "REGEX_PATTERN": { - "LABEL": "Шаблон Regex", - "PLACEHOLDER": "Пожалуйста, введите пользовательский атрибут шаблона регулярного выражения. (Опционально)" + "LABEL": "Шаблон регулярного выражения", + "PLACEHOLDER": "Пожалуйста, введите шаблон регулярного выражения для пользовательского атрибута. (Опционально)" }, "REGEX_CUE": { - "LABEL": "Предложенное регулярное выражение", - "PLACEHOLDER": "Пожалуйста, введите подсказку для регулярного выражения. (Опционально)" + "LABEL": "Подсказка регулярного выражения", + "PLACEHOLDER": "Пожалуйста, введите подсказку для шаблона регулярного выражения. (Опционально)" }, "ENABLE_REGEX": { "LABEL": "Включить проверку регулярных выражений" } }, "BADGES": { - "PRE_CHAT": "Pre-chat", - "RESOLUTION": "Resolution" - } + "PRE_CHAT": "Пре-чат", + "RESOLUTION": "Завершение диалога" + }, + "COUNT": "{n} атрибут | {n} атрибутов", + "SEARCH_PLACEHOLDER": "Поиск по атрибутам...", + "NO_RESULTS": "Не найдено атрибутов, соответствующих вашему запросу" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/auditLogs.json b/app/javascript/dashboard/i18n/locale/ru/auditLogs.json index f851a525c..8818396c2 100644 --- a/app/javascript/dashboard/i18n/locale/ru/auditLogs.json +++ b/app/javascript/dashboard/i18n/locale/ru/auditLogs.json @@ -2,18 +2,18 @@ "AUDIT_LOGS": { "HEADER": "Журнал аудита", "HEADER_BTN_TXT": "Добавить журнал аудита", - "LOADING": "Получение журнала аудита", - "DESCRIPTION": "Журнал аудита ведет запись действий в вашей учетной записи, позволяя отслеживать и проверять действия учетной записи, команды или сервисов.", + "LOADING": "Загрузка журнала аудита", + "DESCRIPTION": "Журнал аудита фиксирует действия в вашей учетной записи, позволяя отслеживать и проверять действия пользователей, команд и сервисов.", "LEARN_MORE": "Узнать больше о журнале аудита", - "SEARCH_404": "Нет элементов, соответствующих вашему запросу", - "SIDEBAR_TXT": "

Журнал аудита

Журнал аудита — это следы событий и действий в системе Chatwoot.

", + "SEARCH_404": "По вашему запросу ничего не найдено", + "SIDEBAR_TXT": "

Журнал аудита

Журнал аудита фиксирует события и действия в системе Chatwoot.

", "LIST": { - "404": "В этой учетной записи нет доступных журналов аудита.", + "404": "В этой учетной записи нет записей журнала аудита.", "TITLE": "Управление журналом аудита", - "DESC": "Журнал аудита — это следы событий и действий в системе Chatwoot.", + "DESC": "Журнал аудита фиксирует события и действия в системе Chatwoot.", "TABLE_HEADER": { - "ACTIVITY": "Пользователь", - "TIME": "Действия", + "ACTIVITY": "Действие", + "TIME": "Время", "IP_ADDRESS": "IP-адрес" } }, @@ -28,9 +28,9 @@ "DELETE": "{agentName} удалил правило автоматизации (#{id})" }, "ACCOUNT_USER": { - "ADD": "{agentName} Пригашен {invitee} права аккаунта {role}", + "ADD": "{agentName} пригласил {invitee} с ролью {role}", "EDIT": { - "SELF": "{agentName} изменить {attributes} на {values}", + "SELF": "{agentName} изменил {attributes} на {values}", "OTHER": "{agentName} изменил {attributes} пользователя {user} на {values}", "DELETED": "{agentName} изменил {attributes} удаленного пользователя на {values}" } diff --git a/app/javascript/dashboard/i18n/locale/ru/automation.json b/app/javascript/dashboard/i18n/locale/ru/automation.json index 5c9e187b3..9a18edee2 100644 --- a/app/javascript/dashboard/i18n/locale/ru/automation.json +++ b/app/javascript/dashboard/i18n/locale/ru/automation.json @@ -1,9 +1,9 @@ { "AUTOMATION": { "HEADER": "Автоматизация", - "DESCRIPTION": "Автоматизация может заменить и упростить существующие процессы, которые требуют ручной работы, такие как добавление меток и распределение разговоров на наиболее подходящего агента. Это позволяет команде сосредоточиться на своих сильных сторонах, сокращая время, затраченное на рутинные задачи.", - "LEARN_MORE": "Узнайте больше об автоматизации", - "HEADER_BTN_TXT": "Добавить правило автоматизации", + "DESCRIPTION": "Автоматизация позволяет заменить и упростить процессы, требующие ручной работы, такие как добавление меток и назначение диалогов наиболее подходящим агентам. Это помогает команде сосредоточиться на ключевых задачах и сократить время на рутину.", + "LEARN_MORE": "Узнать больше об автоматизации", + "HEADER_BTN_TXT": "Создать автоматизацию", "LOADING": "Получение правил автоматизации", "ADD": { "TITLE": "Добавить правило автоматизации", @@ -13,16 +13,16 @@ "NAME": { "LABEL": "Название правила", "PLACEHOLDER": "Введите название правила", - "ERROR": "Необходимо указать имя" + "ERROR": "Необходимо указать название" }, "DESC": { "LABEL": "Описание", "PLACEHOLDER": "Введите описание правила", - "ERROR": "Необходимо описание" + "ERROR": "Необходимо указать описание" }, "EVENT": { "LABEL": "Событие", - "PLACEHOLDER": "Пожалуйста, выберите один", + "PLACEHOLDER": "Пожалуйста, выберите одно", "ERROR": "Необходимо указать событие" }, "CONDITIONS": { @@ -36,17 +36,17 @@ "ACTION_BUTTON_LABEL": "Добавить действие", "API": { "SUCCESS_MESSAGE": "Правило автоматизации успешно добавлено", - "ERROR_MESSAGE": "Не удалось создать правило автоматизации, пожалуйста, повторите попытку позже" + "ERROR_MESSAGE": "Не удалось создать правило автоматизации. Пожалуйста, попробуйте позже" } }, "LIST": { + "404": "Правила автоматизации не найдены", "TABLE_HEADER": { - "NAME": "Имя", - "DESCRIPTION": "Описание", + "NAME": "Название", "ACTIVE": "Активно", - "CREATED_ON": "Создано" - }, - "404": "Правила автоматизации не найдены" + "CREATED_ON": "Дата создания", + "ACTIONS": "Действия" + } }, "DELETE": { "TITLE": "Удалить правило автоматизации", @@ -54,29 +54,29 @@ "CANCEL_BUTTON_TEXT": "Отменить", "CONFIRM": { "TITLE": "Подтвердите удаление", - "MESSAGE": "Вы точно хотите удалить ", + "MESSAGE": "Вы уверены, что хотите удалить ", "YES": "Да, удалить ", - "NO": "Нет, не удалять " + "NO": "Нет, оставить " }, "API": { "SUCCESS_MESSAGE": "Правило автоматизации успешно удалено", - "ERROR_MESSAGE": "Не удалось удалить правило автоматизации, пожалуйста, повторите попытку позже" + "ERROR_MESSAGE": "Не удалось удалить правило автоматизации. Пожалуйста, попробуйте позже" } }, "EDIT": { - "TITLE": "Изменить правило автоматизации", + "TITLE": "Редактировать правило автоматизации", "SUBMIT": "Обновить", "CANCEL_BUTTON_TEXT": "Отменить", "API": { "SUCCESS_MESSAGE": "Правило автоматизации успешно обновлено", - "ERROR_MESSAGE": "Не удалось обновить правило автоматизации, повторите попытку позже" + "ERROR_MESSAGE": "Не удалось обновить правило автоматизации. Пожалуйста, попробуйте позже" } }, "CLONE": { - "TOOLTIP": "Копировать", + "TOOLTIP": "Дублировать", "API": { - "SUCCESS_MESSAGE": "Правило автоматизации успешно скопировано", - "ERROR_MESSAGE": "Не удалось скопировать правило автоматизации, повторите попытку позже" + "SUCCESS_MESSAGE": "Правило автоматизации успешно дублировано", + "ERROR_MESSAGE": "Не удалось дублировать правило автоматизации. Пожалуйста, попробуйте позже" } }, "FORM": { @@ -87,51 +87,51 @@ "RESET_MESSAGE": "Изменение типа события сбросит условия и события, добавленные вами ниже" }, "CONDITION": { - "DELETE_MESSAGE": "Вам нужно иметь по крайней мере одно условие для сохранения", - "CONTACT_CUSTOM_ATTR_LABEL": "Контактные пользовательские атрибуты", - "CONVERSATION_CUSTOM_ATTR_LABEL": "Пользовательские атрибуты разговора" + "DELETE_MESSAGE": "Для сохранения необходимо указать хотя бы одно условие", + "CONTACT_CUSTOM_ATTR_LABEL": "Пользовательские атрибуты контакта", + "CONVERSATION_CUSTOM_ATTR_LABEL": "Пользовательские атрибуты диалога" }, "ACTION": { - "DELETE_MESSAGE": "Вам нужно иметь по крайней мере одно условие для сохранения", - "TEAM_MESSAGE_INPUT_PLACEHOLDER": "Напишите здесь ваше сообщение", + "DELETE_MESSAGE": "Для сохранения необходимо указать хотя бы одно действие", + "TEAM_MESSAGE_INPUT_PLACEHOLDER": "Введите сообщение", "TEAM_DROPDOWN_PLACEHOLDER": "Выберите команды", "EMAIL_INPUT_PLACEHOLDER": "Введите адрес электронной почты", "URL_INPUT_PLACEHOLDER": "Введите URL-адрес" }, "TOGGLE": { "ACTIVATION_TITLE": "Включить правило автоматизации", - "DEACTIVATION_TITLE": "Выключить правило автоматизации", - "ACTIVATION_DESCRIPTION": "Это действие запустит правило автоматизации '{automationName}'. Вы уверены, что хотите продолжить?", - "DEACTIVATION_DESCRIPTION": "Это действие отключит правило автоматизации '{automationName}'. Вы уверены, что хотите продолжить?", + "DEACTIVATION_TITLE": "Отключить правило автоматизации", + "ACTIVATION_DESCRIPTION": "Это действие включит правило автоматизации «{automationName}». Продолжить?", + "DEACTIVATION_DESCRIPTION": "Это действие отключит правило автоматизации «{automationName}». Продолжить?", "ACTIVATION_SUCCESFUL": "Правило автоматизации успешно включено", "DEACTIVATION_SUCCESFUL": "Правило автоматизации успешно отключено", - "ACTIVATION_ERROR": "Не удалось включить правило автоматизации, пожалуйста, повторите попытку позже", - "DEACTIVATION_ERROR": "Не удалось отключить правило автоматизации, пожалуйста, повторите попытку позже", + "ACTIVATION_ERROR": "Не удалось включить правило автоматизации. Пожалуйста, попробуйте позже", + "DEACTIVATION_ERROR": "Не удалось отключить правило автоматизации. Пожалуйста, попробуйте позже", "CONFIRMATION_LABEL": "Да", "CANCEL_LABEL": "Нет" }, "ATTACHMENT": { - "UPLOAD_ERROR": "Не удалось загрузить вложение, попробуйте еще раз", - "LABEL_IDLE": "Загрузка вложений", - "LABEL_UPLOADING": "Загружаем...", + "UPLOAD_ERROR": "Не удалось загрузить вложение. Пожалуйста, попробуйте ещё раз", + "LABEL_IDLE": "Загрузить вложение", + "LABEL_UPLOADING": "Загрузка...", "LABEL_UPLOADED": "Успешно загружено", - "LABEL_UPLOAD_FAILED": "Загрузка не удалась" + "LABEL_UPLOAD_FAILED": "Ошибка загрузки" }, "ERRORS": { - "ATTRIBUTE_KEY_REQUIRED": "Необходимо ввести ключ атрибута", - "FILTER_OPERATOR_REQUIRED": "Требуется оператор фильтра", + "ATTRIBUTE_KEY_REQUIRED": "Необходимо указать ключ атрибута", + "FILTER_OPERATOR_REQUIRED": "Необходимо указать оператор фильтра", "VALUE_REQUIRED": "Необходимо указать значение", - "VALUE_MUST_BE_BETWEEN_1_AND_998": "Значение должно быть между 1 и 998", - "ACTION_PARAMETERS_REQUIRED": "Требуются параметры действий", - "ATLEAST_ONE_CONDITION_REQUIRED": "Требуется хотя бы одно условие", - "ATLEAST_ONE_ACTION_REQUIRED": "Требуется хотя бы одно действие" + "VALUE_MUST_BE_BETWEEN_1_AND_998": "Значение должно быть в диапазоне от 1 до 998", + "ACTION_PARAMETERS_REQUIRED": "Необходимо указать параметры действия", + "ATLEAST_ONE_CONDITION_REQUIRED": "Необходимо указать хотя бы одно условие", + "ATLEAST_ONE_ACTION_REQUIRED": "Необходимо указать хотя бы одно действие" }, - "NONE_OPTION": "Ничего", + "NONE_OPTION": "Нет", "EVENTS": { "CONVERSATION_CREATED": "Диалог создан", "CONVERSATION_UPDATED": "Диалог обновлён", "MESSAGE_CREATED": "Сообщение создано", - "CONVERSATION_RESOLVED": "Диалог решён", + "CONVERSATION_RESOLVED": "Диалог завершён", "CONVERSATION_OPENED": "Диалог открыт" }, "ACTIONS": { @@ -140,45 +140,49 @@ "ADD_LABEL": "Добавить метку", "REMOVE_LABEL": "Удалить метку", "SEND_EMAIL_TO_TEAM": "Отправить Email команде", - "SEND_EMAIL_TRANSCRIPT": "Отправить историю переписки на email", - "MUTE_CONVERSATION": "Заглушить диалог", - "SNOOZE_CONVERSATION": "Включить звук диалога", - "RESOLVE_CONVERSATION": "Решить диалог", - "SEND_WEBHOOK_EVENT": "Отправить событие Webhook", + "SEND_EMAIL_TRANSCRIPT": "Отправить историю переписки по Email", + "MUTE_CONVERSATION": "Отключить уведомления", + "SNOOZE_CONVERSATION": "Отложить диалог", + "RESOLVE_CONVERSATION": "Завершить диалог", + "SEND_WEBHOOK_EVENT": "Отправить Webhook-событие", "SEND_ATTACHMENT": "Отправить вложение", "SEND_MESSAGE": "Отправить сообщение", - "ADD_PRIVATE_NOTE": "Добавить личную заметку", + "ADD_PRIVATE_NOTE": "Добавить приватную заметку", "CHANGE_PRIORITY": "Изменить приоритет", "ADD_SLA": "Добавить SLA", - "OPEN_CONVERSATION": "Открыть беседу" + "OPEN_CONVERSATION": "Открыть диалог", + "PENDING_CONVERSATION": "Пометить разговор как ожидающий" }, "MESSAGE_TYPES": { "INCOMING": "Входящее сообщение", "OUTGOING": "Исходящее сообщение" }, "PRIORITY_TYPES": { - "NONE": "Ничего", - "LOW": "Низкая", - "MEDIUM": "Средняя", - "HIGH": "Высокая", - "URGENT": "Срочность" + "NONE": "Нет", + "LOW": "Низкий", + "MEDIUM": "Средний", + "HIGH": "Высокий", + "URGENT": "Срочный" }, "ATTRIBUTES": { "MESSAGE_TYPE": "Тип сообщения", "MESSAGE_CONTAINS": "Сообщение содержит", "EMAIL": "Email", - "INBOX": "Электронная почта", - "CONVERSATION_LANGUAGE": "Язык сообщения", + "INBOX": "Источник", + "CONVERSATION_LANGUAGE": "Язык диалога", "PHONE_NUMBER": "Номер телефона", "STATUS": "Статус", "BROWSER_LANGUAGE": "Язык браузера", "MAIL_SUBJECT": "Тема письма", "COUNTRY_NAME": "Страна", - "REFERER_LINK": "Реферальная ссылка", - "ASSIGNEE_NAME": "Назначено", + "REFERER_LINK": "Источник перехода", + "ASSIGNEE_NAME": "Назначенный агент", "TEAM_NAME": "Команда", "PRIORITY": "Приоритет", - "LABELS": "Категории" - } + "LABELS": "Метки" + }, + "COUNT": "{n} автоматизация | {n} автоматизаций", + "SEARCH_PLACEHOLDER": "Поиск правил автоматизации...", + "NO_RESULTS": "Не найдено правил автоматизации, соответствующих вашему запросу" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/bulkActions.json b/app/javascript/dashboard/i18n/locale/ru/bulkActions.json index a11844008..0ed1cf0a9 100644 --- a/app/javascript/dashboard/i18n/locale/ru/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ru/bulkActions.json @@ -1,7 +1,7 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} бесед выбрано", - "AGENT_SELECT_LABEL": "Выбрать Агента", + "AGENT_SELECT_LABEL": "Выбрать агента", "ASSIGN_CONFIRMATION_LABEL": "Вы уверены, что хотите назначить {conversationCount} {conversationLabel}", "UNASSIGN_CONFIRMATION_LABEL": "Вы уверены, что хотите отменить назначение {conversationCount} {conversationLabel}?", "GO_BACK_LABEL": "Вернуться", @@ -14,7 +14,7 @@ "ASSIGN_FAILED": "Не удалось назначить диалоги, попробуйте еще раз.", "RESOLVE_SUCCESFUL": "Беседы успешно завершены.", "RESOLVE_FAILED": "Не удалось завершить диалоги, попробуйте еще раз.", - "ALL_CONVERSATIONS_SELECTED_ALERT": "Беседы, видимые на этой странице, выбраны.", + "ALL_CONVERSATIONS_SELECTED_ALERT": "Выбраны только беседы, видимые на этой странице.", "AGENT_LIST_LOADING": "Загрузка агентов", "UPDATE": { "CHANGE_STATUS": "Изменить статус", @@ -34,8 +34,12 @@ "NONE": "Ничего", "NO_TEAMS_AVAILABLE": "Нет команд, добавленных в этот аккаунт.", "ASSIGN_SELECTED_TEAMS": "Назначить выбранную команду.", - "ASSIGN_SUCCESFUL": "Команды, назначены успешно.", + "ASSIGN_SUCCESFUL": "Команды успешно назначены.", "ASSIGN_FAILED": "Не удалось назначить команду, попробуйте еще раз." + }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Невозможно завершить диалоги: отсутствуют обязательные атрибуты", + "PARTIAL_SUCCESS": "Некоторые диалоги были пропущены: перед завершением необходимо заполнить обязательные атрибуты" } } } diff --git a/app/javascript/dashboard/i18n/locale/ru/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ru/cannedMgmt.json index dfd34fde8..f0e3d37df 100644 --- a/app/javascript/dashboard/i18n/locale/ru/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Шаблонные ответы", "LEARN_MORE": "Подробнее о шаблонных ответах", "DESCRIPTION": "Шаблоны ответов - это предварительно написанные шаблоны ответов, которые помогут вам быстро в диалог. Агенты могут ввести символ '/', за которым следует команда, чтобы вставить готовый ответ во время диалога. ", + "COUNT": "{n} шаблонный ответ | {n} шаблонных ответов", "HEADER_BTN_TXT": "Добавить шаблонный ответ", "LOADING": "Загружаем шаблонные ответы...", + "SEARCH_PLACEHOLDER": "Поиск шаблонных ответов...", + "NO_RESULTS": "Не найдены шаблонные ответы, соответствующие вашему запросу", "SEARCH_404": "Нет категорий, соответствующих запросу.", "LIST": { "404": "У вас нет шаблонных ответов.", diff --git a/app/javascript/dashboard/i18n/locale/ru/chatlist.json b/app/javascript/dashboard/i18n/locale/ru/chatlist.json index e5bd927fc..ac97ef2aa 100644 --- a/app/javascript/dashboard/i18n/locale/ru/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ru/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Ожидающие ответа: сначала новые" + }, + "priority_desc_created_at_asc": { + "TEXT": "Приоритет: Сначала высокие, Создано: Сначала старые" } }, "ATTACHMENTS": { @@ -104,7 +107,7 @@ "CONTENT": "Общий контакт" }, "embed": { - "CONTENT": "Embedded content" + "CONTENT": "Встроенный контент" } }, "CHAT_SORT_BY_FILTER": { diff --git a/app/javascript/dashboard/i18n/locale/ru/companies.json b/app/javascript/dashboard/i18n/locale/ru/companies.json index 85c9cf86e..87c460e21 100644 --- a/app/javascript/dashboard/i18n/locale/ru/companies.json +++ b/app/javascript/dashboard/i18n/locale/ru/companies.json @@ -7,7 +7,7 @@ "NAME": "Имя", "DOMAIN": "Домен", "CREATED_AT": "Дата создания", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Количество контактов" } }, "ORDER": { @@ -20,7 +20,7 @@ "SEARCH_PLACEHOLDER": "Поиск компаний...", "LOADING": "Загрузка компаний...", "UNNAMED": "Безымянная компания", - "CONTACTS_COUNT": "{n} контакт | {n} контакта(-ов)", + "CONTACTS_COUNT": "{n} Контакт | {n} Контакта | Контактов", "EMPTY_STATE": { "TITLE": "Компаний не найдено" } diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json index 3022657ce..029e658d1 100644 --- a/app/javascript/dashboard/i18n/locale/ru/contact.json +++ b/app/javascript/dashboard/i18n/locale/ru/contact.json @@ -18,8 +18,8 @@ "CREATED_AT_LABEL": "Создан", "NEW_MESSAGE": "Новое сообщение", "CALL": "Вызов", - "CALL_INITIATED": "Calling the contact…", - "CALL_FAILED": "Unable to start the call. Please try again.", + "CALL_INITIATED": "Вызов контакта…", + "CALL_FAILED": "Не удалось начать вызов. Повторите попытку.", "VOICE_INBOX_PICKER": { "TITLE": "Выберите голосовую почту" }, @@ -457,8 +457,11 @@ "INSTAGRAM": { "PLACEHOLDER": "Добавить Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Добавить Telegram" + }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "Добавить TikTok" }, "LINKEDIN": { "PLACEHOLDER": "Добавить LinkedIn" @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Нет контактов по вашему запросу 🔍", "LIST_EMPTY_STATE_TITLE": "Нет контактов в этом виде 📋", "ACTIVE_EMPTY_STATE_TITLE": "В данный момент нет активных контактов 🌙" - } + }, + "LOAD_MORE": "Загрузить ещё" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Назначить метки", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "Нет доступных входящих для начала разговора с этим контактом.", "CONTACT_SELECTOR": { "LABEL": "Кому:", - "TAG_INPUT_PLACEHOLDER": "Поиск контакта с именем, email или номером телефона", + "TAG_INPUT_PLACEHOLDER": "Введите не менее 2 символов для поиска по имени, электронной почте или номеру телефона", "CONTACT_CREATING": "Создание контакта..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Тема :", "SUBJECT_PLACEHOLDER": "Введите тему email", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Поиск контакта с email адресом", + "CC_PLACEHOLDER": "Введите не менее 2 символов для поиска по электронной почте", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Поиск контакта с email адресом", + "BCC_PLACEHOLDER": "Введите не менее 2 символов для поиска по электронной почте", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json index 9d4901b9b..fcfcbc011 100644 --- a/app/javascript/dashboard/i18n/locale/ru/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении Facebook / Instagram.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении TikTok.", "SUCCESS_DELETE_MESSAGE": "Сообщение успешно удалено", "FAIL_DELETE_MESSSAGE": "Не удалось удалить сообщение! Попробуйте еще раз", "NO_RESPONSE": "Нет ответа", @@ -173,6 +174,10 @@ "SUCCESFUL": "Назначена метка #{labelName} диалогу {conversationId}", "FAILED": "Не удалось назначить метку. Пожалуйста, попробуйте еще раз." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Удалена метка #{labelName} из диалога с ID {conversationId}", + "FAILED": "Не удалось удалить метку. Пожалуйста, попробуйте еще раз." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Назначена метка #{team} в разговор id {conversationId}", "FAILED": "Не удалось назначить команду. Пожалуйста, попробуйте еще раз." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Отключить подпись", "MSG_INPUT": "Shift + enter чтобы начать новую строку. Начните с '/', чтобы выбрать шаблонный ответ.", "PRIVATE_MSG_INPUT": "Shift + enter для новой строки. Это будет видно только Операторам", + "MESSAGING_RESTRICTED": "Вы не можете отвечать в этот диалог", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Подпись сообщения не настроена, пожалуйста настройте её в настройках профиля.", + "COPILOT_MSG_INPUT": "Задайте Copilot дополнительные промпты или спросите что-нибудь другое... Нажмите Enter, чтобы дополнить информацию", "CLICK_HERE": "Нажмите здесь, чтобы обновить", "WHATSAPP_TEMPLATES": "Шаблоны Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Перетащите сюда, чтобы прикрепить", "START_AUDIO_RECORDING": "Начать запись аудио", "STOP_AUDIO_RECORDING": "Остановить запись аудио", - "": "", + "COPILOT_THINKING": "Copilot думает", "EMAIL_HEAD": { "TO": "ДО", "ADD_BCC": "Добавить bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Диалог удален", "FAIL_DELETE_CONVERSATION": "Не удалось удалить диалог! Попробуйте снова", "FILE_SIZE_LIMIT": "Превышен лимит вложений в {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "Тип файла {fileName} не поддерживается в этом диалоге", "MESSAGE_ERROR": "Не удается отправить это сообщение, повторите попытку позже", "SENT_BY": "Отправитель:", "BOT": "Бот", + "NATIVE_APP": "Нативное приложение", + "NATIVE_APP_ADVISORY": "Это сообщение было отправлено из нативного приложения. Ответьте через ChatWoot, чтобы продолжить диалог.", "SEND_FAILED": "Не удалось удалить сообщение! Попробуйте еще раз", "TRY_AGAIN": "повторить", "ASSIGNMENT": { @@ -281,10 +293,10 @@ "OUTGOING_CALL": "Исходящий звонок", "CALL_IN_PROGRESS": "Идёт звонок", "NOT_ANSWERED_YET": "Пока нет ответа", - "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", - "REJECT_CALL": "Reject", - "JOIN_CALL": "Join call", - "END_CALL": "End call" + "HANDLED_IN_ANOTHER_TAB": "Обрабатывается в другой вкладке", + "REJECT_CALL": "Отклонить", + "JOIN_CALL": "Присоединиться к звонку", + "END_CALL": "Завершить звонок" } }, "EMAIL_TRANSCRIPT": { @@ -294,6 +306,7 @@ "CANCEL": "Отменить", "SEND_EMAIL_SUCCESS": "Субтитры чата успешно отправлены", "SEND_EMAIL_ERROR": "Произошла ошибка, попробуйте еще раз", + "SEND_EMAIL_PAYMENT_REQUIRED": "Отправка транскрипта на электронную почту не поддерживается вашим планом. Пожалуйста, обновите план, чтобы получить доступ к этой функции.", "FORM": { "SEND_TO_CONTACT": "Отправить субтитры клиенту", "SEND_TO_AGENT": "Отправить транскрипт назначенному агенту", diff --git a/app/javascript/dashboard/i18n/locale/ru/customRole.json b/app/javascript/dashboard/i18n/locale/ru/customRole.json index 31abacb30..2cd2ced06 100644 --- a/app/javascript/dashboard/i18n/locale/ru/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ru/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Пользовательские роли", "LEARN_MORE": "Узнать больше о пользовательских ролях", "DESCRIPTION": "Пользовательские роли — это роли, созданные владельцем учетной записи или администратором. Эти роли могут быть назначены агентам для определения их доступа и прав доступа к аккаунту. Пользовательские роли могут быть созданы с определенными разрешениями и уровнями доступа в соответствии с требованиями организации.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Добавить роль", "LOADING": "Загрузка пользовательских ролей...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Нет категорий, соответствующих запросу.", "PAYWALL": { "TITLE": "Обновитесь для создания пользовательских роли", diff --git a/app/javascript/dashboard/i18n/locale/ru/datePicker.json b/app/javascript/dashboard/i18n/locale/ru/datePicker.json index d270c37df..f2482e2eb 100644 --- a/app/javascript/dashboard/i18n/locale/ru/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ru/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Применить", "CLEAR_BUTTON": "Сбросить", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Последние 3 месяца", "LAST_6_MONTHS": "Последние 6 месяцев", "LAST_YEAR": "За прошлый год", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Настраиваемый диапазон даты" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/general.json b/app/javascript/dashboard/i18n/locale/ru/general.json index 1e3c9d512..23f41885e 100644 --- a/app/javascript/dashboard/i18n/locale/ru/general.json +++ b/app/javascript/dashboard/i18n/locale/ru/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Закрыть", "BETA": "Бета", - "BETA_DESCRIPTION": "Эта функция находится в бета-версии и может измениться по мере её улучшения." + "BETA_DESCRIPTION": "Эта функция находится в бета-версии и может измениться по мере её улучшения.", + "ACCEPT": "Accept", + "DISCARD": "Сбросить", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Да", + "NO": "Нет" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/generalSettings.json b/app/javascript/dashboard/i18n/locale/ru/generalSettings.json index fc3e14a1d..66a41b21a 100644 --- a/app/javascript/dashboard/i18n/locale/ru/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ru/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Искать или перейти к", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Главное", "REPORTS": "Отчёты", diff --git a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json index 748d86257..8f88b2b7f 100644 --- a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Ошибка при удалении статьи" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Пожалуйста, добавьте заголовок статьи и контент, а затем только вы можете обновить настройки" }, diff --git a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json index 1cffc97e6..d9ef0458d 100644 --- a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json @@ -3,7 +3,7 @@ "HEADER": "Источники", "DESCRIPTION": "Канал — это способ коммуникации, который ваш клиент выбирает для связи с вами. Входящие — это место, где вы управляете диалогами для определенного канала. Он может включать диалоги из различных источников, таких как электронная почта, онлайн чат или социальные сети.", "LEARN_MORE": "Узнать больше о «Входящих»", - "RECONNECTION_REQUIRED": "Входящие сообщения отключены. Вы не будете получать новые сообщения пока не пройдете авторизацию повторно.", + "RECONNECTION_REQUIRED": "Входящие сообщения отключены. Вы не будете получать новые сообщения, пока не пройдете авторизацию повторно.", "CLICK_TO_RECONNECT": "Нажмите здесь для повторного подключения.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Ваша регистрация в WhatsApp Business не завершена. Пожалуйста, проверьте статус отображения в Meta Business Manager перед повторным подключением.", "COMPLETE_REGISTRATION": "Завершить регистрацию", @@ -58,17 +58,17 @@ "DUPLICATE_INBOX_BANNER": "Этот аккаунт Instagram был перенесен в новый почтовый ящик Instagram. Вы больше не сможете отправлять и получать сообщения Instagram из этого ящика." }, "TIKTOK": { - "CONTINUE_WITH_TIKTOK": "Continue with TikTok", - "CONNECT_YOUR_TIKTOK_PROFILE": "Connect your TikTok Profile", - "HELP": "To add your TikTok profile as a channel, you need to authenticate your TikTok Profile by clicking on 'Continue with TikTok' ", - "ERROR_MESSAGE": "There was an error connecting to TikTok, please try again", - "ERROR_AUTH": "There was an error connecting to TikTok, please try again" + "CONTINUE_WITH_TIKTOK": "Продолжить в TikTok", + "CONNECT_YOUR_TIKTOK_PROFILE": "Подключить ваш профиль TikTok", + "HELP": "Чтобы добавить ваш профиль TikTok в качестве источника, вам нужно авторизоваться в вашем профиле TikTok, нажав на 'Продолжить в TikTok' ", + "ERROR_MESSAGE": "Произошла ошибка при подключении к TikTok, попробуйте еще раз", + "ERROR_AUTH": "Произошла ошибка при подключении к TikTok, попробуйте еще раз" }, "TWITTER": { "HELP": "Чтобы добавить свой Twitter профиль в качестве источника, вам нужно авторизоваться при помощи входа через Twitter ", "ERROR_MESSAGE": "Произошла ошибка при подключении к Twitter, попробуйте еще раз", "TWEETS": { - "ENABLE": "Создать беседы из твитов с упоминанем" + "ENABLE": "Создать беседы из твитов с упоминанием" } }, "WEBSITE_CHANNEL": { @@ -123,7 +123,7 @@ }, "TWILIO": { "TITLE": "Twilio SMS/WhatsApp канал", - "DESC": "Интегрируйте Twilio и начните поддерживать ваших клиентов через SMS или Whatsapp.", + "DESC": "Интегрируйте Twilio и начните поддерживать ваших клиентов через SMS или WhatsApp.", "ACCOUNT_SID": { "LABEL": "SID аккаунта", "PLACEHOLDER": "Пожалуйста, введите SID вашего аккаунта Twilio", @@ -222,7 +222,7 @@ }, "API_CALLBACK": { "TITLE": "URL", - "SUBTITLE": "Вы должны настроить URL колбеков в Bandwidth используя этот URL." + "SUBTITLE": "Вы должны настроить URL колбеков в Bandwidth, используя этот URL." } } }, @@ -231,7 +231,7 @@ "DESC": "Начните поддерживать своих клиентов через WhatsApp.", "PROVIDERS": { "LABEL": "Поставщик API", - "WHATSAPP_EMBEDDED": "WhatsApp Бизнес", + "WHATSAPP_EMBEDDED": "WhatsApp Business", "TWILIO": "Twilio", "WHATSAPP_CLOUD": "WhatsApp Cloud", "WHATSAPP_CLOUD_DESC": "Быстрая настройка через Meta", @@ -275,7 +275,7 @@ }, "API_CALLBACK": { "TITLE": "URL", - "SUBTITLE": "Вы должны настроить URL-адрес webhook и токен проверки на портале разработчика Facebook с значениями, показанными ниже.", + "SUBTITLE": "Вы должны настроить URL-адрес webhook и токен проверки на портале разработчика Facebook со значениями, показанными ниже.", "WEBHOOK_URL": "URL вебхука", "WEBHOOK_VERIFICATION_TOKEN": "Токен авторизации Webhook" }, @@ -389,10 +389,10 @@ "ERROR_MESSAGE": "Не удалось сохранить источник" }, "FINISH_MESSAGE": "Начните пересылать свои письма на этот email.", - "FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.", - "FORWARDING_ADDRESS_LABEL": "Forward emails to this address:", + "FINISH_MESSAGE_NO_FORWARDING": "Ваш почтовый ящик был успешно создан! Вам необходимо настроить учетные данные SMTP и IMAP для отправки и получения писем. Без этих настроек письма обрабатываться не будут.", + "FORWARDING_ADDRESS_LABEL": "Пересылайте письма на этот адрес:", "CONFIGURE_SMTP_IMAP_LINK": "Нажмите здесь", - "CONFIGURE_SMTP_IMAP_TEXT": " to configure IMAP and SMTP settings" + "CONFIGURE_SMTP_IMAP_TEXT": " чтобы настроить параметры IMAP и SMTP" }, "LINE_CHANNEL": { "TITLE": "Канал LINE", @@ -438,7 +438,7 @@ }, "AUTH": { "TITLE": "Выберите источник", - "DESC": "Chatwoot поддерживает виджет чата, страницу Facebook, профиль Twitter, Whatsapp, Email и т. д., как канал связи с пользователями. Если вы хотите настроить пользовательский канал, вы можете создать его с помощью канала API. Выберите один канал из списка ниже, чтобы продолжить.", + "DESC": "Chatwoot поддерживает виджет чата, страницу Facebook, профиль Twitter, WhatsApp, Email и т. д., как канал связи с пользователями. Если вы хотите настроить пользовательский канал, вы можете создать его с помощью канала API. Выберите один канал из списка ниже, чтобы продолжить.", "TITLE_NEXT": "Завершить установку", "TITLE_FINISH": "Voilà!", "CHANNEL": { @@ -480,7 +480,7 @@ }, "TIKTOK": { "TITLE": "TikTok", - "DESCRIPTION": "Connect your TikTok account" + "DESCRIPTION": "Подключите ваш аккаунт TikTok" }, "VOICE": { "TITLE": "Голосовая связь", @@ -496,11 +496,11 @@ }, "DETAILS": { "TITLE": "Настройки источника", - "DESC": "Выберите страницу Facebook, которую вы хотите подключить к чату из списка. Для удобства ыы также можете указать имя вашего источника." + "DESC": "Выберите страницу Facebook, которую вы хотите подключить к чату из списка. Для удобства вы также можете указать имя вашего источника." }, "FINISH": { "TITLE": "Готово!", - "DESC": "Вы успешно подключили страницу Facebook к Chatwoot. В следующий раз когда покупатель напишет вашей странице, диалог автоматически отобразится здесь.
Мы также предоставляем вам скрипт виджета, который вы можете легко добавить на ваш сайт. Как только вы добавите его на сайт, клиенты смогут отправлять вам сообщения прямо с вашего сайта без помощи какого-либо внешнего инструмента и диалог появится прямо здесь, в Chatwoot.
Круто, да" + "DESC": "Вы успешно подключили страницу Facebook к Chatwoot. В следующий раз, когда покупатель напишет вашей странице, диалог автоматически отобразится здесь.
Мы также предоставляем вам скрипт виджета, который вы можете легко добавить на ваш сайт. Как только вы добавите его на сайт, клиенты смогут отправлять вам сообщения прямо с вашего сайта без помощи какого-либо внешнего инструмента и диалог появится прямо здесь, в Chatwoot.
Круто, да" }, "EMAIL_PROVIDER": { "TITLE": "Выберите почтового провайдера", @@ -536,7 +536,7 @@ "ADD_AGENTS": "Добавление операторов в ваш источник..." }, "FINISH": { - "TITLE": "Истоник готов!", + "TITLE": "Источник готов!", "MESSAGE": "Теперь вы можете взаимодействовать с вашими клиентами через ваш новый канал. Удачной поддержки", "BUTTON_TEXT": "Перейти", "MORE_SETTINGS": "Больше параметров", @@ -575,7 +575,7 @@ "SUBTITLE": "Используйте только сконфигурированное бизнес-имя отправителя в заголовке электронной почты." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Настройте название вашей компании", + "BUTTON_TEXT": "Настройте название вашей компании", "PLACEHOLDER": "Введите название вашей компании", "SAVE_BUTTON_TEXT": "Сохранить" } @@ -589,8 +589,10 @@ "DISABLED": "Выключено" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Включено", - "DISABLED": "Выключено" + "ENABLED": "Переоткрывать тот же диалог", + "DISABLED": "Создавать новые диалоги", + "ENABLED_DESCRIPTION": "Когда контакт напишет снова, предыдущий диалог будет открыт повторно.", + "DISABLED_DESCRIPTION": "После завершения предыдущего диалога при каждом новом сообщении контакта будет создаваться новый диалог." }, "ENABLE_HMAC": { "LABEL": "Включить" @@ -637,7 +639,7 @@ }, "VERIFIED_NAME": { "LABEL": "Название компании", - "TOOLTIP": "Название компании, подтвержденные WhatsApp" + "TOOLTIP": "Название компании, подтверждённое WhatsApp" }, "DISPLAY_NAME_STATUS": { "LABEL": "Отображаемое имя статуса", @@ -664,7 +666,7 @@ "TIER_10K": "10тыс. клиентов в сутки", "TIER_100K": "100тыс. клиентов в сутки", "TIER_UNLIMITED": "Неограниченно клиентов в сутки", - "UNKNOWN": "Рейтинг не доступен" + "UNKNOWN": "Рейтинг недоступен" }, "STATUSES": { "APPROVED": "Одобрено", @@ -702,14 +704,14 @@ "AGENT_ASSIGNMENT_SUB_TEXT": "Обновить настройки назначения для бесед", "UPDATE": "Обновить", "ENABLE_EMAIL_COLLECT_BOX": "Включить ящик сбора почты", - "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Включение или отключение ящик для сбора почты в новой беседе", + "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Включение или отключение ящика для сбора почты в новой беседе", "AUTO_ASSIGNMENT": "Включить автоназначение", "SENDER_NAME_SECTION": "Включить имя агента в электронной почте", "SENDER_NAME_SECTION_TEXT": "Включить/выключить отображение имени Сотрудника в электронной почте, если отключено, он будет показывать бизнес-имя", "ENABLE_CONTINUITY_VIA_EMAIL": "Включить непрерывность диалогов по электронной почте", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Диалоги будут продолжаться по электронной почте, если доступен контактный адрес электронной почты.", - "LOCK_TO_SINGLE_CONVERSATION": "Заблокировать один диалог", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Включение или отключение нескольких диалогов для одного и того же контакта в этой папке «Входящие»", + "LOCK_TO_SINGLE_CONVERSATION": "Маршрутизация диалогов", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Настройте создание диалогов для существующих контактов", "INBOX_UPDATE_TITLE": "Настройки источника", "INBOX_UPDATE_SUB_TEXT": "Изменить настройки источника", "AUTO_ASSIGNMENT_SUB_TEXT": "Включить или отключить автоматическое назначение новых разговоров к агентам, добавленным к этому источнику.", @@ -722,7 +724,7 @@ "INBOX_IDENTIFIER_SUB_TEXT": "Используйте токен `inbox_identifier` для аутентификации ваших клиентов API.", "FORWARD_EMAIL_TITLE": "Переслать на Email", "FORWARD_EMAIL_SUB_TEXT": "Начните пересылать свои письма на этот email.", - "FORWARD_EMAIL_NOT_CONFIGURED": "Forwarding emails to your inbox is currently disabled on this installation. To use this feature, it must be enabled by your administrator. Please get in touch with them to proceed.", + "FORWARD_EMAIL_NOT_CONFIGURED": "Пересылка писем в этот почтовый ящик в данной установке отключена. Чтобы использовать эту функцию, администратор должен включить её. Пожалуйста, свяжитесь с ним для продолжения.", "ALLOW_MESSAGES_AFTER_RESOLVED": "Разрешить отправлять сообщения после завершения диалога", "ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "Разрешить пользователям отправлять сообщения даже после того, как диалог будет завершен.", "WHATSAPP_SECTION_SUBHEADER": "Этот ключ API используется для интеграции с API WhatsApp.", @@ -740,7 +742,7 @@ "WHATSAPP_CONNECT_DESCRIPTION": "Подключите этот почтовый ящик к WhatsApp Business для расширения функций и упрощения управления.", "WHATSAPP_CONNECT_BUTTON": "Подключить", "WHATSAPP_CONNECT_SUCCESS": "Успешно подключено к WhatsApp Business!", - "WHATSAPP_CONNECT_ERROR": "Не удалось подключиться WhatsApp Business. Пожалуйста, попробуйте еще раз.", + "WHATSAPP_CONNECT_ERROR": "Не удалось подключиться к WhatsApp Business. Пожалуйста, попробуйте еще раз.", "WHATSAPP_RECONFIGURE_SUCCESS": "Успешная перенастройка WhatsApp Business!", "WHATSAPP_RECONFIGURE_ERROR": "Не удалось перенастроить WhatsApp Business. Пожалуйста, попробуйте еще раз.", "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID не настроен. Пожалуйста, обратитесь к администратору.", @@ -759,7 +761,8 @@ "PLACEHOLDER": "Выберите справочный центр", "SELECT_PLACEHOLDER": "Выберите справочный центр", "REMOVE": "Удалить справочный центр", - "SUB_TEXT": "Прикрепить справочный центр с помощью папки \"Входящие\"" + "SUB_TEXT": "Прикрепить справочный центр с помощью папки \"Входящие\"", + "NONE": "Ничего" }, "AUTO_ASSIGNMENT": { "MAX_ASSIGNMENT_LIMIT": "Авто распределение лимита", @@ -809,37 +812,37 @@ "PLACEHOLDER": "Добавьте сообщение, которое будет отображено в форме обратной связи" }, "BUTTON_TEXT": { - "LABEL": "Button text", - "PLACEHOLDER": "Please rate us" + "LABEL": "Текст кнопки", + "PLACEHOLDER": "Пожалуйста, оцените нас" }, "LANGUAGE": { "LABEL": "Язык", - "PLACEHOLDER": "Select template language" + "PLACEHOLDER": "Выберите язык шаблона" }, "MESSAGE_PREVIEW": { - "LABEL": "Message preview", - "TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform." + "LABEL": "Предварительный просмотр сообщения", + "TOOLTIP": "Отображение может немного отличаться на платформе WhatsApp." }, "TEMPLATE_STATUS": { - "APPROVED": "Approved by WhatsApp", - "PENDING": "Pending WhatsApp approval", - "REJECTED": "Meta rejected the template", - "DEFAULT": "Needs WhatsApp approval", - "NOT_FOUND": "The template does not exist in the Meta platform." + "APPROVED": "Одобрено WhatsApp", + "PENDING": "Ожидает одобрения WhatsApp", + "REJECTED": "Шаблон отклонён Meta", + "DEFAULT": "Требуется одобрение WhatsApp", + "NOT_FOUND": "Шаблон не существует на платформе Meta." }, "TEMPLATE_CREATION": { - "SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval", - "ERROR_MESSAGE": "Failed to create WhatsApp template" + "SUCCESS_MESSAGE": "Шаблон WhatsApp успешно создан и отправлен на одобрение", + "ERROR_MESSAGE": "Не удалось создать шаблон WhatsApp" }, "TEMPLATE_UPDATE_DIALOG": { - "TITLE": "Edit survey details", - "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", - "CONFIRM": "Create new template", + "TITLE": "Редактировать детали опроса", + "DESCRIPTION": "Мы удалим предыдущий шаблон и создадим новый, который будет повторно отправлен на одобрение WhatsApp", + "CONFIRM": "Создать новый шаблон", "CANCEL": "Вернуться" }, "SURVEY_RULE": { - "LABEL": "Условие опросы", - "DESCRIPTION_PREFIX": "Отправить опрос если диалог", + "LABEL": "Условие опроса", + "DESCRIPTION_PREFIX": "Отправить опрос, если диалог", "DESCRIPTION_SUFFIX": "метки", "OPERATOR": { "CONTAINS": "содержит", @@ -848,10 +851,24 @@ "SELECT_PLACEHOLDER": "Выбрать метки" }, "NOTE": "Примечание: опросы CSAT отправляются только один раз для диалога", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Примечание: при сохранении система создаёт в WhatsApp отдельный CSAT-шаблон, который используется для сбора оценки и обратной связи в отчётах, и отправляет его на одобрение как Utility. В зависимости от содержания Meta всё равно может классифицировать его как Marketing. После одобрения опросы отправляются только один раз для каждого диалога в соответствии с правилом опроса.", "API": { "SUCCESS_MESSAGE": "Настройки CSAT успешно обновлены", "ERROR_MESSAGE": "Не удалось обновить CSAT настройки. Повторите попытку позже." + }, + "UTILITY_ANALYZER": { + "ACTION": "Проверить соответствие категории Utility", + "HELPER_NOTE": "Проверьте сообщение перед отправкой, чтобы повысить вероятность категории Utility. Система создаёт отдельный CSAT-шаблон с кнопками для отчётности и отправляет его на одобрение как Utility; в зависимости от содержания Meta всё равно может переклассифицировать его в Marketing.", + "RESULT_LABEL": "Прогноз категории Meta", + "GUIDANCE_NOTE": "Это лишь подсказка и не гарантирует одобрение Meta.", + "SUGGESTION_LABEL": "Предлагаемая формулировка для категории Utility", + "APPLY": "Использовать этот вариант", + "ERROR_MESSAGE": "Не удалось проанализировать сообщение. Пожалуйста, попробуйте ещё раз.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Вероятно Utility", + "LIKELY_MARKETING": "Вероятно Marketing", + "UNCLEAR": "Нужны уточнения" + } } }, "BUSINESS_HOURS": { @@ -866,9 +883,11 @@ "DAY": { "ENABLE": "Я работаю в этот день", "UNAVAILABLE": "Я не работаю в этот день", - "HOURS": "часы", + "HOURS": "Часов", "VALIDATION_ERROR": "Время начала должно предшествовать времени окончания.", - "CHOOSE": "Выбрать" + "CHOOSE": "Выбрать", + "DAY": "День", + "AVAILABILITY": "Доступность" }, "ALL_DAY": "Весь день" }, @@ -973,11 +992,11 @@ "IN_A_DAY": "Через день" }, "WIDGET_COLOR_LABEL": "Цвет виджета", - "WIDGET_BUBBLE_POSITION_LABEL": "Позиция конструктора виджетов", - "WIDGET_BUBBLE_TYPE_LABEL": "Тип рамки для виджета", + "WIDGET_BUBBLE_POSITION_LABEL": "Положение:", + "WIDGET_BUBBLE_TYPE_LABEL": "Тип:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Пообщайтесь с нами", - "LABEL": "Название виджета", + "LABEL": "Заголовок кнопки запуска", "PLACE_HOLDER": "Пообщайтесь с нами" }, "UPDATE": { @@ -998,11 +1017,12 @@ "WIDGET_BUBBLE_TYPE": { "STANDARD": "Стандартный", "EXPANDED_BUBBLE": "Расширенная рамка сообщений" - } + }, + "WIDGET_BUBBLE": "Пузырёк" }, "WIDGET_SCREEN": { "DEFAULT": "По умолчанию", - "CHAT": "Чат" + "CHAT": "Режим чата" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Обычно отвечаем в течение нескольких минут", @@ -1052,6 +1072,58 @@ "INSTAGRAM": "Instagram", "TIKTOK": "TikTok", "VOICE": "Голосовая связь" + }, + "COUNT": "Найдено источников: {n}", + "SEARCH_PLACEHOLDER": "Поиск источников...", + "NO_RESULTS": "Не найдено источников, соответствующих вашему запросу", + "CHANNEL_PREFERENCES": "Настройки канала", + "WIDGET_FEATURES": "Функции виджета", + "ASSIGNMENT": { + "TITLE": "Назначение диалогов", + "DESCRIPTION": "Автоматически назначайте входящие диалоги доступным агентам на основе правил назначения", + "ENABLE_AUTO_ASSIGNMENT": "Включить автоматическое назначение диалогов", + "DEFAULT_RULES_TITLE": "Стандартные правила назначения", + "DEFAULT_RULES_DESCRIPTION": "Использовать стандартное поведение назначения для всех диалогов", + "DEFAULT_RULE_1": "Сначала самые ранние диалоги", + "DEFAULT_RULE_2": "Распределение по кругу", + "CUSTOMIZE_WITH_POLICY": "Настроить через политику назначения", + "USING_POLICY": "Для этого источника используется пользовательская политика назначения", + "CUSTOMIZE_POLICY": "Настроить через политику назначения", + "DELETE_POLICY": "Удалить политику", + "POLICY_LABEL": "Политика назначения", + "ASSIGNMENT_ORDER_LABEL": "Порядок назначения", + "ASSIGNMENT_METHOD_LABEL": "Метод назначения", + "POLICY_STATUS": { + "ACTIVE": "Активно", + "INACTIVE": "Неактивен" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Сначала старые", + "LONGEST_WAITING": "Сначала ожидающие дольше всех" + }, + "METHOD": { + "ROUND_ROBIN": "По кругу", + "BALANCED": "Сбалансированное назначение" + }, + "UPGRADE_PROMPT": "Пользовательские политики назначения доступны в плане Business", + "UPGRADE_TO_BUSINESS": "Перейти на Business", + "DEFAULT_POLICY_LINKED": "Стандартная политика привязана", + "DEFAULT_POLICY_DESCRIPTION": "Привяжите пользовательскую политику назначения, чтобы настроить, как диалоги назначаются агентам в этом источнике.", + "LINK_EXISTING_POLICY": "Привязать существующую политику", + "CREATE_NEW_POLICY": "Создать новую политику", + "NO_POLICIES": "Не найдены связанные политики", + "VIEW_ALL_POLICIES": "Посмотреть все политики", + "CURRENT_BEHAVIOR": "Сейчас используется стандартное поведение назначения:", + "LINK_SUCCESS": "Политика назначения успешно привязана", + "LINK_ERROR": "Не удалось привязать политику назначения" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Удалить политику назначения?", + "DELETE_CONFIRM_MESSAGE": "Вы уверены, что хотите удалить эту политику назначения из этого источника? После этого источник вернётся к стандартным правилам назначения.", + "CANCEL": "Отменить", + "CONFIRM_DELETE": "Удалить", + "DELETE_SUCCESS": "Политика назначения успешно удалена", + "DELETE_ERROR": "Не удалось удалить политику назначения" } } } diff --git a/app/javascript/dashboard/i18n/locale/ru/integrationApps.json b/app/javascript/dashboard/i18n/locale/ru/integrationApps.json index d709e122e..56b05c243 100644 --- a/app/javascript/dashboard/i18n/locale/ru/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ru/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Загрузка интеграций", "NO_HOOK_CONFIGURED": "В этой учетной записи не настроено ни одной {integrationId} интеграции.", "HEADER": "Приложения", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Поиск...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Включено", "DISABLED": "Выключено" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Получение хуков", "INBOX": "Электронная почта", + "ACTIONS": "Действия", "DELETE": { "BUTTON_TEXT": "Удалить" } diff --git a/app/javascript/dashboard/i18n/locale/ru/integrations.json b/app/javascript/dashboard/i18n/locale/ru/integrations.json index d27942627..3bda183ae 100644 --- a/app/javascript/dashboard/i18n/locale/ru/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ru/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot интегрируется с несколькими инструментами и сервисами, чтобы повысить эффективность вашей команды. Изучите список ниже, чтобы настроить ваши любимые приложения.", "LEARN_MORE": "Узнать больше об интеграциях", "LOADING": "Получение интеграций", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Капитан не включен на вашем аккаунте.", "CLICK_HERE_TO_CONFIGURE": "Нажмите здесь, чтобы настроить", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "События с подпиской", "LEARN_MORE": "Узнать больше о вебхуках", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Отменить", "DESC": "Вебхуки позволяют получить вам информацию о том, что происходит в вашей учетной записи Chatwoot. Пожалуйста, введите корректный URL.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Удалить", "DELETE_CONFIRMATION": { "TITLE": "Удалить интеграцию", @@ -145,7 +160,29 @@ "EXPAND": "Развернуть", "MAKE_FRIENDLY": "Изменить тон сообщения на дружеский", "MAKE_FORMAL": "Использовать официальный тон", - "SIMPLIFY": "Упростить" + "SIMPLIFY": "Упростить", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Профессиональный", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Дружелюбный" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Содержание черновика", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Панель приложений

Панель приложений, позволяют организациям встраивать приложение в панель управления Chatwoot, чтобы предоставлять контекст для агентов службы поддержки клиентов. Эта функция позволяет вам создать приложение независимо и встроить его в панель инструментов для предоставления информации о пользователях, их заказах или их предыдущей истории платежей.

Когда вы встраиваете свое приложение с помощью панели инструментов в Chatwoot, ваше приложение будет получить контекст разговора и связей событий. Реализуйте связи для события сообщения на своей странице, чтобы получать контекст.

Чтобы добавить новое приложение панели приложений, нажмите кнопку \"Добавить приложение\".

", "DESCRIPTION": "Панель приложений, позволяют организациям встраивать приложение внутри панели управления для обеспечения контекста агентов по поддержке клиентов. Эта функция позволяет создать приложение независимо и встраивать информацию о пользователе, его заказах или их истории платежей.", "LEARN_MORE": "Подробнее об интеграциях", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "В этой панели приложений не настроено ни одной интеграции", "LOADING": "Загрузка приложений...", "TABLE_HEADER": { "NAME": "Имя", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Действия" }, "EDIT_TOOLTIP": "Редактировать приложение", "DELETE_TOOLTIP": "Удалить приложение" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Создать/Связать Задачу", "LOADING": "Загрузка связанных задач...", "LOADING_ERROR": "Ошибка получения данных о связанных задачах, пожалуйста попробуйте еще раз", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Вы уверены, что хотите удалить интеграцию с Notion?", "MESSAGE": "Удаление этой интеграции приведет к удалению доступа к вашему проекту Notion и остановит все связанные функции.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Вы можете изменить или отменить ваш тарифный план в любое время" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Обновите тарифный план, чтобы получить доступ к нашим ассистентам, copilot и другим функциям.", "ASK_ADMIN": "Пожалуйста, обратитесь к вашему администратору для обновления." }, diff --git a/app/javascript/dashboard/i18n/locale/ru/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ru/labelsMgmt.json index b92bc0b62..454ec658f 100644 --- a/app/javascript/dashboard/i18n/locale/ru/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Загрузка категорий", "DESCRIPTION": "Категории помогают вам классифицировать и приоритизировать разговоры и лидеров. Вы можете назначить категорию для разговора или контакта с помощью боковой панели.", "LEARN_MORE": "Узнать больше о категориях", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Поиск меток...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Нет категорий, соответствующих запросу", "LIST": { "404": "У вас нет категорий.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Имя", "DESCRIPTION": "Описание", - "COLOR": "Цвет" + "COLOR": "Цвет", + "ACTION": "Действия" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ru/macros.json b/app/javascript/dashboard/i18n/locale/ru/macros.json index 11f8e45b0..e85de7261 100644 --- a/app/javascript/dashboard/i18n/locale/ru/macros.json +++ b/app/javascript/dashboard/i18n/locale/ru/macros.json @@ -3,9 +3,12 @@ "HEADER": "Макрос", "DESCRIPTION": "Макрос — это набор сохраненных действий, которые помогают агентам службы поддержки легко выполнять задачи. Агенты могут определить ряд действий, таких как добавление метки к беседе, отправка транскрипта электронной почты, обновление пользовательского атрибута и т. д., и выполнять их одним щелчком мыши.", "LEARN_MORE": "Узнать больше о макросах", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Добавить новый макрос", "HEADER_BTN_TXT_SAVE": "Сохранить макрос", "LOADING": "Получение макроса", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Что-то пошло не так. Попробуйте еще раз", "ORDER_INFO": "Макросы будут выполняться в том порядке, в котором вы добавите ваши действия. Вы можете изменить их порядок, перетаскивая их ручкой рядом с каждым узлом.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Имя", "CREATED BY": "Создан", "LAST_UPDATED_BY": "Обновлено", - "VISIBILITY": "Видимость" + "VISIBILITY": "Видимость", + "ACTIONS": "Действия" }, "404": "Макросы не найдены" }, diff --git a/app/javascript/dashboard/i18n/locale/ru/mfa.json b/app/javascript/dashboard/i18n/locale/ru/mfa.json index 632c74935..c0861212f 100644 --- a/app/javascript/dashboard/i18n/locale/ru/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ru/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Двухфакторная аутентификация", - "SUBTITLE": "Защитите ваш аккаунт с помощью аутентификации на базе TOTP", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Добавьте дополнительный уровень безопасности для вашего аккаунта, используя одноразовый пароль (TOTP)", "STATUS_TITLE": "Статус аутентификации", "STATUS_DESCRIPTION": "Управление настройками двухфакторной аутентификации и резервными кодами", diff --git a/app/javascript/dashboard/i18n/locale/ru/report.json b/app/javascript/dashboard/i18n/locale/ru/report.json index abb9be29b..6183528d1 100644 --- a/app/javascript/dashboard/i18n/locale/ru/report.json +++ b/app/javascript/dashboard/i18n/locale/ru/report.json @@ -3,7 +3,7 @@ "HEADER": "Диалоги", "LOADING_CHART": "Загрузка данных графика...", "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", - "DOWNLOAD_AGENT_REPORTS": "Сказать отчёт по агентам", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Не удалось загрузить данные. Пожалуйста, попробуйте позже.", "SUMMARY_FETCHING_FAILED": "Не удалось загрузить сводку. Пожалуйста, попробуйте позже.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Обзор агентов", - "DESCRIPTION": "Легко отслеживайте эффективность работы агентов с помощью ключевых метрик, таких как количество бесед, время ответа, время решения проблем и количество решённых случаев. Нажмите на имя агента, чтобы узнать подробности.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Загрузка данных графика...", "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", "DOWNLOAD_AGENT_REPORTS": "Сказать отчёт по агентам", "FILTER_DROPDOWN_LABEL": "Выбрать Агента", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Поиск агентов" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Диалоги", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", "DOWNLOAD_LABEL_REPORTS": "Скачать отчет по меткам", "FILTER_DROPDOWN_LABEL": "Выбрать метку", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Поиск меток" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Диалоги", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Выбрать \"Входящий\" канал", "ALL_INBOXES": "Все входящие", "SEARCH_INBOX": "Поиск входящих", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Диалоги", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Обзор команды", - "DESCRIPTION": "Получите обзор работы вашей команды с основными метриками, такими как количество бесед, время ответа, время решения проблем и количество решённых случаев. Нажмите на имя команды для подробностей.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Загрузка данных графика...", "NO_ENOUGH_DATA": "Недостаточно данных для создания отчета, пожалуйста, повторите попытку позже.", "DOWNLOAD_TEAM_REPORTS": "Скачать отчет по команде", "FILTER_DROPDOWN_LABEL": "Выберите команду", + "FILTERS": { + "ADD_FILTER": "Добавить фильтр", + "CLEAR_ALL": "Очистить всё", + "NO_FILTER": "Нет доступных фильтров", + "INPUT_PLACEHOLDER": { + "TEAMS": "Поиск команд" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Диалоги", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Отчёты CSAT", - "NO_RECORDS": "Нет ответов на опрос CSAT.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Скачать отчёты CSAT", "DOWNLOAD_FAILED": "Не удалось загрузить CSAT отчёты", "FILTERS": { + "ADD_FILTER": "Добавить фильтр", + "CLEAR_ALL": "Очистить всё", + "NO_FILTER": "Нет доступных фильтров", + "INPUT_PLACEHOLDER": { + "AGENTS": "Поиск агентов", + "INBOXES": "Search inboxes", + "TEAMS": "Поиск команд", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Выберите Операторов" + "LABEL": "Оператор" + }, + "INBOXES": { + "LABEL": "Электронная почта" + }, + "TEAMS": { + "LABEL": "Команда" + }, + "RATINGS": { + "LABEL": "Оценка" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Контакт", - "AGENT_NAME": "Назначенный сотрудник", + "AGENT_NAME": "Оператор", "RATING": "Оценка", - "FEEDBACK_TEXT": "Комментарий отзыва" - } + "FEEDBACK_TEXT": "Комментарий отзыва", + "CONVERSATION": "Диалоги", + "CUSTOMER": "Customer", + "RESPONSE": "Ответ", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Всего ответов", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Доля откликов", "TOOLTIP": "Общее количество ответов / Общее количество отправленных сообщений CSAT опросов * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Сохранить", + "CANCEL": "Отменить", + "SAVING": "Сохранение...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Обновить сейчас", + "CANCEL_ANYTIME": "Вы можете изменить или отменить ваш тарифный план в любое время" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json index ca21552db..cc7f6e985 100644 --- a/app/javascript/dashboard/i18n/locale/ru/settings.json +++ b/app/javascript/dashboard/i18n/locale/ru/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Скачать", "UPLOADING": "Загружаем...", - "INSTAGRAM_STORY_UNAVAILABLE": "Эта история больше недоступна." + "INSTAGRAM_STORY_UNAVAILABLE": "Эта история больше недоступна.", + "INSTAGRAM_STORY_REPLY": "Ответил на вашу историю:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Просмотреть на карте" @@ -378,7 +379,57 @@ "INFO_SHORT": "Автоматически отмечать оффлайн, когда вы не используете приложение." }, "DOCS": "Открыть документацию", - "SECURITY": "Безопасность" + "SECURITY": "Безопасность", + "CAPTAIN_AI": "Капитан", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Ассистент", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Возможности", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Платёж", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Поиск по атрибутам" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Решить разговор", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Решить разговор", + "CANCEL": "Отменить" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Выберите параметр" + }, + "CHECKBOX": { + "YES": "Да", + "NO": "Нет" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Обновить сейчас", + "CANCEL_ANYTIME": "Вы можете изменить или отменить ваш тарифный план в любое время" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Пожалуйста, обратитесь к вашему администратору для обновления." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ой! Мы не смогли найти ни одного аккаунта в Chatwoot. Пожалуйста, создайте новый аккаунт, чтобы продолжить.", "NEW_ACCOUNT": "Новый аккаунт", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Создать политику", "API": { "SUCCESS_MESSAGE": "Связанная политика успешно создана", - "ERROR_MESSAGE": "Не удалось создать связанную политику" + "ERROR_MESSAGE": "Не удалось создать связанную политику", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Продолжить", "CANCEL_BUTTON_LABEL": "Отменить" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Связанная политика успешно обновлена", "ERROR_MESSAGE": "Не удалось обновить связанную политику" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Сбалансированный", - "DESCRIPTION": "Назначить диалоги на основе доступной пропускной способности." + "DESCRIPTION": "Назначить диалоги на основе доступной пропускной способности.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Агент успешно удален из политики", "ERROR_MESSAGE": "Не удалось удалить агента из политики" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ru/signup.json b/app/javascript/dashboard/i18n/locale/ru/signup.json index b1e2829b1..b3856ea82 100644 --- a/app/javascript/dashboard/i18n/locale/ru/signup.json +++ b/app/javascript/dashboard/i18n/locale/ru/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Создать новый аккаунт", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Регистрация", "TESTIMONIAL_HEADER": "Все, что нужно сделать, это один шаг для продвижения вперед", "TESTIMONIAL_CONTENT": "Вы находитесь на расстоянии всего одного шага от привлечения своих клиентов, удержав их и находя новые.", diff --git a/app/javascript/dashboard/i18n/locale/ru/sla.json b/app/javascript/dashboard/i18n/locale/ru/sla.json index 2a0dbac8a..144fcf264 100644 --- a/app/javascript/dashboard/i18n/locale/ru/sla.json +++ b/app/javascript/dashboard/i18n/locale/ru/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Создать новую политику SLA", "DESCRIPTION": "Соглашения об уровне обслуживания (SLA) — это контракты, которые определяют четкие ожидания между вашей командой и клиентами. Они устанавливают стандарты времени ответа и разрешения проблем, создавая основу для подотчетности и обеспечивая последовательный, высококачественный опыт.", "LEARN_MORE": "Узнать больше о SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Загрузка SLA", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Обновите тарифный план для создания SLA", "AVAILABLE_ON": "Функция SLA доступна только в тарифных планах Business и Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "В этой учетной записи нет доступных SLA.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Проблемы, поднятые корпоративными клиентами, требующие немедленного внимания.", "TITLE_2": "Enterprise P1", "DESC_2": "Проблемы, поднятые корпоративными клиентами, требующие быстрого подтверждения." }, - "BUSINESS_HOURS_ON": "Рабочие часы включены", - "BUSINESS_HOURS_OFF": "Рабочие часы отключены", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Порог времени первого ответа", "NRT": "Порог времени следующего ответа", diff --git a/app/javascript/dashboard/i18n/locale/ru/snooze.json b/app/javascript/dashboard/i18n/locale/ru/snooze.json new file mode 100644 index 000000000..e8fd1d093 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ru/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "минут", + "HOUR": "hour", + "HOURS": "часы", + "DAY": "день", + "DAYS": "дней", + "WEEK": "день", + "WEEKS": "weeks", + "MONTH": "неделя", + "MONTHS": "months", + "YEAR": "месяц", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "завтра", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "на следующей неделе", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "из", + "AFTER": "after", + "WEEK": "день", + "DAY": "день" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ru/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ru/teamsSettings.json index 23da13f1d..761484052 100644 --- a/app/javascript/dashboard/i18n/locale/ru/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ru/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Получение команд", "DESCRIPTION": "Команды позволяют вам организовывать агентов в группы, основываясь на их обязанностях. Агент может состоять в нескольких командах. При совместной работе вы можете назначить разговоры конкретным командам.", "LEARN_MORE": "Узнать больше о командах", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Поиск команд...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "В этом аккаунте нет ни одной команды.", "EDIT_TEAM": "Редактировать команду", diff --git a/app/javascript/dashboard/i18n/locale/sh/agentBots.json b/app/javascript/dashboard/i18n/locale/sh/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/sh/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sh/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sh/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sh/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/sh/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/sh/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sh/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/sh/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sh/automation.json b/app/javascript/dashboard/i18n/locale/sh/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/sh/automation.json +++ b/app/javascript/dashboard/i18n/locale/sh/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/sh/bulkActions.json b/app/javascript/dashboard/i18n/locale/sh/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/sh/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sh/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/sh/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sh/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/sh/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/sh/chatlist.json b/app/javascript/dashboard/i18n/locale/sh/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/sh/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sh/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sh/contact.json b/app/javascript/dashboard/i18n/locale/sh/contact.json index 8e9d1dec9..48d45d737 100644 --- a/app/javascript/dashboard/i18n/locale/sh/contact.json +++ b/app/javascript/dashboard/i18n/locale/sh/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sh/conversation.json b/app/javascript/dashboard/i18n/locale/sh/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/sh/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sh/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/sh/customRole.json b/app/javascript/dashboard/i18n/locale/sh/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/sh/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sh/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sh/datePicker.json b/app/javascript/dashboard/i18n/locale/sh/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/sh/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sh/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/sh/general.json b/app/javascript/dashboard/i18n/locale/sh/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/sh/general.json +++ b/app/javascript/dashboard/i18n/locale/sh/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/sh/generalSettings.json b/app/javascript/dashboard/i18n/locale/sh/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/sh/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sh/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json index a71d8a8d4..f4571b52b 100644 --- a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/sh/integrationApps.json b/app/javascript/dashboard/i18n/locale/sh/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/sh/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sh/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/sh/integrations.json b/app/javascript/dashboard/i18n/locale/sh/integrations.json index 983953180..a1ce02d11 100644 --- a/app/javascript/dashboard/i18n/locale/sh/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sh/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sh/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sh/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/sh/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sh/macros.json b/app/javascript/dashboard/i18n/locale/sh/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/sh/macros.json +++ b/app/javascript/dashboard/i18n/locale/sh/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sh/mfa.json b/app/javascript/dashboard/i18n/locale/sh/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/sh/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sh/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sh/report.json b/app/javascript/dashboard/i18n/locale/sh/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/sh/report.json +++ b/app/javascript/dashboard/i18n/locale/sh/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sh/settings.json b/app/javascript/dashboard/i18n/locale/sh/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/sh/settings.json +++ b/app/javascript/dashboard/i18n/locale/sh/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sh/signup.json b/app/javascript/dashboard/i18n/locale/sh/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/sh/signup.json +++ b/app/javascript/dashboard/i18n/locale/sh/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/sh/sla.json b/app/javascript/dashboard/i18n/locale/sh/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/sh/sla.json +++ b/app/javascript/dashboard/i18n/locale/sh/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/sh/snooze.json b/app/javascript/dashboard/i18n/locale/sh/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sh/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sh/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sh/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/sh/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sh/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/sk/agentBots.json b/app/javascript/dashboard/i18n/locale/sk/agentBots.json index ff05c0419..a0941f1e3 100644 --- a/app/javascript/dashboard/i18n/locale/sk/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sk/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Akcie" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sk/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sk/agentMgmt.json index 22a6ec461..74fd83a13 100644 --- a/app/javascript/dashboard/i18n/locale/sk/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrátor", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "K tomuto účtu nie sú priradení žiadni agenti", "TITLE": "Spravujte agentov vo svojom tíme", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nepodarilo sa pripojiť k serveru Woot, skúste to prosím neskôr" } }, + "SEARCH_PLACEHOLDER": "Hľadať agentov...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Žiadne výsledky neboli nájdené." }, diff --git a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json index 8a2f1ae90..84ec0078c 100644 --- a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Hľadať atribúty...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sk/automation.json b/app/javascript/dashboard/i18n/locale/sk/automation.json index 1b945a0c1..9f7b79407 100644 --- a/app/javascript/dashboard/i18n/locale/sk/automation.json +++ b/app/javascript/dashboard/i18n/locale/sk/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Meno", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Akcie" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/sk/bulkActions.json b/app/javascript/dashboard/i18n/locale/sk/bulkActions.json index 7dee27773..878d7af8f 100644 --- a/app/javascript/dashboard/i18n/locale/sk/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sk/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Žiadne označenia neboli nájdené", diff --git a/app/javascript/dashboard/i18n/locale/sk/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sk/cannedMgmt.json index d489c1762..ccd9c012c 100644 --- a/app/javascript/dashboard/i18n/locale/sk/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Uložené odpovede", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Neexistujú žiadne položky, ktoré by zodpovedali tejto požiadavke.", "LIST": { "404": "Žiadne uložené odpovede nie sú k dispozícii pre tento účet.", diff --git a/app/javascript/dashboard/i18n/locale/sk/chatlist.json b/app/javascript/dashboard/i18n/locale/sk/chatlist.json index 7a133b29b..0a5887279 100644 --- a/app/javascript/dashboard/i18n/locale/sk/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sk/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json index 574ae2c03..fa3d6a923 100644 --- a/app/javascript/dashboard/i18n/locale/sk/contact.json +++ b/app/javascript/dashboard/i18n/locale/sk/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Žiadny kontakt nezodpovedá vášmu vyhľadávaniu 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Pre:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Predmet :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Kópia:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Skrytá kópia:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Skrytá kópia" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json index b2952230d..739cf7ef8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Správa bola úspešne odstránená", "FAIL_DELETE_MESSSAGE": "Správu sa nepodarilo vymazať! Skúste to znova", "NO_RESPONSE": "Žiadna odpoveď", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter pre nový riadok. Ak chcete vybrať Uloženú odpoveď, začnite klávesou '/'.", "PRIVATE_MSG_INPUT": "Shift + enter pre nový riadok. Toto bude viditeľné len pre agentov", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Potiahnite sem na pripojenie", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Pridať skrytú kópiu", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Zrušiť", "SEND_EMAIL_SUCCESS": "Prepis chatu bol úspešne odoslaný", "SEND_EMAIL_ERROR": "Vyskytla sa chyba, skúste to prosím znova", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Odoslať prepis chatu zákazníkovi", "SEND_TO_AGENT": "Odoslať prepis pridelenému agentovi", diff --git a/app/javascript/dashboard/i18n/locale/sk/customRole.json b/app/javascript/dashboard/i18n/locale/sk/customRole.json index 1b8a99424..cbc1d6c93 100644 --- a/app/javascript/dashboard/i18n/locale/sk/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sk/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Neexistujú žiadne položky, ktoré by zodpovedali tejto požiadavke.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sk/datePicker.json b/app/javascript/dashboard/i18n/locale/sk/datePicker.json index 82b17722e..3309f60a8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sk/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Použiť", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Posledné 3 mesiace", "LAST_6_MONTHS": "Posledných 6 mesiacov", "LAST_YEAR": "Posledný rok", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Vlastný rozsah dátumov" } } diff --git a/app/javascript/dashboard/i18n/locale/sk/general.json b/app/javascript/dashboard/i18n/locale/sk/general.json index b117898d4..f73a747d9 100644 --- a/app/javascript/dashboard/i18n/locale/sk/general.json +++ b/app/javascript/dashboard/i18n/locale/sk/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Zatvoriť", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Áno", + "NO": "Nie" } } diff --git a/app/javascript/dashboard/i18n/locale/sk/generalSettings.json b/app/javascript/dashboard/i18n/locale/sk/generalSettings.json index 8b08c54e2..53695a3a8 100644 --- a/app/javascript/dashboard/i18n/locale/sk/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sk/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Hľadať alebo ísť na", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Všeobecné", "REPORTS": "Reporty", diff --git a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json index 0c9f1c823..d5227a810 100644 --- a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json index 9e2fb73d3..0a6ddfc47 100644 --- a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Vypnuté" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Zapnuté", - "DISABLED": "Vypnuté" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Zapnúť" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Žiadne", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Zrušiť", + "CONFIRM_DELETE": "Vymazať", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Znova autorizovať", "SUBTITLE": "Vaše pripojenie k Facebooku vypršalo, pre pokračovanie v službách prosím znovu pripojte svoju stránku na Facebooku", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Správa pre návštevníkov pri nedostupnosti", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Dostupnosť", + "HOURS": "Hours", "ENABLE": "Povolenie dostupnosti pre tento deň", "UNAVAILABLE": "Neodstupné", - "HOURS": "hodiny", "VALIDATION_ERROR": "Začiatočný čas by mal byť pred zatváracím časom.", "CHOOSE": "Vybrať" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "O deň" }, "WIDGET_COLOR_LABEL": "Farba widgetu", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Četujte s nami", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Četujte s nami" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Zvyčajne odpovedá do niekoľkých minút", diff --git a/app/javascript/dashboard/i18n/locale/sk/integrationApps.json b/app/javascript/dashboard/i18n/locale/sk/integrationApps.json index 94a78c219..4a6b20120 100644 --- a/app/javascript/dashboard/i18n/locale/sk/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sk/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Zapnuté", "DISABLED": "Vypnuté" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Schránka", + "ACTIONS": "Akcie", "DELETE": { "BUTTON_TEXT": "Vymazať" } diff --git a/app/javascript/dashboard/i18n/locale/sk/integrations.json b/app/javascript/dashboard/i18n/locale/sk/integrations.json index df29ccdbc..0fb7b149e 100644 --- a/app/javascript/dashboard/i18n/locale/sk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sk/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Zrušiť", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Vymazať", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Meno", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Akcie" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sk/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sk/labelsMgmt.json index cd2a86fbc..9d5f890c3 100644 --- a/app/javascript/dashboard/i18n/locale/sk/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Hľadaj označenia...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Neexistujú žiadne položky, ktoré by zodpovedali tejto požiadavke", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Meno", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Akcie" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sk/macros.json b/app/javascript/dashboard/i18n/locale/sk/macros.json index c72181013..784ba59a2 100644 --- a/app/javascript/dashboard/i18n/locale/sk/macros.json +++ b/app/javascript/dashboard/i18n/locale/sk/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Meno", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Akcie" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sk/mfa.json b/app/javascript/dashboard/i18n/locale/sk/mfa.json index 134c98d4a..4ff8d73d5 100644 --- a/app/javascript/dashboard/i18n/locale/sk/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sk/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sk/report.json b/app/javascript/dashboard/i18n/locale/sk/report.json index 65d7182d0..e7c7b4e25 100644 --- a/app/javascript/dashboard/i18n/locale/sk/report.json +++ b/app/javascript/dashboard/i18n/locale/sk/report.json @@ -3,7 +3,7 @@ "HEADER": "Rozhovory", "LOADING_CHART": "Načítanie grafu...", "NO_ENOUGH_DATA": "Na vygenerovanie reportu sme nedostali dostatok dát, skúste to prosím neskôr.", - "DOWNLOAD_AGENT_REPORTS": "Stiahnutie reportov o agentoch", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Prehľad agentov", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Načítanie grafu...", "NO_ENOUGH_DATA": "Na vygenerovanie reportu sme nedostali dostatok dát, skúste to prosím neskôr.", "DOWNLOAD_AGENT_REPORTS": "Stiahnutie reportov o agentoch", "FILTER_DROPDOWN_LABEL": "Vybrat agenta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Hľadať agentov" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozhovory", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Na vygenerovanie reportu sme nedostali dostatok dát, skúste to prosím neskôr.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Hľadaj označenia" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozhovory", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozhovory", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Načítanie grafu...", "NO_ENOUGH_DATA": "Na vygenerovanie reportu sme nedostali dostatok dát, skúste to prosím neskôr.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Hľadať tímy" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Rozhovory", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Hľadať agentov", + "INBOXES": "Search inboxes", + "TEAMS": "Hľadať tímy", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Schránka" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Hodnotenia" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Hodnotenia", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Zrušiť", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json index 8c135b325..2bef21ec6 100644 --- a/app/javascript/dashboard/i18n/locale/sk/settings.json +++ b/app/javascript/dashboard/i18n/locale/sk/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Stiahnuť", "UPLOADING": "Nahrávanie...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Hľadať atribúty" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Zrušiť" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Áno", + "NO": "Nie" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Zrušiť" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sk/signup.json b/app/javascript/dashboard/i18n/locale/sk/signup.json index 7dedca246..a03da76e4 100644 --- a/app/javascript/dashboard/i18n/locale/sk/signup.json +++ b/app/javascript/dashboard/i18n/locale/sk/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrovať", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/sk/sla.json b/app/javascript/dashboard/i18n/locale/sk/sla.json index 73df8c8d2..4fa490557 100644 --- a/app/javascript/dashboard/i18n/locale/sk/sla.json +++ b/app/javascript/dashboard/i18n/locale/sk/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/sk/snooze.json b/app/javascript/dashboard/i18n/locale/sk/snooze.json new file mode 100644 index 000000000..69ef70d73 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sk/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hodiny", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "zajtra", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "ďalší ťýždeň", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sk/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sk/teamsSettings.json index b0acc8b2a..b8353ed3b 100644 --- a/app/javascript/dashboard/i18n/locale/sk/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sk/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Hľadať tímy...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nepodarilo sa uložiť údaje o tíme. Skúste to znova." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Pridať agentov", "ADD_AGENTS": "Pridávajú sa agenti do tímu...", "SELECT": "vybrať", diff --git a/app/javascript/dashboard/i18n/locale/sl/agentBots.json b/app/javascript/dashboard/i18n/locale/sl/agentBots.json index f6beeebe8..bc8736c9d 100644 --- a/app/javascript/dashboard/i18n/locale/sl/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sl/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Nalaganje urejevalnika ...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Pridobivanje botov ...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sl/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sl/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/sl/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/sl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sl/attributesMgmt.json index f2a66668e..7d8528687 100644 --- a/app/javascript/dashboard/i18n/locale/sl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sl/automation.json b/app/javascript/dashboard/i18n/locale/sl/automation.json index 4ce97216f..63e6f72b2 100644 --- a/app/javascript/dashboard/i18n/locale/sl/automation.json +++ b/app/javascript/dashboard/i18n/locale/sl/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Dodaj", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/sl/bulkActions.json b/app/javascript/dashboard/i18n/locale/sl/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/sl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sl/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/sl/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sl/cannedMgmt.json index f55eb624c..c21c80802 100644 --- a/app/javascript/dashboard/i18n/locale/sl/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/sl/chatlist.json b/app/javascript/dashboard/i18n/locale/sl/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/sl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sl/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sl/contact.json b/app/javascript/dashboard/i18n/locale/sl/contact.json index 53ee2b24c..9330a3550 100644 --- a/app/javascript/dashboard/i18n/locale/sl/contact.json +++ b/app/javascript/dashboard/i18n/locale/sl/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sl/conversation.json b/app/javascript/dashboard/i18n/locale/sl/conversation.json index b894f2f2f..2adbfa36b 100644 --- a/app/javascript/dashboard/i18n/locale/sl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sl/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Predloge za WhatsApp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/sl/customRole.json b/app/javascript/dashboard/i18n/locale/sl/customRole.json index 24b3f939a..803e7e683 100644 --- a/app/javascript/dashboard/i18n/locale/sl/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sl/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sl/datePicker.json b/app/javascript/dashboard/i18n/locale/sl/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/sl/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sl/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/sl/general.json b/app/javascript/dashboard/i18n/locale/sl/general.json index 232deae6a..9be5e646a 100644 --- a/app/javascript/dashboard/i18n/locale/sl/general.json +++ b/app/javascript/dashboard/i18n/locale/sl/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/sl/generalSettings.json b/app/javascript/dashboard/i18n/locale/sl/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/sl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sl/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json index b0bafaf77..2e7c8bd75 100644 --- a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json index 6238b3092..3ddc84fd2 100644 --- a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Klepetajte z nami", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Klepetajte z nami" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Običajno odgovorimo v nekaj minutah", diff --git a/app/javascript/dashboard/i18n/locale/sl/integrationApps.json b/app/javascript/dashboard/i18n/locale/sl/integrationApps.json index b91b434f7..0204eec1e 100644 --- a/app/javascript/dashboard/i18n/locale/sl/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sl/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Iskanje ...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/sl/integrations.json b/app/javascript/dashboard/i18n/locale/sl/integrations.json index ea4c1822a..d4688e927 100644 --- a/app/javascript/dashboard/i18n/locale/sl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sl/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sl/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sl/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/sl/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sl/macros.json b/app/javascript/dashboard/i18n/locale/sl/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/sl/macros.json +++ b/app/javascript/dashboard/i18n/locale/sl/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sl/mfa.json b/app/javascript/dashboard/i18n/locale/sl/mfa.json index a86db16d0..3ae6e4431 100644 --- a/app/javascript/dashboard/i18n/locale/sl/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sl/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sl/report.json b/app/javascript/dashboard/i18n/locale/sl/report.json index 6aaaabb7e..6f6e6e68a 100644 --- a/app/javascript/dashboard/i18n/locale/sl/report.json +++ b/app/javascript/dashboard/i18n/locale/sl/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Dodaj filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Dodaj filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sl/settings.json b/app/javascript/dashboard/i18n/locale/sl/settings.json index ed5652003..15aa95e8b 100644 --- a/app/javascript/dashboard/i18n/locale/sl/settings.json +++ b/app/javascript/dashboard/i18n/locale/sl/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Nalaganje...", - "INSTAGRAM_STORY_UNAVAILABLE": "Ta zgodba ni več na voljo." + "INSTAGRAM_STORY_UNAVAILABLE": "Ta zgodba ni več na voljo.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sl/signup.json b/app/javascript/dashboard/i18n/locale/sl/signup.json index d307a6d6e..da325ebfd 100644 --- a/app/javascript/dashboard/i18n/locale/sl/signup.json +++ b/app/javascript/dashboard/i18n/locale/sl/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Ustvari račun", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrirajte se", "TESTIMONIAL_HEADER": "Le še en korak, da napredujete", "TESTIMONIAL_CONTENT": "Ste le korak stran od tega, da pritegnete svoje stranke, jih obdržite in najdete nove.", diff --git a/app/javascript/dashboard/i18n/locale/sl/sla.json b/app/javascript/dashboard/i18n/locale/sl/sla.json index 023cda755..b80c2f11d 100644 --- a/app/javascript/dashboard/i18n/locale/sl/sla.json +++ b/app/javascript/dashboard/i18n/locale/sl/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Delovni čas je vklopljen", - "BUSINESS_HOURS_OFF": "Delovni čas je izklopljen", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Prag časa prvega odziva", "NRT": "Prag časa naslednjega odziva", diff --git a/app/javascript/dashboard/i18n/locale/sl/snooze.json b/app/javascript/dashboard/i18n/locale/sl/snooze.json new file mode 100644 index 000000000..80af1c084 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sl/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "dan", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "dan" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sl/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sl/teamsSettings.json index f0a950fd1..c3f90e4e3 100644 --- a/app/javascript/dashboard/i18n/locale/sl/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sl/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "E-pošta", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/sq/agentBots.json b/app/javascript/dashboard/i18n/locale/sq/agentBots.json index c7dee5d5e..6a3528425 100644 --- a/app/javascript/dashboard/i18n/locale/sq/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sq/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Botët agjentë janë si anëtarët më të mrekullueshëm të ekipit tuaj. Ata mund të merren me gjërat e vogla, që ju të përqendroheni te ato që kanë rëndësi. Provojini. Mund t'i menaxhoni botët nga kjo faqe ose të krijoni të rinj duke përdorur butonin 'Shto Bot'.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "Bot i sistemit", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Detajet e botit", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sq/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sq/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/sq/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json index 7f1adc6d1..20a3c0596 100644 --- a/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sq/automation.json b/app/javascript/dashboard/i18n/locale/sq/automation.json index cbdf6f00c..212a77339 100644 --- a/app/javascript/dashboard/i18n/locale/sq/automation.json +++ b/app/javascript/dashboard/i18n/locale/sq/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Shto një shënim privat", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Mesazh hyrës", diff --git a/app/javascript/dashboard/i18n/locale/sq/bulkActions.json b/app/javascript/dashboard/i18n/locale/sq/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/sq/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sq/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/sq/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sq/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/sq/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/sq/chatlist.json b/app/javascript/dashboard/i18n/locale/sq/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/sq/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sq/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sq/contact.json b/app/javascript/dashboard/i18n/locale/sq/contact.json index 52c5c3122..35ccc3b08 100644 --- a/app/javascript/dashboard/i18n/locale/sq/contact.json +++ b/app/javascript/dashboard/i18n/locale/sq/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "Asnjë kontakt nuk është aktiv për momentin 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sq/conversation.json b/app/javascript/dashboard/i18n/locale/sq/conversation.json index bb904eac7..3de3e9fb6 100644 --- a/app/javascript/dashboard/i18n/locale/sq/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sq/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Biseda u fshi me sukses", "FAIL_DELETE_CONVERSATION": "Biseda nuk u fshi dot! Provoni përsëri", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/sq/customRole.json b/app/javascript/dashboard/i18n/locale/sq/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/sq/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sq/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sq/datePicker.json b/app/javascript/dashboard/i18n/locale/sq/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/sq/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sq/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/sq/general.json b/app/javascript/dashboard/i18n/locale/sq/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/sq/general.json +++ b/app/javascript/dashboard/i18n/locale/sq/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/sq/generalSettings.json b/app/javascript/dashboard/i18n/locale/sq/generalSettings.json index d657e4c4b..b76ea0e24 100644 --- a/app/javascript/dashboard/i18n/locale/sq/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sq/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json index e1991654c..d7c94bd1d 100644 --- a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json index caa282a8b..7d37279c8 100644 --- a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Orë", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Zakonisht përgjigjemi brenda pak minutash", diff --git a/app/javascript/dashboard/i18n/locale/sq/integrationApps.json b/app/javascript/dashboard/i18n/locale/sq/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/sq/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sq/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/sq/integrations.json b/app/javascript/dashboard/i18n/locale/sq/integrations.json index ae72f4974..dcef81b96 100644 --- a/app/javascript/dashboard/i18n/locale/sq/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sq/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sq/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sq/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/sq/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sq/macros.json b/app/javascript/dashboard/i18n/locale/sq/macros.json index 33596e353..91e1f8e71 100644 --- a/app/javascript/dashboard/i18n/locale/sq/macros.json +++ b/app/javascript/dashboard/i18n/locale/sq/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sq/mfa.json b/app/javascript/dashboard/i18n/locale/sq/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/sq/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sq/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sq/report.json b/app/javascript/dashboard/i18n/locale/sq/report.json index bee450314..a39ab7c05 100644 --- a/app/javascript/dashboard/i18n/locale/sq/report.json +++ b/app/javascript/dashboard/i18n/locale/sq/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sq/settings.json b/app/javascript/dashboard/i18n/locale/sq/settings.json index 28949214f..e1034ba33 100644 --- a/app/javascript/dashboard/i18n/locale/sq/settings.json +++ b/app/javascript/dashboard/i18n/locale/sq/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Po ngarkohet...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sq/signup.json b/app/javascript/dashboard/i18n/locale/sq/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/sq/signup.json +++ b/app/javascript/dashboard/i18n/locale/sq/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/sq/sla.json b/app/javascript/dashboard/i18n/locale/sq/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/sq/sla.json +++ b/app/javascript/dashboard/i18n/locale/sq/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/sq/snooze.json b/app/javascript/dashboard/i18n/locale/sq/snooze.json new file mode 100644 index 000000000..2fd492c2c --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sq/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minuta", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "ditë", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sq/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sq/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/sq/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sq/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/sr/agentBots.json b/app/javascript/dashboard/i18n/locale/sr/agentBots.json index dc5cf9514..018b95ed3 100644 --- a/app/javascript/dashboard/i18n/locale/sr/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sr/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Adresa veb zakačke" + "URL": "Adresa veb zakačke", + "ACTIONS": "Akcije" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sr/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sr/agentMgmt.json index 38a693be4..c5d6689f3 100644 --- a/app/javascript/dashboard/i18n/locale/sr/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Nema agenata povezanih sa ovim nalogom", "TITLE": "Upravljajte agentima u Vašem timu", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Nije moguće se povezati sa Woot serverom, pokušajte ponovo kasnije" } }, + "SEARCH_PLACEHOLDER": "Traži agente...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Nema rezultata." }, diff --git a/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json index 5866927d3..fa3b9d008 100644 --- a/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Prikupljanje prilagođenih atributa", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Traži atribute...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Razgovor", "CONTACT": "Kontakt" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sr/automation.json b/app/javascript/dashboard/i18n/locale/sr/automation.json index e2f86f2f9..ec9544e3e 100644 --- a/app/javascript/dashboard/i18n/locale/sr/automation.json +++ b/app/javascript/dashboard/i18n/locale/sr/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automatizacija", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Dodaj pravilo automatizacije", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Prikupljanje pravila automatizacije", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Dodaj pravilo automatizacije", "SUBMIT": "Napravi", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Ime", - "DESCRIPTION": "Opis", "ACTIVE": "Aktivno", - "CREATED_ON": "Napravljeno" + "CREATED_ON": "Napravljeno", + "ACTIONS": "Akcije" }, "404": "Nisu pronađena pravila automatizacije" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Otvoren razgovor" + "OPEN_CONVERSATION": "Otvoren razgovor", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/sr/bulkActions.json b/app/javascript/dashboard/i18n/locale/sr/bulkActions.json index 22ec6d65a..a1b651426 100644 --- a/app/javascript/dashboard/i18n/locale/sr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sr/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Status razgovora je uspešno promenjen.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Oznake nisu pronađene", diff --git a/app/javascript/dashboard/i18n/locale/sr/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sr/cannedMgmt.json index 8ca5efb82..cfd9f6f2f 100644 --- a/app/javascript/dashboard/i18n/locale/sr/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Brzi odgovori", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Nema stavki koje se poklapaju sa upitom.", "LIST": { "404": "Ne postoje brzi odgovori u ovom nalogu.", diff --git a/app/javascript/dashboard/i18n/locale/sr/chatlist.json b/app/javascript/dashboard/i18n/locale/sr/chatlist.json index 9c44cef0b..bdce531ec 100644 --- a/app/javascript/dashboard/i18n/locale/sr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sr/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sr/contact.json b/app/javascript/dashboard/i18n/locale/sr/contact.json index 6d01d7b47..071ee8df8 100644 --- a/app/javascript/dashboard/i18n/locale/sr/contact.json +++ b/app/javascript/dashboard/i18n/locale/sr/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Nisu pronađeni kontakti 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Dodeli oznake", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Za:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Naslov :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sr/conversation.json b/app/javascript/dashboard/i18n/locale/sr/conversation.json index 3403d3383..752efe60f 100644 --- a/app/javascript/dashboard/i18n/locale/sr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sr/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Poruka je uspešno obrisana", "FAIL_DELETE_MESSSAGE": "Nije bilo moguće obrisati poruku! Pokušajte ponovo", "NO_RESPONSE": "Nema odgovora", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Nije bilo moguće dodeliti oznaku. Molim vas pokušajte ponovo." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Dodeljen je tim \"{team}\" razgovoru sa id {conversationId}", "FAILED": "Nije bilo moguće dodeliti tim. Molim vas pokušajte ponovo." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Onemogući potpis", "MSG_INPUT": "Shift + enter za novi red. Počni sa '/' da bi ste izabrali brzi odgovor.", "PRIVATE_MSG_INPUT": "Shift + enter za novi red. Ovo će biti vidljivo samo agentima", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Potpis poruke nije podešen, molim vas podesite ga u podešavanjima profila.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Kliknite ovde da izmenite", "WHATSAPP_TEMPLATES": "Whatsapp šabloni" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Prevuci i pusti za dodavanje", "START_AUDIO_RECORDING": "Pokreni snimanje zvuka", "STOP_AUDIO_RECORDING": "Zaustavi snimanje zvuka", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Dodaj bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Nije moguće slanje poruke, molim vas pokušajte ponovo", "SENT_BY": "Poslao:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Nije bilo moguće poslati poruku! Pokušajte ponovo", "TRY_AGAIN": "pokušaj ponovo", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Otkaži", "SEND_EMAIL_SUCCESS": "Transkript razgovora je uspešno poslat", "SEND_EMAIL_ERROR": "Pojavila se greška, molim vas pokušajte ponovo", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Pošaljite transkript potrošaču", "SEND_TO_AGENT": "Pošaljite transkript dodeljenom agentu", diff --git a/app/javascript/dashboard/i18n/locale/sr/customRole.json b/app/javascript/dashboard/i18n/locale/sr/customRole.json index 6a243b9e9..b163479f6 100644 --- a/app/javascript/dashboard/i18n/locale/sr/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sr/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Nema stavki koje se poklapaju sa upitom.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sr/datePicker.json b/app/javascript/dashboard/i18n/locale/sr/datePicker.json index b41fe952a..777876d8d 100644 --- a/app/javascript/dashboard/i18n/locale/sr/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sr/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Primeni", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Poslednja 3 meseca", "LAST_6_MONTHS": "Poslednjih 6 meseci", "LAST_YEAR": "Poslednja godina", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Prilagođen opseg vremena" } } diff --git a/app/javascript/dashboard/i18n/locale/sr/general.json b/app/javascript/dashboard/i18n/locale/sr/general.json index fed40410c..64114f332 100644 --- a/app/javascript/dashboard/i18n/locale/sr/general.json +++ b/app/javascript/dashboard/i18n/locale/sr/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Zatvori", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Da", + "NO": "Ne" } } diff --git a/app/javascript/dashboard/i18n/locale/sr/generalSettings.json b/app/javascript/dashboard/i18n/locale/sr/generalSettings.json index e12643802..5d4db65fb 100644 --- a/app/javascript/dashboard/i18n/locale/sr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sr/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Pretraži ili idi na", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Opšta", "REPORTS": "Izveštaji", diff --git a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json index f3461ef73..f1b61014c 100644 --- a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json index 2153ec562..7bf007094 100644 --- a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Prijemni sandučići", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Onemogućeno" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Omogućeno", - "DISABLED": "Onemogućeno" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Omogućeno" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "Izveštaj o zadovoljstvu" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Omogući nastavljanje razgovora putem e-pošte", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Razgovori će se nastaviti putem e-pošte ako je dostupna adresa e-pošte kontakta.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Podešavanja prijemnog sandučeta", "INBOX_UPDATE_SUB_TEXT": "Izmenite podešavanja vašeg prijemnog sandučeta", "AUTO_ASSIGNMENT_SUB_TEXT": "Omogući ili onemogući automatsku dodelu novih razgovora agentima dodatih ovom prijemnom sandučetu.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Niko", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Molim vas unesite vrednost veću od 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Ograničite maksimalni broj razgovora u ovom prijemnom sandučetu koja mogu biti automatski dodeljena agentu" }, + "ASSIGNMENT": { + "TITLE": "Dodeljivanje razgovoru", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktivno", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Otkaži", + "CONFIRM_DELETE": "Izbriši", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Ponovna autorizacija", "SUBTITLE": "Vaša veza sa Fejsbukom je istekla, molim vas povežite ponovo vašu Fejsbuk stranicu za nastavak servisa", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Povratak" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Poruka nedostupnosti za posetioce", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Dan", + "AVAILABILITY": "Dostupnost", + "HOURS": "Hours", "ENABLE": "Omogućite dostupnost za ovaj dan", "UNAVAILABLE": "Nedostupan", - "HOURS": "sati", "VALIDATION_ERROR": "Vreme početka bi trebalo biti pre vremena završetka.", "CHOOSE": "Izaberite" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Za dan" }, "WIDGET_COLOR_LABEL": "Boja vidžeta", - "WIDGET_BUBBLE_POSITION_LABEL": "Pozicija vidžet balončića", - "WIDGET_BUBBLE_TYPE_LABEL": "Vrsta vidžet balončića", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tip:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Razgovarajte sa nama", - "LABEL": "Naslov pokretača vidžet balončića", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Razgovarajte sa nama" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Predefinisano", - "CHAT": "Ćaskanje" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Obično odgovaramo u roku od nekoliko minuta", diff --git a/app/javascript/dashboard/i18n/locale/sr/integrationApps.json b/app/javascript/dashboard/i18n/locale/sr/integrationApps.json index f1666fb24..03e98bac1 100644 --- a/app/javascript/dashboard/i18n/locale/sr/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sr/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Preuzimanje integracija", "NO_HOOK_CONFIGURED": "Nema {integrationId} integracija podešenih na ovom nalogu.", "HEADER": "Aplikacije", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Omogućeno", "DISABLED": "Onemogućeno" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Preuzimanje zakački integracija", "INBOX": "Prijemno sanduče", + "ACTIONS": "Akcije", "DELETE": { "BUTTON_TEXT": "Izbriši" } diff --git a/app/javascript/dashboard/i18n/locale/sr/integrations.json b/app/javascript/dashboard/i18n/locale/sr/integrations.json index 82e116cff..b95dc5215 100644 --- a/app/javascript/dashboard/i18n/locale/sr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sr/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Pretplaćeni događaji", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Otkaži", "DESC": "Događaji veb zakački vam omogućavaju informacije u realnom vremenu o onome šta se događa na vašem Chatwoot nalogu. Molim vas unesite ispravnu adresu da bi ste podesili povratni poziv.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Izbriši", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Aplikacije radne table

Aplikacije radne table omogućavaju organizacijama da integrišu aplikaciju unutar Chatwoot radne table da dostave kontekst agentima podrške. Ova mogućnosti vam omogućava da napravite aplikaciju nezavisno i integrišete je unutar radne table da bi ste dostavili informacije o korisniku, njihovim narudžbama ili istoriji prethodnih plaćanja.

Kada integrišete vašu aplikaciju koristeći radnu tablu u Chatwoot-u, vaša aplikacija će dobiti kontakst razgovora i kontakta kao window događaj. Implementirajte osluškivač događaj poruke na vašoj stranici da bi ste primili kontakst.

Da bi ste dodali novu aplikaciju radne table, kliknite na dugme 'Dodaj novu aplikaciju radne table'.

", "DESCRIPTION": "Aplikacije radne table omogućavaju organizacijama da integrišu aplikaciju unutar radne table da bi omogućili kontekst agentima podrške. Ova mogućnost omogućava da nezavisno napravite aplikaciju i integrišete je da bi ste dostavili informacije o korisniku, njihovim narudžbama ili njihovoj istoriji plaćanja.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Još uvek nema aplikacija radne table podešenih za ovaj nalog", "LOADING": "Prikupljanje aplikacija radne table...", "TABLE_HEADER": { "NAME": "Ime", - "ENDPOINT": "Krajnja tačka" + "ENDPOINT": "Krajnja tačka", + "ACTIONS": "Akcije" }, "EDIT_TOOLTIP": "Uredi aplikaciju", "DELETE_TOOLTIP": "Obriši aplikaciju" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sr/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sr/labelsMgmt.json index 7d71fc8ba..322d3bad8 100644 --- a/app/javascript/dashboard/i18n/locale/sr/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Preuzimanje oznaka", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Pretraži oznake...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Nema razultata", "LIST": { "404": "Ne postoje dostupne oznake u ovom nalogu.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Ime", "DESCRIPTION": "Opis", - "COLOR": "Bojan" + "COLOR": "Bojan", + "ACTION": "Akcije" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sr/macros.json b/app/javascript/dashboard/i18n/locale/sr/macros.json index f4a346918..b3d5de505 100644 --- a/app/javascript/dashboard/i18n/locale/sr/macros.json +++ b/app/javascript/dashboard/i18n/locale/sr/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Ime", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Akcije" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sr/mfa.json b/app/javascript/dashboard/i18n/locale/sr/mfa.json index 00daffda8..cbc87418b 100644 --- a/app/javascript/dashboard/i18n/locale/sr/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sr/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sr/report.json b/app/javascript/dashboard/i18n/locale/sr/report.json index 94048d504..dceafe024 100644 --- a/app/javascript/dashboard/i18n/locale/sr/report.json +++ b/app/javascript/dashboard/i18n/locale/sr/report.json @@ -3,7 +3,7 @@ "HEADER": "Razgovori", "LOADING_CHART": "Učitavanje podataka grafikona...", "NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.", - "DOWNLOAD_AGENT_REPORTS": "Preuzmi izveštaj o agentima", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Pregled agenata", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Učitavanje podataka grafikona...", "NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.", "DOWNLOAD_AGENT_REPORTS": "Preuzmi izveštaj o agentima", "FILTER_DROPDOWN_LABEL": "Izaberi agenta", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Traži agente" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Razgovori", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.", "DOWNLOAD_LABEL_REPORTS": "Preuzmi izveštaj o oznakama", "FILTER_DROPDOWN_LABEL": "Izaberi oznaku", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Pretraži oznake" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Razgovori", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Izaberi prijemno sanduče", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Razgovori", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Pregled tima", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Učitavanje podataka grafikona...", "NO_ENOUGH_DATA": "Nismo primili dovoljno podataka da bi smo generisali izveštaj, Molim vas pokušajte ponovo.", "DOWNLOAD_TEAM_REPORTS": "Preuzmi izveštaj o timu", "FILTER_DROPDOWN_LABEL": "Izaberi tim", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Traži tim" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Razgovori", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Izveštaji zadovoljstva korisnika", - "NO_RECORDS": "Nema dostupnih odgovora o zadovoljstvu korisnika.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Preuzmite izveštaje o zadovoljstvu korisnika", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Traži agente", + "INBOXES": "Search inboxes", + "TEAMS": "Traži tim", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Izaberite agente" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Prijemno sanduče" + }, + "TEAMS": { + "LABEL": "Tim" + }, + "RATINGS": { + "LABEL": "Ocena" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Kontakt", - "AGENT_NAME": "Dodeljeni agent", + "AGENT_NAME": "Agent", "RATING": "Ocena", - "FEEDBACK_TEXT": "Komentar povratne informacije" - } + "FEEDBACK_TEXT": "Komentar povratne informacije", + "CONVERSATION": "Razgovor", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Ukupno odgovora", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Procenat odgovora", "TOOLTIP": "Ukupan broj odgovora / Ukupan broj poruka o zadovoljstvu korisnika * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Otkaži", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sr/settings.json b/app/javascript/dashboard/i18n/locale/sr/settings.json index c3ccedaa1..7ee51eb56 100644 --- a/app/javascript/dashboard/i18n/locale/sr/settings.json +++ b/app/javascript/dashboard/i18n/locale/sr/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Preuzmi", "UPLOADING": "Dodavanje...", - "INSTAGRAM_STORY_UNAVAILABLE": "Ova priča više nije dostupna." + "INSTAGRAM_STORY_UNAVAILABLE": "Ova priča više nije dostupna.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Pročitaj dokumentaciju", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Mogućnosti", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Plaćanje", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Traži atribute" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Reši razgovor", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Reši razgovor", + "CANCEL": "Otkaži" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Da", + "NO": "Ne" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "O ne! Nismo mogli da pronađemo nijedan Chatwoot nalog. Molim vas kreirajte novi da bi ste nastavili.", "NEW_ACCOUNT": "Novi nalog", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Otkaži" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sr/signup.json b/app/javascript/dashboard/i18n/locale/sr/signup.json index 520812e58..061cfd571 100644 --- a/app/javascript/dashboard/i18n/locale/sr/signup.json +++ b/app/javascript/dashboard/i18n/locale/sr/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registruj", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/sr/sla.json b/app/javascript/dashboard/i18n/locale/sr/sla.json index c47db365b..1ce06ad35 100644 --- a/app/javascript/dashboard/i18n/locale/sr/sla.json +++ b/app/javascript/dashboard/i18n/locale/sr/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/sr/snooze.json b/app/javascript/dashboard/i18n/locale/sr/snooze.json new file mode 100644 index 000000000..f801d2949 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sr/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "sati", + "DAY": "dan", + "DAYS": "days", + "WEEK": "dan", + "WEEKS": "weeks", + "MONTH": "nedelja", + "MONTHS": "months", + "YEAR": "mesec", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "sutra", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "sledeće nedelje", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "dan", + "DAY": "dan" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sr/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sr/teamsSettings.json index f10cbe93c..4474c0b28 100644 --- a/app/javascript/dashboard/i18n/locale/sr/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sr/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Traži tim...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Nema timova napravljenih na ovom nalogu.", "EDIT_TEAM": "Uredi tim", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Nije bilo moguće sačuvati detalje tima. Pokušajte ponovo." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-POŠTA", + "AGENT": "Agent", + "EMAIL": "E-pošta", "BUTTON_TEXT": "Dodaj agente", "ADD_AGENTS": "Dodaju se agenti vašem timu...", "SELECT": "izaberi", diff --git a/app/javascript/dashboard/i18n/locale/sv/agentBots.json b/app/javascript/dashboard/i18n/locale/sv/agentBots.json index fea4cd09a..0a7882e4c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/sv/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Åtgärder" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json index 925b6854c..e085f858b 100644 --- a/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administratör", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Det finns inga agenter kopplade till detta konto", "TITLE": "Hantera agenter i ditt team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Kunde inte ansluta till Woot Server, försök igen senare" } }, + "SEARCH_PLACEHOLDER": "Sök efter agenter...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Inga resultat hittades." }, diff --git a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json index a471b55a7..142c29549 100644 --- a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/sv/automation.json b/app/javascript/dashboard/i18n/locale/sv/automation.json index 0194a66d2..d77252fd7 100644 --- a/app/javascript/dashboard/i18n/locale/sv/automation.json +++ b/app/javascript/dashboard/i18n/locale/sv/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Skapa", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Namn", - "DESCRIPTION": "Beskrivning", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Åtgärder" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/sv/bulkActions.json b/app/javascript/dashboard/i18n/locale/sv/bulkActions.json index 3748497cb..77c37de0b 100644 --- a/app/javascript/dashboard/i18n/locale/sv/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sv/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Inga etiketter hittades", diff --git a/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json index 44618595f..c3f6c6dd9 100644 --- a/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Svarsmallar", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Lägg till svarsmall", "LOADING": "Hämtar svarsmallar...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Det finns inga objekt som matchar denna fråga.", "LIST": { "404": "Det finns inga svarsmallar tillgängliga på detta konto.", diff --git a/app/javascript/dashboard/i18n/locale/sv/chatlist.json b/app/javascript/dashboard/i18n/locale/sv/chatlist.json index 7e2e9c7c8..b2861436b 100644 --- a/app/javascript/dashboard/i18n/locale/sv/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/sv/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json index c9d6be5fc..b606f442c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/contact.json +++ b/app/javascript/dashboard/i18n/locale/sv/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Inga kontakter matchar din sökning 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Till:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Ämne :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json index 22ff5544b..03dd023e9 100644 --- a/app/javascript/dashboard/i18n/locale/sv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Detta meddelande stöds inte. Du kan se detta meddelande på Facebook Messenger-appen.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Detta meddelande stöds inte. Du kan se detta meddelande på Instagram-appen.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Meddelandet har tagits bort", "FAIL_DELETE_MESSSAGE": "Det gick inte att ta bort meddelande! Försök igen", "NO_RESPONSE": "Inget svar", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Inaktivera signatur", "MSG_INPUT": "Skift + Enter för ny rad. Börja med '/' för att välja en svarsmall.", "PRIVATE_MSG_INPUT": "Skift + Enter för ny rad. Detta kommer endast att vara synligt för agenter", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Meddelandesignaturen är inte konfigurerad. Konfigurera den i profilinställningarna.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Klicka här för att uppdatera", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Dra och släpp hit för att bifoga", "START_AUDIO_RECORDING": "Starta ljudinspelning", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Lägg till bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Det gick inte att skicka detta meddelande, försök igen senare", "SENT_BY": "Skickat av:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Avbryt", "SEND_EMAIL_SUCCESS": "Chattranskriberingen har skickats", "SEND_EMAIL_ERROR": "Ett fel uppstod, vänligen försök igen", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Skicka transkriberingen till kunden", "SEND_TO_AGENT": "Skicka transkriberingen till den tilldelade agenten", diff --git a/app/javascript/dashboard/i18n/locale/sv/customRole.json b/app/javascript/dashboard/i18n/locale/sv/customRole.json index cad921b3a..0ee564ca2 100644 --- a/app/javascript/dashboard/i18n/locale/sv/customRole.json +++ b/app/javascript/dashboard/i18n/locale/sv/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Det finns inga objekt som matchar denna fråga.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/sv/datePicker.json b/app/javascript/dashboard/i18n/locale/sv/datePicker.json index ff981d4a6..3f9634d72 100644 --- a/app/javascript/dashboard/i18n/locale/sv/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/sv/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "De senaste 3 månaderna", "LAST_6_MONTHS": "De senaste 6 månaderna", "LAST_YEAR": "Senaste året", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/general.json b/app/javascript/dashboard/i18n/locale/sv/general.json index f6f022eef..51cfcdb0d 100644 --- a/app/javascript/dashboard/i18n/locale/sv/general.json +++ b/app/javascript/dashboard/i18n/locale/sv/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Stäng", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Ja", + "NO": "Nej" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/generalSettings.json b/app/javascript/dashboard/i18n/locale/sv/generalSettings.json index bd69e0a73..1048b80bb 100644 --- a/app/javascript/dashboard/i18n/locale/sv/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/sv/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Rapporter", diff --git a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json index f3251489c..f9ac0cb36 100644 --- a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json index c667c91a3..59f2dfc94 100644 --- a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inkorgar", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Spara" } @@ -589,8 +592,10 @@ "DISABLED": "Inaktiverad" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Aktiverad", - "DISABLED": "Inaktiverad" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Aktivera" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inkorgsinställningar", "INBOX_UPDATE_SUB_TEXT": "Uppdatera inställningarna för din inkorg", "AUTO_ASSIGNMENT_SUB_TEXT": "Aktivera eller inaktivera automatisk tilldelning av nya konversationer till de agenter som lagts till den här inkorgen.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Avbryt", + "CONFIRM_DELETE": "Radera", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Återauktorisera", "SUBTITLE": "Din Facebook-anslutning har löpt ut, vänligen återanslut din Facebook-sida för att fortsätta med tjänsterna", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Tillgänglighet", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Inom en dag" }, "WIDGET_COLOR_LABEL": "Widgetfärg", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chatta med oss", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chatta med oss" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Svarar vanligtvis inom några minuter", diff --git a/app/javascript/dashboard/i18n/locale/sv/integrationApps.json b/app/javascript/dashboard/i18n/locale/sv/integrationApps.json index f6e60b927..34b277e20 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applikationer", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Aktiverad", "DISABLED": "Inaktiverad" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inkorg", + "ACTIONS": "Åtgärder", "DELETE": { "BUTTON_TEXT": "Radera" } diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json index af76bd0f1..fc7c9fe5c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Avbryt", "DESC": "Webbhook-händelser ger dig realtidsinformation om vad som händer i ditt Chatwoot-konto. Ange en giltig URL för att konfigurera en callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Radera", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Namn", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Åtgärder" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json index 2f2304ad5..3b944c6b7 100644 --- a/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Hämtar etiketter", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Sök etiketter...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Det finns inga objekt som matchar denna fråga", "LIST": { "404": "Det finns inga etiketter tillgängliga på detta konto.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Namn", "DESCRIPTION": "Beskrivning", - "COLOR": "Färg" + "COLOR": "Färg", + "ACTION": "Åtgärder" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sv/macros.json b/app/javascript/dashboard/i18n/locale/sv/macros.json index fd1c46728..6d9fa5ca1 100644 --- a/app/javascript/dashboard/i18n/locale/sv/macros.json +++ b/app/javascript/dashboard/i18n/locale/sv/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Namn", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Senast uppdaterad av", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Åtgärder" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/sv/mfa.json b/app/javascript/dashboard/i18n/locale/sv/mfa.json index 6e11e3fe2..95374c6f9 100644 --- a/app/javascript/dashboard/i18n/locale/sv/mfa.json +++ b/app/javascript/dashboard/i18n/locale/sv/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/sv/report.json b/app/javascript/dashboard/i18n/locale/sv/report.json index 3f0b24c94..62ae2d04f 100644 --- a/app/javascript/dashboard/i18n/locale/sv/report.json +++ b/app/javascript/dashboard/i18n/locale/sv/report.json @@ -3,7 +3,7 @@ "HEADER": "Konversationer", "LOADING_CHART": "Laddar diagramdata...", "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera en rapport, försök igen senare.", - "DOWNLOAD_AGENT_REPORTS": "Ladda ner agentrapporter", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Laddar diagramdata...", "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera en rapport, försök igen senare.", "DOWNLOAD_AGENT_REPORTS": "Ladda ner agentrapporter", "FILTER_DROPDOWN_LABEL": "Välj agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Sök efter agenter" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera en rapport, försök igen senare.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Sök etiketter" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Laddar diagramdata...", "NO_ENOUGH_DATA": "Vi har inte fått tillräckligt många datapunkter för att generera en rapport, försök igen senare.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Sök efter team" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konversationer", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Sök efter agenter", + "INBOXES": "Search inboxes", + "TEAMS": "Sök efter team", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inkorg" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Betyg" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Betyg", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Spara", + "CANCEL": "Avbryt", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json index 6f550b5cd..1f4ecd714 100644 --- a/app/javascript/dashboard/i18n/locale/sv/settings.json +++ b/app/javascript/dashboard/i18n/locale/sv/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Hämta", "UPLOADING": "Laddar upp...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Funktioner", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Lös konversationen", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Lös konversationen", + "CANCEL": "Avbryt" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Ja", + "NO": "Nej" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "Nytt konto", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Avbryt" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/sv/signup.json b/app/javascript/dashboard/i18n/locale/sv/signup.json index 7b51af7e0..2dac954ca 100644 --- a/app/javascript/dashboard/i18n/locale/sv/signup.json +++ b/app/javascript/dashboard/i18n/locale/sv/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Registrera", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/sv/sla.json b/app/javascript/dashboard/i18n/locale/sv/sla.json index 185aaca35..0ca77a8ab 100644 --- a/app/javascript/dashboard/i18n/locale/sv/sla.json +++ b/app/javascript/dashboard/i18n/locale/sv/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/sv/snooze.json b/app/javascript/dashboard/i18n/locale/sv/snooze.json new file mode 100644 index 000000000..862e6c2d3 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/sv/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "imorgon", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "nästa vecka", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/sv/teamsSettings.json b/app/javascript/dashboard/i18n/locale/sv/teamsSettings.json index 4559a3780..ec3acf350 100644 --- a/app/javascript/dashboard/i18n/locale/sv/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/sv/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Sök efter team...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "E-POST", + "AGENT": "Agent", + "EMAIL": "E-post", "BUTTON_TEXT": "Lägg till agenter", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ta/agentBots.json b/app/javascript/dashboard/i18n/locale/ta/agentBots.json index 071a8c08e..351007fc1 100644 --- a/app/javascript/dashboard/i18n/locale/ta/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ta/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "வெப்ஹூக் URL" + "URL": "வெப்ஹூக் URL", + "ACTIONS": "செயல்கள்" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ta/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ta/agentMgmt.json index 2576c9c14..a6d8e8f4e 100644 --- a/app/javascript/dashboard/i18n/locale/ta/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "நிர்வாகி", "AGENT": "ஏஜென்ட்" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "இந்த கணக்குடன் எந்த ஏஜென்ட்டும் இல்லை", "TITLE": "உங்கள் அணியில் ஏஜென்ட்களை நிர்வகிக்கவும்", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "வூட் சர்வருடன் இணைக்க முடியவில்ல, மீண்டும் முயற்சிக்கவும்" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json index b68f86965..606dc81ea 100644 --- a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ta/automation.json b/app/javascript/dashboard/i18n/locale/ta/automation.json index db4270b90..10d93edb3 100644 --- a/app/javascript/dashboard/i18n/locale/ta/automation.json +++ b/app/javascript/dashboard/i18n/locale/ta/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "பெயர்", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "செயல்கள்" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ta/bulkActions.json b/app/javascript/dashboard/i18n/locale/ta/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/ta/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ta/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/ta/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ta/cannedMgmt.json index be9e5d27b..d5bc1c255 100644 --- a/app/javascript/dashboard/i18n/locale/ta/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "பதிவு செய்யப்பட்ட பதில்கள்", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "இந்த கணக்கில் பதிவு செய்யப்பட்ட பதில்கள் எதுவும் இல்லை.", diff --git a/app/javascript/dashboard/i18n/locale/ta/chatlist.json b/app/javascript/dashboard/i18n/locale/ta/chatlist.json index e3920a6c3..c3fa54fe4 100644 --- a/app/javascript/dashboard/i18n/locale/ta/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ta/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json index 332bc204a..dac0a58df 100644 --- a/app/javascript/dashboard/i18n/locale/ta/contact.json +++ b/app/javascript/dashboard/i18n/locale/ta/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json index 850fbab9c..cf48d5b1d 100644 --- a/app/javascript/dashboard/i18n/locale/ta/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "புதிய வரிக்கு Shift + Enter ஐ அழுத்தவும். பதிவு செய்யப்பட்ட பதிலைத் தேர்ந்தெடுக்க '/' உடன் தொடங்கவும்.", "PRIVATE_MSG_INPUT": "புதிய வரிக்கு Shift + Enter ஐ அழுத்தவும். இது ஏஜென்ட்களுக்கு மட்டுமே தெரியும்", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "ரத்துசெய்", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ta/customRole.json b/app/javascript/dashboard/i18n/locale/ta/customRole.json index 5f49dbec2..a59b02181 100644 --- a/app/javascript/dashboard/i18n/locale/ta/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ta/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ta/datePicker.json b/app/javascript/dashboard/i18n/locale/ta/datePicker.json index 60badc82d..cf438ebd2 100644 --- a/app/javascript/dashboard/i18n/locale/ta/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ta/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ta/general.json b/app/javascript/dashboard/i18n/locale/ta/general.json index f79be946e..4769872a0 100644 --- a/app/javascript/dashboard/i18n/locale/ta/general.json +++ b/app/javascript/dashboard/i18n/locale/ta/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "மூடு", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ta/generalSettings.json b/app/javascript/dashboard/i18n/locale/ta/generalSettings.json index 2a6b67810..8a4a44d43 100644 --- a/app/javascript/dashboard/i18n/locale/ta/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ta/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "அறிக்கைகள்", diff --git a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json index d56d7527a..f623dd88c 100644 --- a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json index 7bf59f2cd..37028e8f5 100644 --- a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "இன்பாக்ஸ்கள்", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "முடக்கப்பட்டது" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "இயக்கப்பட்டது", - "DISABLED": "முடக்கப்பட்டது" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "இன்பாக்ஸ் அமைப்புகள்", "INBOX_UPDATE_SUB_TEXT": "உங்கள் இன்பாக்ஸ் அமைப்புகளைப் புதுப்பிக்கவும்", "AUTO_ASSIGNMENT_SUB_TEXT": "இந்த இன்பாக்ஸில் சேர்க்கப்பட்ட ஏஜென்ட்களுக்கு புதிய உரையாடல்களின் தானியங்கி ஒதுக்கீட்டை இயக்கவும் அல்லது முடக்கவும்.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "ரத்துசெய்", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "மறு அங்கீகாரம்", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "விட்ஜெட் நிறம்", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/ta/integrationApps.json b/app/javascript/dashboard/i18n/locale/ta/integrationApps.json index dc6669cc5..79ca01a5b 100644 --- a/app/javascript/dashboard/i18n/locale/ta/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ta/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "இயக்கப்பட்டது", "DISABLED": "முடக்கப்பட்டது" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "செயல்கள்", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/ta/integrations.json b/app/javascript/dashboard/i18n/locale/ta/integrations.json index 2c5a40fbb..0bfcfdd38 100644 --- a/app/javascript/dashboard/i18n/locale/ta/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ta/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "ரத்துசெய்", "DESC": "உங்கள் சாட்வூட் கணக்கில் என்ன நடக்கிறது என்பது குறித்த நிகழ்நேர தகவல்களை வெப்ஹூக் நிகழ்வுகள் உங்களுக்கு வழங்குகின்றன. மீட்டமைக்க சரியான URL ஐ உள்ளிடவும்.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "பெயர்", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "செயல்கள்" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ta/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ta/labelsMgmt.json index c4b2b1c10..f6ecf753d 100644 --- a/app/javascript/dashboard/i18n/locale/ta/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "இந்த கேள்விக்கு பொருந்தக்கூடியவை எதுவும் இல்லை", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "பெயர்", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "செயல்கள்" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ta/macros.json b/app/javascript/dashboard/i18n/locale/ta/macros.json index dbc7d5d68..01a116fbe 100644 --- a/app/javascript/dashboard/i18n/locale/ta/macros.json +++ b/app/javascript/dashboard/i18n/locale/ta/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "பெயர்", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "செயல்கள்" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ta/mfa.json b/app/javascript/dashboard/i18n/locale/ta/mfa.json index 04ef1ee0b..8dfef7138 100644 --- a/app/javascript/dashboard/i18n/locale/ta/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ta/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ta/report.json b/app/javascript/dashboard/i18n/locale/ta/report.json index 2a8f390fe..a7d86ac01 100644 --- a/app/javascript/dashboard/i18n/locale/ta/report.json +++ b/app/javascript/dashboard/i18n/locale/ta/report.json @@ -3,7 +3,7 @@ "HEADER": "உரையாடல்கள்", "LOADING_CHART": "சார்ட்டுக்கான டேட்டாவை பெறுகிறது...", "NO_ENOUGH_DATA": "அறிக்கையை உருவாக்க போதுமான தரவுகளை பெறவில்லை, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "சார்ட்டுக்கான டேட்டாவை பெறுகிறது...", "NO_ENOUGH_DATA": "அறிக்கையை உருவாக்க போதுமான தரவுகளை பெறவில்லை, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "உரையாடல்கள்", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "அறிக்கையை உருவாக்க போதுமான தரவுகளை பெறவில்லை, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "உரையாடல்கள்", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "உரையாடல்கள்", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "சார்ட்டுக்கான டேட்டாவை பெறுகிறது...", "NO_ENOUGH_DATA": "அறிக்கையை உருவாக்க போதுமான தரவுகளை பெறவில்லை, தயவுசெய்து மீண்டும் முயற்சிக்கவும்.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "உரையாடல்கள்", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "ஏஜென்ட்" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "ஏஜென்ட்", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "ரத்துசெய்", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json index dff58595a..e04011d68 100644 --- a/app/javascript/dashboard/i18n/locale/ta/settings.json +++ b/app/javascript/dashboard/i18n/locale/ta/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "பதிவிறக்கம்", "UPLOADING": "பதிவேறுகிறது...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "ரத்துசெய்" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "ரத்துசெய்" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ta/signup.json b/app/javascript/dashboard/i18n/locale/ta/signup.json index 40a4ba953..3249d4a78 100644 --- a/app/javascript/dashboard/i18n/locale/ta/signup.json +++ b/app/javascript/dashboard/i18n/locale/ta/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "பதியவும்", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ta/sla.json b/app/javascript/dashboard/i18n/locale/ta/sla.json index 2230920d9..fdaefa34d 100644 --- a/app/javascript/dashboard/i18n/locale/ta/sla.json +++ b/app/javascript/dashboard/i18n/locale/ta/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ta/snooze.json b/app/javascript/dashboard/i18n/locale/ta/snooze.json new file mode 100644 index 000000000..f3eb3b612 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ta/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "அடுத்து", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ta/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ta/teamsSettings.json index bad9ab5ae..42fe42c8e 100644 --- a/app/javascript/dashboard/i18n/locale/ta/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ta/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "ஈ-மெயில்", + "AGENT": "ஏஜென்ட்", + "EMAIL": "இமெயில்", "BUTTON_TEXT": "ஏஜென்ட்களைச் சேர்க்க", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/th/agentBots.json b/app/javascript/dashboard/i18n/locale/th/agentBots.json index c5b2690b3..a44bb741c 100644 --- a/app/javascript/dashboard/i18n/locale/th/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/th/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "ลิ้ง Webhook" + "URL": "ลิ้ง Webhook", + "ACTIONS": "การกระทำ" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/th/agentMgmt.json b/app/javascript/dashboard/i18n/locale/th/agentMgmt.json index baafc8e91..4080c7437 100644 --- a/app/javascript/dashboard/i18n/locale/th/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "ผู้ดูเเล", "AGENT": "พนักงาน" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "ไม่มีพนักงานที่เกี่ยวข้องในบัญชีนี้", "TITLE": "จัดการพนักงานในทีมของคุณ", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "ไม่สามารถเชื่อมต่อเซิฟเวอร์ได้โปรดลองอีกครั้งในภายหลัง" } }, + "SEARCH_PLACEHOLDER": "ค้นหาพนักงาน...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "ไม่พบผลการค้นหา" }, diff --git a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json index 275cd5f09..8d095609d 100644 --- a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "กำลังดึงแอตทริบิวต์ที่กำหนดเอง", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "การสนทนา", "CONTACT": "ผู้ติดต่อ" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/th/automation.json b/app/javascript/dashboard/i18n/locale/th/automation.json index 0518a4ed1..c6a04924e 100644 --- a/app/javascript/dashboard/i18n/locale/th/automation.json +++ b/app/javascript/dashboard/i18n/locale/th/automation.json @@ -3,8 +3,11 @@ "HEADER": "เงื่อนไขอัตโนมัติ", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "เพิ่มเงื่อนไขอัตโนมัติ", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "กำลังโหลดเงื่อนไขอัตโนมัติ", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "เพิ่มเงื่อนไขอัตโนมัติ", "SUBMIT": "สร้าง", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "ชื่อ", - "DESCRIPTION": "คำอธิบาย", "ACTIVE": "ใช้งานอยู่", - "CREATED_ON": "สร้างเมื่อ" + "CREATED_ON": "สร้างเมื่อ", + "ACTIONS": "การกระทำ" }, "404": "ไม่พบเงื่อนไขอัตโนมัติ" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "เปิดดูการสนทนา" + "OPEN_CONVERSATION": "เปิดดูการสนทนา", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/th/bulkActions.json b/app/javascript/dashboard/i18n/locale/th/bulkActions.json index 054da7b28..e6cc8d785 100644 --- a/app/javascript/dashboard/i18n/locale/th/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/th/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "ไม่พบหัวข้อ", diff --git a/app/javascript/dashboard/i18n/locale/th/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/th/cannedMgmt.json index 2451a3f9f..b6f7343e6 100644 --- a/app/javascript/dashboard/i18n/locale/th/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "คำตอบสำเร็จรูป", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "ไม่มีการตอบสำเร็จรูปในบัญชีนี้", diff --git a/app/javascript/dashboard/i18n/locale/th/chatlist.json b/app/javascript/dashboard/i18n/locale/th/chatlist.json index 3663e94a3..9b7d274fd 100644 --- a/app/javascript/dashboard/i18n/locale/th/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/th/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json index 9514ec2a2..b0c174fda 100644 --- a/app/javascript/dashboard/i18n/locale/th/contact.json +++ b/app/javascript/dashboard/i18n/locale/th/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "ไม่มีผู้ติดต่อที่ตรงกัน 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "ถึง:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "หัวเรื่อง :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "สำเนา:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "สำเนาลับ:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "สำเนาลับ" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json index 0390157a4..de79ac100 100644 --- a/app/javascript/dashboard/i18n/locale/th/conversation.json +++ b/app/javascript/dashboard/i18n/locale/th/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "ลบข้อความสำเร็จเเล้ว", "FAIL_DELETE_MESSSAGE": "ไม่สามารถลบข้อความได้ โปรดลองใหม่อีกครั้ง", "NO_RESPONSE": "ไม่มีการตอบกลับ", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "มอบหมายให้ทีม {team} มาดูแลการสนทนารหัส {conversationId}", "FAILED": "ไม่สามารถมอบหมายให้กับทีมได้ โปรดลองใหม่อีกครั้ง" @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "ปิดการใช้ลายเซ็นต์", "MSG_INPUT": "Shift + enter สำหรับบรรทัดใหม่ เริ่มต้นด้วย '/' เพื่อเลือกคำตอบสำเร็จรูป", "PRIVATE_MSG_INPUT": "Shift + enter สำหรับบรรทัดใหม่ สิ่งนี้จะปรากฏแก่พนักงานเท่านั้น", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "ข้อความลายเซ็นต์ไม่ได้ถูกตั้งค่า โปรดปรับแต่งในหน้าตั้งค่าข้อมูลส่วนตัว", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "คลิกที่นี่เพื่ออัปเดต", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "ลากเเละปล่อยที่นี่เพื่อเพิ่ม", "START_AUDIO_RECORDING": "เริ่มบันทึกเสียง", "STOP_AUDIO_RECORDING": "หยุดบันทึกเสียง", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "เพิ่ม BCC", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "ไฟล์ของคุณมีขนาดเกิน {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "ไม่สามารถส่งข้อความนี้ได้ โปรดลองใหม่อีกครั้ง", "SENT_BY": "ส่งโดย:", "BOT": "บอท", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "ไม่สามารถส่งข้อความได้ โปรดลองอีกครั้ง", "TRY_AGAIN": "ส่งอีกครั้ง", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "ยกเลิก", "SEND_EMAIL_SUCCESS": "บันทึกการสนทนาได้ถูกส่งเเล้ว", "SEND_EMAIL_ERROR": "เกิดข้อผิดพลาดกรุณาลองใหม่อีกครั้ง", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "ส่งบันทึกการสนทนาให้ลูกค้า", "SEND_TO_AGENT": "ส่งบันทึกการสนทนาให้พนักงานที่ได้รับมอบหมาย", diff --git a/app/javascript/dashboard/i18n/locale/th/customRole.json b/app/javascript/dashboard/i18n/locale/th/customRole.json index 84a50adb7..ac2d88556 100644 --- a/app/javascript/dashboard/i18n/locale/th/customRole.json +++ b/app/javascript/dashboard/i18n/locale/th/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/th/datePicker.json b/app/javascript/dashboard/i18n/locale/th/datePicker.json index 3f3031233..49b07fffa 100644 --- a/app/javascript/dashboard/i18n/locale/th/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/th/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "ใช้งาน", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "3 เดือนที่ผ่านมา", "LAST_6_MONTHS": "6 เดือนที่ผ่านมา", "LAST_YEAR": "ปีที่ผ่านมา", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "กำหนดช่วงระยะเวลา" } } diff --git a/app/javascript/dashboard/i18n/locale/th/general.json b/app/javascript/dashboard/i18n/locale/th/general.json index 617411445..c933f5274 100644 --- a/app/javascript/dashboard/i18n/locale/th/general.json +++ b/app/javascript/dashboard/i18n/locale/th/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "ปิด", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "ใช่", + "NO": "ไม่" } } diff --git a/app/javascript/dashboard/i18n/locale/th/generalSettings.json b/app/javascript/dashboard/i18n/locale/th/generalSettings.json index 853d21254..a034bb194 100644 --- a/app/javascript/dashboard/i18n/locale/th/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/th/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "ค้นหาหรือไปยัง", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "ทั่วไป", "REPORTS": "รายงาน", diff --git a/app/javascript/dashboard/i18n/locale/th/helpCenter.json b/app/javascript/dashboard/i18n/locale/th/helpCenter.json index b4a2bd2b7..e84f283ef 100644 --- a/app/javascript/dashboard/i18n/locale/th/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/th/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json index 03419dda7..cf0f3241f 100644 --- a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "กล่องข้อความ", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "ปิด" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "เปิด", - "DISABLED": "ปิด" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "เปิดใช้งาน" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "เปิดให้มีการสนทนาต่อทางอีเมลได้", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "การสนทนาจะสามารถดำเนินการต่อผ่านทางอีเมลได้ หากลูกค้าให้อีเมลไว้", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "ตั้งค่ากล่องข้อความ", "INBOX_UPDATE_SUB_TEXT": "อัปเดตกล่องข้อความ", "AUTO_ASSIGNMENT_SUB_TEXT": "เปิดหรือปิดระบบมอบหมายงานอัตโนมัติสำหรับข้อความใหม่ให้กับพนักงานในกล่องสนทนานี้", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "ไม่มี", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "กรุณากรอกค่าที่มากกว่า 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "ใช้งานอยู่", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "ยกเลิก", + "CONFIRM_DELETE": "ลบ", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "ขอสิทธิ์อีกครั้ง", "SUBTITLE": "การเชื่อมต่อกับ Facebook หมดอายุแล้ว โปรดเชื่อมต่อใหม่อีกครั้ง", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "ข้อความที่ต้องการแสดงเมื่ออยู่นอกเวลาทำการ", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "วัน", + "AVAILABILITY": "สถานะ", + "HOURS": "Hours", "ENABLE": "เปิดใช้ความพร้อมในการให้บริการสำหรับวันนี้", "UNAVAILABLE": "ไม่พร้อมให้บริการ", - "HOURS": "ชั่วโมง", "VALIDATION_ERROR": "เวลาเปิดทำการควรเริ่มก่อนเวลาปิดทำการ", "CHOOSE": "เลือก" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "ในหนึ่งวัน" }, "WIDGET_COLOR_LABEL": "สีของวิดเจ็ต", - "WIDGET_BUBBLE_POSITION_LABEL": "ตำแหน่งของ Widget", - "WIDGET_BUBBLE_TYPE_LABEL": "รูปลักษณ์ของ Widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "ประเภท:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "คุยกับเรา", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "คุยกับเรา" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "ปกติจะตอบกลับภายในไม่กี่นาที", diff --git a/app/javascript/dashboard/i18n/locale/th/integrationApps.json b/app/javascript/dashboard/i18n/locale/th/integrationApps.json index a18472ca3..5fb03f152 100644 --- a/app/javascript/dashboard/i18n/locale/th/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/th/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "กำลังโหลดการเชื่อมต่อ", "NO_HOOK_CONFIGURED": "ไม่มี {integrationId} ที่ตั้งค่าไว้กับบัญชีนี้", "HEADER": "โปรแกรม", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "เปิด", "DISABLED": "ปิด" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "กำลังโหลด Hook", "INBOX": "กล่องข้อความ", + "ACTIONS": "การกระทำ", "DELETE": { "BUTTON_TEXT": "ลบ" } diff --git a/app/javascript/dashboard/i18n/locale/th/integrations.json b/app/javascript/dashboard/i18n/locale/th/integrations.json index 84b5c19e2..4af33b320 100644 --- a/app/javascript/dashboard/i18n/locale/th/integrations.json +++ b/app/javascript/dashboard/i18n/locale/th/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "เหตุการณ์ที่ติดตามอยู่", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "ยกเลิก", "DESC": "Webhook จะมีการส่งข้อมูลตลอดเวลา โดยใส่ URL ที่จะรับข้อมูลให้ถูกต้อง", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "ลบ", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "ชื่อ", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "การกระทำ" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/th/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/th/labelsMgmt.json index 2db2cd7c8..38689adf8 100644 --- a/app/javascript/dashboard/i18n/locale/th/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "กำลังโหลดป้ายกำกับ", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "ค้นหาหัวข้อ...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "ไม่มีรายการที่ตรงกับเนื้อหานี้", "LIST": { "404": "ไม่มีป้ายกำกับในบัญชีนี้", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "ชื่อ", "DESCRIPTION": "คำอธิบาย", - "COLOR": "สี" + "COLOR": "สี", + "ACTION": "การกระทำ" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/th/macros.json b/app/javascript/dashboard/i18n/locale/th/macros.json index 2671c7036..9d13659f3 100644 --- a/app/javascript/dashboard/i18n/locale/th/macros.json +++ b/app/javascript/dashboard/i18n/locale/th/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "ชื่อ", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "การกระทำ" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/th/mfa.json b/app/javascript/dashboard/i18n/locale/th/mfa.json index 5e24f73a5..d64fc689f 100644 --- a/app/javascript/dashboard/i18n/locale/th/mfa.json +++ b/app/javascript/dashboard/i18n/locale/th/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/th/report.json b/app/javascript/dashboard/i18n/locale/th/report.json index 2a042a17c..6e8cea9c7 100644 --- a/app/javascript/dashboard/i18n/locale/th/report.json +++ b/app/javascript/dashboard/i18n/locale/th/report.json @@ -3,7 +3,7 @@ "HEADER": "การสนทนา", "LOADING_CHART": "กำลังโหลดแผนภูมิข้อมูล", "NO_ENOUGH_DATA": "ข้อมูลที่เราได้รับไม่เพียงพอต่อการสร้างรายงาน โปรดลองใหม่อีกครั้งในภายหน้า", - "DOWNLOAD_AGENT_REPORTS": "ดาวน์โหลดรายงานพนักงาน", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "ภาพรวมพนักงาน", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "กำลังโหลดแผนภูมิข้อมูล", "NO_ENOUGH_DATA": "ข้อมูลที่เราได้รับไม่เพียงพอต่อการสร้างรายงาน โปรดลองใหม่อีกครั้งในภายหน้า", "DOWNLOAD_AGENT_REPORTS": "ดาวน์โหลดรายงานพนักงาน", "FILTER_DROPDOWN_LABEL": "เลือกพนักงาน", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "ค้นหาพนักงาน" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "การสนทนา", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "ข้อมูลที่เราได้รับไม่เพียงพอต่อการสร้างรายงาน โปรดลองใหม่อีกครั้งในภายหน้า", "DOWNLOAD_LABEL_REPORTS": "ดาวน์โหลดรายงานป้ายกำกับ", "FILTER_DROPDOWN_LABEL": "เลือกป้ายกำกับ", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "ค้นหาหัวข้อ" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "การสนทนา", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "เลือกกล่องข้อความ", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "การสนทนา", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "ภาพรวมทีม", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "กำลังโหลดแผนภูมิข้อมูล", "NO_ENOUGH_DATA": "ข้อมูลที่เราได้รับไม่เพียงพอต่อการสร้างรายงาน โปรดลองใหม่อีกครั้งในภายหน้า", "DOWNLOAD_TEAM_REPORTS": "ดาวน์โหลดรายงานทีม", "FILTER_DROPDOWN_LABEL": "เลือกทีม", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "ค้นหาทีม" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "การสนทนา", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "รายงาน CSAT", - "NO_RECORDS": "ไม่มีรายงาน CSAT ที่แสดงผลได้", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "ค้นหาพนักงาน", + "INBOXES": "Search inboxes", + "TEAMS": "ค้นหาทีม", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "เลือกพนักงาน" + "LABEL": "พนักงาน" + }, + "INBOXES": { + "LABEL": "กล่องข้อความ" + }, + "TEAMS": { + "LABEL": "ทีม" + }, + "RATINGS": { + "LABEL": "การประเมิน" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "ผู้ติดต่อ", - "AGENT_NAME": "พนักงานที่ได้รับมอบหมาย", + "AGENT_NAME": "พนักงาน", "RATING": "การประเมิน", - "FEEDBACK_TEXT": "คำติชม" - } + "FEEDBACK_TEXT": "คำติชม", + "CONVERSATION": "การสนทนา", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "การตอบกลับทั้งหมด", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "อัตราการตอบกลับ", "TOOLTIP": "จำนวนการตอบกลับทั้งหมด / จำนวนข้อความทั้งหมดที่แบบสอบถาม CSAT ส่ง * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "ยกเลิก", + "SAVING": "กำลังบันทึก...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json index 5039c36a2..3639e9290 100644 --- a/app/javascript/dashboard/i18n/locale/th/settings.json +++ b/app/javascript/dashboard/i18n/locale/th/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "ดาวโหลด", "UPLOADING": "กำลังอัปโหลด", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "ฟีเจอร์", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "ค้นหาแอตทริบิวต์" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "เสร็จสิ้นการสนทนา", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "เสร็จสิ้นการสนทนา", + "CANCEL": "ยกเลิก" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "ใช่", + "NO": "ไม่" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "ไม่นะ! ดูเหมือนว่าเราจะไม่เจอบัญชี Chatwoot ของคุณ โปรดสร้างบัญชีใหม่เพื่อดำเนินการต่อ", "NEW_ACCOUNT": "สร้างบัญชีใหม่", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "ยกเลิก" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/th/signup.json b/app/javascript/dashboard/i18n/locale/th/signup.json index be5ede8f9..941f9f93a 100644 --- a/app/javascript/dashboard/i18n/locale/th/signup.json +++ b/app/javascript/dashboard/i18n/locale/th/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "สร้างบัญชี", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/th/sla.json b/app/javascript/dashboard/i18n/locale/th/sla.json index 439acc6d2..31e759ada 100644 --- a/app/javascript/dashboard/i18n/locale/th/sla.json +++ b/app/javascript/dashboard/i18n/locale/th/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/th/snooze.json b/app/javascript/dashboard/i18n/locale/th/snooze.json new file mode 100644 index 000000000..4ef7b50f8 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/th/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "ชั่วโมง", + "DAY": "day", + "DAYS": "days", + "WEEK": "วัน", + "WEEKS": "weeks", + "MONTH": "สัปดาห์", + "MONTHS": "months", + "YEAR": "เดือน", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "พรุ่งนี้", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "สัปดาห์หน้า", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "วัน", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/th/teamsSettings.json b/app/javascript/dashboard/i18n/locale/th/teamsSettings.json index 7921e2c8c..d47c10a07 100644 --- a/app/javascript/dashboard/i18n/locale/th/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/th/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "ค้นหาทีม...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "ยังไม่มีทีมที่ถูกสร้างในบัญชีนี้", "EDIT_TEAM": "แก้ไขทีม", diff --git a/app/javascript/dashboard/i18n/locale/tl/agentBots.json b/app/javascript/dashboard/i18n/locale/tl/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/tl/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/tl/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/tl/agentMgmt.json b/app/javascript/dashboard/i18n/locale/tl/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/tl/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/tl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/tl/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/tl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/tl/automation.json b/app/javascript/dashboard/i18n/locale/tl/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/tl/automation.json +++ b/app/javascript/dashboard/i18n/locale/tl/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/tl/bulkActions.json b/app/javascript/dashboard/i18n/locale/tl/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/tl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/tl/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/tl/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/tl/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/tl/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/tl/chatlist.json b/app/javascript/dashboard/i18n/locale/tl/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/tl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/tl/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/tl/contact.json b/app/javascript/dashboard/i18n/locale/tl/contact.json index 7cad3b433..10841bbbf 100644 --- a/app/javascript/dashboard/i18n/locale/tl/contact.json +++ b/app/javascript/dashboard/i18n/locale/tl/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/tl/conversation.json b/app/javascript/dashboard/i18n/locale/tl/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/tl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tl/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/tl/customRole.json b/app/javascript/dashboard/i18n/locale/tl/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/tl/customRole.json +++ b/app/javascript/dashboard/i18n/locale/tl/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/tl/datePicker.json b/app/javascript/dashboard/i18n/locale/tl/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/tl/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/tl/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/tl/general.json b/app/javascript/dashboard/i18n/locale/tl/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/tl/general.json +++ b/app/javascript/dashboard/i18n/locale/tl/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/tl/generalSettings.json b/app/javascript/dashboard/i18n/locale/tl/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/tl/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/tl/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json index 2efba4716..1cfc95ef0 100644 --- a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/tl/integrationApps.json b/app/javascript/dashboard/i18n/locale/tl/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/tl/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/tl/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/tl/integrations.json b/app/javascript/dashboard/i18n/locale/tl/integrations.json index ef3e94e42..fe1891064 100644 --- a/app/javascript/dashboard/i18n/locale/tl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tl/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/tl/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/tl/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/tl/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/tl/macros.json b/app/javascript/dashboard/i18n/locale/tl/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/tl/macros.json +++ b/app/javascript/dashboard/i18n/locale/tl/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/tl/mfa.json b/app/javascript/dashboard/i18n/locale/tl/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/tl/mfa.json +++ b/app/javascript/dashboard/i18n/locale/tl/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/tl/report.json b/app/javascript/dashboard/i18n/locale/tl/report.json index dbf59f603..2ffa0ef11 100644 --- a/app/javascript/dashboard/i18n/locale/tl/report.json +++ b/app/javascript/dashboard/i18n/locale/tl/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/tl/settings.json b/app/javascript/dashboard/i18n/locale/tl/settings.json index 920da6f53..cf56caf3d 100644 --- a/app/javascript/dashboard/i18n/locale/tl/settings.json +++ b/app/javascript/dashboard/i18n/locale/tl/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/tl/signup.json b/app/javascript/dashboard/i18n/locale/tl/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/tl/signup.json +++ b/app/javascript/dashboard/i18n/locale/tl/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/tl/sla.json b/app/javascript/dashboard/i18n/locale/tl/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/tl/sla.json +++ b/app/javascript/dashboard/i18n/locale/tl/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/tl/snooze.json b/app/javascript/dashboard/i18n/locale/tl/snooze.json new file mode 100644 index 000000000..2d9a876aa --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/tl/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "year", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/tl/teamsSettings.json b/app/javascript/dashboard/i18n/locale/tl/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/tl/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/tl/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/tr/agentBots.json b/app/javascript/dashboard/i18n/locale/tr/agentBots.json index b1118a235..9b44e7b5c 100644 --- a/app/javascript/dashboard/i18n/locale/tr/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/tr/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Editör Yükleniyor...", "DESCRIPTION": "Temsilci botları ekibinizin en harika üyeleri gibidir. Küçük işleri halledebilirler, böylece önemli işlere odaklanabilirsiniz. Onları deneyin. Botlarınızı bu sayfadan yönetebilir veya 'Bot Ekle' butonunu kullanarak yenilerini oluşturabilirsiniz.", "LEARN_MORE": "Temsilci botları hakkında bilgi edinin", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "Sistem botu", "GLOBAL_BOT_BADGE": "Sistem", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Botlar alınıyor...", "TABLE_HEADER": { "DETAILS": "Bot Detayları", - "URL": "Webhook URL'si" + "URL": "Webhook URL'si", + "ACTIONS": "Hareketler" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/tr/agentMgmt.json b/app/javascript/dashboard/i18n/locale/tr/agentMgmt.json index c1ee0dc69..16db451e5 100644 --- a/app/javascript/dashboard/i18n/locale/tr/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Yönetici", "AGENT": "Kullanıcı" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Bu hesapla ilişkilendirilmiş hesap yok", "TITLE": "Ekibinizdeki temsilcileri yönetin", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Woot Sunucusuna bağlanılamadı, Lütfen daha sonra tekrar deneyin" } }, + "SEARCH_PLACEHOLDER": "Temsilci ara...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Sonuç bulunamadı." }, diff --git a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json index 5a4d9d2cb..aa66472f9 100644 --- a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json @@ -4,7 +4,10 @@ "HEADER_BTN_TXT": "Nitelik Ekle", "LOADING": "Özel Nitelikler getiriliyor", "DESCRIPTION": "Özel nitelikler, kişileriniz veya konuşmalarınız hakkında ek ayrıntıları takip etmenizi sağlar — örneğin abonelik planı veya ilk satın alma tarihi gibi. İhtiyacınız olan belirli bilgileri toplamak için metin, liste veya sayı gibi farklı türlerde özel nitelikler ekleyebilirsiniz.", - "LEARN_MORE": "Learn more about custom attributes", + "LEARN_MORE": "Özel Nitelikler hakkında daha fazla bilgi edinin", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Öznitelik ara...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Sohbet", "CONTACT": "İletişim" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Düzenli ifade doğrulamasını aç" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/tr/automation.json b/app/javascript/dashboard/i18n/locale/tr/automation.json index 4f7220a09..198d3e234 100644 --- a/app/javascript/dashboard/i18n/locale/tr/automation.json +++ b/app/javascript/dashboard/i18n/locale/tr/automation.json @@ -3,8 +3,11 @@ "HEADER": "Otomasyon", "DESCRIPTION": "Otomasyon, etiket ekleme veya konuşmaları en uygun temsilciye atama gibi manuel çaba gerektiren mevcut süreçleri kolaylaştırabilir ve onların yerine geçebilir. Bu sayede ekip, rutin işlere harcanan zamanı azaltarak güçlü yönlerine odaklanabilir.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Otomasyon Kuralı Ekle", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Otomasyon kuralları getiriliyor", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Otomasyon Kuralı Ekle", "SUBMIT": "Yarat", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "İsim", - "DESCRIPTION": "Açıklama", "ACTIVE": "Aktif", - "CREATED_ON": "Oluşturma" + "CREATED_ON": "Oluşturma", + "ACTIONS": "Hareketler" }, "404": "Otomasyon kuralı bulunamadı" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Özel Not Ekle", "CHANGE_PRIORITY": "Önceliği Değiştir", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Görüşmeyi aç" + "OPEN_CONVERSATION": "Görüşmeyi aç", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Gelen Mesaj", diff --git a/app/javascript/dashboard/i18n/locale/tr/bulkActions.json b/app/javascript/dashboard/i18n/locale/tr/bulkActions.json index da26f2052..94bb2c3d2 100644 --- a/app/javascript/dashboard/i18n/locale/tr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/tr/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Konuşma durumu başarıyla güncellendi.", "UPDATE_FAILED": "Görüşmeler güncellenirken bir hata oluştu. Lütfen tekrar deneyin." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Etiket atama", "NO_LABELS_FOUND": "Etiket bulunamadı", diff --git a/app/javascript/dashboard/i18n/locale/tr/campaign.json b/app/javascript/dashboard/i18n/locale/tr/campaign.json index ba7baf98d..58f9100e6 100644 --- a/app/javascript/dashboard/i18n/locale/tr/campaign.json +++ b/app/javascript/dashboard/i18n/locale/tr/campaign.json @@ -80,11 +80,11 @@ } }, "SMS": { - "HEADER_TITLE": "SMS campaigns", + "HEADER_TITLE": "SMS kampanyaları", "NEW_CAMPAIGN": "Kampanya oluştur", "EMPTY_STATE": { - "TITLE": "No SMS campaigns are available", - "SUBTITLE": "Launch an SMS campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "SMS kampanyası mevcut değil", + "SUBTITLE": "Müşterilerinize doğrudan ulaşmak için bir SMS kampanyası başlatın. Kolaylıkla teklifler gönderin veya duyurular yapın. Başlamak için 'Kampanya oluştur'a tıklayın." }, "CARD": { "STATUS": { @@ -138,11 +138,11 @@ } }, "WHATSAPP": { - "HEADER_TITLE": "WhatsApp campaigns", + "HEADER_TITLE": "WhatsApp kampanyaları", "NEW_CAMPAIGN": "Kampanya Oluştur", "EMPTY_STATE": { - "TITLE": "No WhatsApp campaigns are available", - "SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "WhatsApp kampanyası mevcut değil", + "SUBTITLE": "Müşterilerinize doğrudan ulaşmak için bir WhatsApp kampanyası başlatın. Kolaylıkla teklifler gönderin veya duyurular yapın. Başlamak için 'Kampanya oluştur'a tıklayın." }, "CARD": { "STATUS": { diff --git a/app/javascript/dashboard/i18n/locale/tr/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/tr/cannedMgmt.json index 3cbc908b4..3e0449149 100644 --- a/app/javascript/dashboard/i18n/locale/tr/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/cannedMgmt.json @@ -1,10 +1,13 @@ { "CANNED_MGMT": { "HEADER": "Hazır Yanıtlar", - "LEARN_MORE": "Learn more about canned responses", + "LEARN_MORE": "Hazır yanıtlar hakkında daha fazla bilgi edinin", "DESCRIPTION": "Hazır Yanıtlar, bir konuşmaya hızlı yanıt vermenizi sağlayan önceden hazırlanmış şablonlardır. Temsilciler, bir konuşma sırasında hazır yanıt eklemek için '/' karakterini ve ardından kısa kodu yazabilirler. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Hazır yanıt ekle", "LOADING": "Hazır yanıtlar getiriliyor...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Bu sorgu ile eşleşen öğe yok.", "LIST": { "404": "Bu hesapta hazır yanıt yok.", diff --git a/app/javascript/dashboard/i18n/locale/tr/chatlist.json b/app/javascript/dashboard/i18n/locale/tr/chatlist.json index 801f202d4..54499a285 100644 --- a/app/javascript/dashboard/i18n/locale/tr/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/tr/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Cevap Bekleyen: Kısa olan" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json index 7346bb1a4..941fe1f54 100644 --- a/app/javascript/dashboard/i18n/locale/tr/contact.json +++ b/app/javascript/dashboard/i18n/locale/tr/contact.json @@ -457,8 +457,11 @@ "INSTAGRAM": { "PLACEHOLDER": "Instagram ekle" }, + "TELEGRAM": { + "PLACEHOLDER": "Telegram Ekle" + }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "TikTok Ekle" }, "LINKEDIN": { "PLACEHOLDER": "LinkedIn ekle" @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Aramanızla eşleşen kişi bulunamadı 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "Şu anda aktif kişi yok 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Kime:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "İsim, e-posta veya telefon numarası ile arama yapmak için en az 2 karakter girin", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Konu :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Kopya:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "E-posta ile arama yapmak için en az 2 karakter girin", "BCC_LABEL": "Gizli Kopya:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "E-posta ile arama yapmak için en az 2 karakter girin", "BCC_BUTTON": "Gizli Kopya" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json index 78cbe01c7..24932a493 100644 --- a/app/javascript/dashboard/i18n/locale/tr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Bu mesaj desteklenmiyor. Bu mesajı Facebook Messenger uygulamasında görüntüleyebilirsiniz.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Bu mesaj desteklenmiyor. Bu mesajı Instagram uygulamasında görüntüleyebilirsiniz.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Mesaj başarıyla silindi", "FAIL_DELETE_MESSSAGE": "Mesaj silinemiyor. Tekrar deneyin", "NO_RESPONSE": "Cevap Yok", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Etiket atanamadı. Lütfen tekrar deneyin." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Sohbet kimliği {conversationId} için \"{team}\" takımına atanmış", "FAILED": "Takım atanamadı. Lütfen tekrar deneyin." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "İmzayı devre dışı bırak", "MSG_INPUT": "Yeni satır için Shift + enter. Bir Hazır Yanıt seçmek için \"/\" ile başlayın.", "PRIVATE_MSG_INPUT": "Yeni satır için Shift + enter. Bu yalnızca Temsilciler tarafından görülebilir", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Mesaj imzası yapılandırılmamış, lütfen profil ayarlarında yapılandırın.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Güncellemek için tıklayın", "WHATSAPP_TEMPLATES": "WhatsApp Şablonları" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Eklemek için buraya sürükleyip bırakın", "START_AUDIO_RECORDING": "Ses kaydına başla", "STOP_AUDIO_RECORDING": "Ses kaydını durdur", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Bcc ekle", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Konuşma başarıyla silindi", "FAIL_DELETE_CONVERSATION": "Konuşma silinemedi! Tekrar deneyin", "FILE_SIZE_LIMIT": "Dosya, {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB ek dosya sınırını aşıyor", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Bu mesaj gönderilemiyor, lütfen daha sonra tekrar deneyin", "SENT_BY": "Tarafından gönderildi:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Mesaj gönderilemedi! Tekrar deneyin", "TRY_AGAIN": "tekrar dene", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "İptal Et", "SEND_EMAIL_SUCCESS": "İletişim kaydı başarıyla gönderildi", "SEND_EMAIL_ERROR": "Bir hata oluştu, lütfen tekrar deneyin", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "İletişim kaydını müşteriye gönder", "SEND_TO_AGENT": "Atanan temsilciye iletişim kaydını gönder", diff --git a/app/javascript/dashboard/i18n/locale/tr/customRole.json b/app/javascript/dashboard/i18n/locale/tr/customRole.json index 6acfa5336..6e1fdce66 100644 --- a/app/javascript/dashboard/i18n/locale/tr/customRole.json +++ b/app/javascript/dashboard/i18n/locale/tr/customRole.json @@ -3,19 +3,22 @@ "HEADER": "Özel Roller", "LEARN_MORE": "Özel roller hakkında daha fazla bilgi edinin", "DESCRIPTION": "Özel roller, hesap sahibi veya yöneticiler tarafından oluşturulan rollerdir. Bu roller, temsilcilere hesabın içinde hangi erişim ve yetkilere sahip olacaklarını belirlemek için atanabilir. Özel roller, organizasyonun ihtiyaçlarına uygun olarak belirli izinler ve erişim seviyeleriyle oluşturulabilir.", - "HEADER_BTN_TXT": "Add custom role", + "COUNT": "{n} custom role | {n} custom roles", + "HEADER_BTN_TXT": "Özel rol ekle", "LOADING": "Özel roller alınıyor...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Bu sorgu ile eşleşen öğe yok.", "PAYWALL": { "TITLE": "Özel roller oluşturmak için yükseltin", "AVAILABLE_ON": "The custom role feature is only available in the Business and Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to advanced features like team management, automations, custom attributes, and more.", - "UPGRADE_NOW": "Upgrade now", + "UPGRADE_NOW": "Şimdi yükselt", "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The custom role feature is only available in the paid plans.", - "UPGRADE_PROMPT": "Upgrade to a paid plan to access advanced features like audit logs, agent capacity, and more.", + "AVAILABLE_ON": "Özel rol özelliği yalnızca ücretli planlarda mevcuttur.", + "UPGRADE_PROMPT": "Denetim kayıtları, temsilci kapasitesi ve daha fazlası gibi gelişmiş özelliklere erişmek için ücretli plana geçin.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, "LIST": { @@ -58,11 +61,11 @@ } }, "ADD": { - "TITLE": "Add custom role", + "TITLE": "Özel rol ekle", "DESC": " Özel roller, organizasyonun ihtiyaçlarına uygun olarak belirli izinler ve erişim seviyeleriyle roller oluşturmanıza olanak tanır.", "SUBMIT": "Gönder", "API": { - "SUCCESS_MESSAGE": "Custom role added successfully." + "SUCCESS_MESSAGE": "Özel rol başarıyla eklendi." } }, "EDIT": { diff --git a/app/javascript/dashboard/i18n/locale/tr/datePicker.json b/app/javascript/dashboard/i18n/locale/tr/datePicker.json index 38ed6c885..d41fc8516 100644 --- a/app/javascript/dashboard/i18n/locale/tr/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/tr/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Hafta #{weekNumber}", "APPLY_BUTTON": "Uygula", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Son 3 ay", "LAST_6_MONTHS": "Son 6 ay", "LAST_YEAR": "Geçen yıl", + "THIS_WEEK": "Bu hafta", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Özel tarih aralığı" } } diff --git a/app/javascript/dashboard/i18n/locale/tr/general.json b/app/javascript/dashboard/i18n/locale/tr/general.json index 00d38b677..4df21f458 100644 --- a/app/javascript/dashboard/i18n/locale/tr/general.json +++ b/app/javascript/dashboard/i18n/locale/tr/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Kapat", "BETA": "Beta", - "BETA_DESCRIPTION": "Bu özellik beta aşamasındadır ve geliştirdikçe değişiklik gösterebilir." + "BETA_DESCRIPTION": "Bu özellik beta aşamasındadır ve geliştirdikçe değişiklik gösterebilir.", + "ACCEPT": "Kabul et", + "DISCARD": "Yoksay", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Evet", + "NO": "Hayır" } } diff --git a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json index 6551eb3a7..cf89d1d7f 100644 --- a/app/javascript/dashboard/i18n/locale/tr/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/tr/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Ara veya atla", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Genel", "REPORTS": "Raporlar", diff --git a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json index c9cb6e7cc..f4b7c266a 100644 --- a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json @@ -107,7 +107,7 @@ "LOADING_MESSAGE": "Portallar yükleniyor...", "ARTICLES_LABEL": "makaleler", "NO_PORTALS_MESSAGE": "Kullanılabilir portal yok", - "ADD_NEW_LOCALE": "Yeni bir yerel ekleyin", + "ADD_NEW_LOCALE": "Yeni bir dil ekleyin", "POPOVER": { "TITLE": "Portallar", "PORTAL_SETTINGS": "Portal Ayarları", @@ -288,7 +288,7 @@ } }, "ADD_LOCALE": { - "TITLE": "Yeni bir yerel dil ekle", + "TITLE": "Yeni bir dil ekle", "SUB_TITLE": "Bu, kullanılabilir çeviri listesine yeni bir yerel dil ekler.", "PORTAL": "Portal", "LOCALE": { @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Makale silinirken hata oluştu" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Lütfen makale başlığını ve içeriğini ekleyin, ardından ayarları güncelleyebilirsiniz" }, @@ -640,8 +650,8 @@ } }, "ADD_LOCALE_DIALOG": { - "TITLE": "Yeni bir yerel ekleyin", - "DESCRIPTION": "Select the language in which this article will be written. This will be added to your list of translations, and you can add more later.", + "TITLE": "Yeni bir dil ekleyin", + "DESCRIPTION": "Bu makalenin yazılacağı dili seçin. Seçilen dil çeviri listenize eklenecek ve daha sonra yeni diller ekleyebilirsiniz.", "COMBOBOX": { "PLACEHOLDER": "Dil seçin..." }, @@ -722,11 +732,11 @@ "ERROR": "Ad gerekli" }, "HEADER_TEXT": { - "LABEL": "Header text", + "LABEL": "Başlık Metni", "PLACEHOLDER": "Portal başlık metni" }, "PAGE_TITLE": { - "LABEL": "Page title", + "LABEL": "Sayfa Başlığı", "PLACEHOLDER": "Portal sayfa başlığı" }, "HOME_PAGE_LINK": { diff --git a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json index 9807238b4..de9374bcb 100644 --- a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json @@ -2,7 +2,10 @@ "INBOX_MGMT": { "HEADER": "Gelen kutuları", "DESCRIPTION": "Kanal, müşterinizin sizinle iletişim kurmak için seçtiği yöntemdir. Gelen kutusu (inbox) ise belirli bir kanal üzerinden gerçekleşen etkileşimleri yönettiğiniz yerdir. Gelen kutusu; e-posta, canlı sohbet ve sosyal medya gibi farklı kaynaklardan gelen iletişimleri içerebilir.", - "LEARN_MORE": "Learn more about inboxes", + "LEARN_MORE": "Gelen kutuları hakkında daha fazla bilgi edinin", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Gelen kutularını ara...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "WhatsApp Business kaydınız tamamlanmadı. Yeniden bağlanmadan önce lütfen Meta Business Manager'da görünen adınızın (display name) durumunu kontrol edin.", @@ -563,7 +566,7 @@ }, "SENDER_NAME_SECTION": { "TITLE": "Gönderen Adı", - "SUB_TEXT": "Select the name shown to your customer when they receive emails from your agents.", + "SUB_TEXT": "Müşterileriniz, temsilcilerinizden e-posta aldıklarında görecekleri adı seçin.", "FOR_EG": "Örneğin:", "FRIENDLY": { "TITLE": "Dostça", @@ -575,7 +578,7 @@ "SUBTITLE": "E-posta başlığında gönderen adı olarak yalnızca yapılandırılmış iş adını kullanın." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ İş adınızı yapılandırın", + "BUTTON_TEXT": "İş adınızı yapılandırın", "PLACEHOLDER": "İş adınızı girin", "SAVE_BUTTON_TEXT": "Kaydet" } @@ -589,8 +592,10 @@ "DISABLED": "Devre dışı" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Etkin", - "DISABLED": "Devre dışı" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Etkinleştir" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Hesap Sağlığı", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "WhatsApp hesabınızı yönetin", "DESCRIPTION": "WhatsApp hesap durumunuzu, mesajlaşma limitlerinizi ve kalitesini inceleyin. Gerekirse ayarları güncelleyin veya sorunları çözün", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "E-postada Ajanın adını göstermeyi/Devre dışı bırakmayı etkinleştirin, devre dışı bırakıldığında iş adını gösterir", "ENABLE_CONTINUITY_VIA_EMAIL": "E-posta aracılığıyla konuşma sürekliliğini etkinleştir", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "E-posta adresi mevcut ise konuşmalar e-posta aracılığıyla devam eder.", - "LOCK_TO_SINGLE_CONVERSATION": "Tek bir konuşmaya kilitle", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Bu gelen kutusu için aynı kişi için birden fazla konuşmayı etkinleştir veya devre dışı bırak", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Gelen Kutusu Ayarları", "INBOX_UPDATE_SUB_TEXT": "Gelen kutusu ayarlarınızı güncelleyin", "AUTO_ASSIGNMENT_SUB_TEXT": "Bu gelen kutusuna eklenen aracılara yeni konuşmaların otomatik olarak atanmasını etkinleştirin veya devre dışı bırakın.", @@ -758,6 +765,7 @@ "LABEL": "Yardım Merkezi", "PLACEHOLDER": "Yardım Merkezi Seçin", "SELECT_PLACEHOLDER": "Yardım Merkezi Seçin", + "NONE": "Hiç", "REMOVE": "Yardım Merkezini Kaldır", "SUB_TEXT": "Yardım Merkezini gelen kutusuna ekleyin" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Lütfen 0'dan büyük bir değer girin", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Bu gelen kutusundan otomatik olarak bir ajanın atanabileceği maksimum konuşma sayısını sınırlayın" }, + "ASSIGNMENT": { + "TITLE": "Görüşme Atama", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Politikayı sil", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Aktif", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "İptal Et", + "CONFIRM_DELETE": "Sil", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Yeniden Yetkilendir", "SUBTITLE": "Facebook bağlantınızın süresi doldu, hizmetlere devam etmek için lütfen Facebook sayfanızı yeniden bağlayın", @@ -810,19 +865,19 @@ }, "BUTTON_TEXT": { "LABEL": "Button text", - "PLACEHOLDER": "Please rate us" + "PLACEHOLDER": "Lütfen bizi değerlendirin" }, "LANGUAGE": { "LABEL": "Dil", "PLACEHOLDER": "Select template language" }, "MESSAGE_PREVIEW": { - "LABEL": "Message preview", + "LABEL": "Mesaj önizlemesi", "TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform." }, "TEMPLATE_STATUS": { - "APPROVED": "Approved by WhatsApp", - "PENDING": "Pending WhatsApp approval", + "APPROVED": "WhatsApp tarafından onaylandı", + "PENDING": "WhatsApp onayı bekleniyor", "REJECTED": "Meta rejected the template", "DEFAULT": "Needs WhatsApp approval", "NOT_FOUND": "The template does not exist in the Meta platform." @@ -832,11 +887,25 @@ "ERROR_MESSAGE": "Failed to create WhatsApp template" }, "TEMPLATE_UPDATE_DIALOG": { - "TITLE": "Edit survey details", + "TITLE": "Anket ayrıntılarını düzenle", "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", - "CONFIRM": "Create new template", + "CONFIRM": "Yeni şablon oluştur", "CANCEL": "Geri git" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Anket kuralı", "DESCRIPTION_PREFIX": "Sohbet olursa anketi gönder", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "etiketleri seç" }, "NOTE": "Not: CSAT anketleri, konuşma başına yalnızca bir kez gönderilir", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT ayarları başarıyla güncellendi", "ERROR_MESSAGE": "CSAT ayarları güncellenemedi. Lütfen daha sonra tekrar deneyin." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Ziyaretçiler için uygun değil mesajı", "TOGGLE_HELP": "İşletme erişilebilirliğini etkinleştirmek, tüm temsilciler çevrimdışı olsa bile canlı sohbet ekranında mevcut saatleri gösterecektir. Mevcut saatler dışında ziyaretçiler bir mesaj ve ön sohbet formu ile uyarılabilir.", "DAY": { + "DAY": "Gün", + "AVAILABILITY": "Uygunluk", + "HOURS": "Saat", "ENABLE": "Bu gün için uygunluğu etkinleştir", "UNAVAILABLE": "Uygun Değil", - "HOURS": "saat", "VALIDATION_ERROR": "Başlangıç saati kapanış saatinden önce olmalıdır.", "CHOOSE": "Seçin" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Bir gün içinde" }, "WIDGET_COLOR_LABEL": "Widget Rengi", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Kabarcık Pozisyonu", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Kabarcık Türü", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Tip:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Sohbet et", - "LABEL": "Widget Kabarcık Başlatıcı Başlığı", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Sohbet et" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Varsayılan", - "CHAT": "Sohbet" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Genellikle birkaç dakika içinde yanıt verir", diff --git a/app/javascript/dashboard/i18n/locale/tr/integrationApps.json b/app/javascript/dashboard/i18n/locale/tr/integrationApps.json index 3965bc93a..d4f74d3a3 100644 --- a/app/javascript/dashboard/i18n/locale/tr/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/tr/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Entegrasyonlar alınıyor", "NO_HOOK_CONFIGURED": "Bu hesapta yapılandırılmış {integrationId} entegrasyonu bulunmuyor.", "HEADER": "Uygulamalar", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Ara...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Etkin", "DISABLED": "Devre dışı" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Entegrasyon kancaları alınıyor", "INBOX": "Gelen Kutusu", + "ACTIONS": "Hareketler", "DELETE": { "BUTTON_TEXT": "Sil" } diff --git a/app/javascript/dashboard/i18n/locale/tr/integrations.json b/app/javascript/dashboard/i18n/locale/tr/integrations.json index c43462695..fca663d41 100644 --- a/app/javascript/dashboard/i18n/locale/tr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tr/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -17,8 +18,10 @@ }, "HEADER": "Entegrasyonlar", "DESCRIPTION": "Chatwoot, ekibinizin verimliliğini artırmak için birden fazla araç ve hizmetle entegre olur. Favori uygulamalarınızı yapılandırmak için aşağıdaki listeyi inceleyin.", - "LEARN_MORE": "Learn more about integrations", + "LEARN_MORE": "Entegrasyonlar hakkında daha fazla bilgi edinin", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Abone Olunan Olaylar", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "İptal Et", "DESC": "Web kancası etkinlikleri, Chatwoot hesabınızdaki olaylar hakkında gerçek zamanlı bilgi sağlar. Bir geri aramayı yapılandırmak için lütfen geçerli bir URL girin.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Sil", "DELETE_CONFIRMATION": { "TITLE": "Entegrasyonu Sil", @@ -145,7 +160,29 @@ "EXPAND": "Genişlet", "MAKE_FRIENDLY": "Mesaj tonunu dostça yap", "MAKE_FORMAL": "Resmi ton kullan", - "SIMPLIFY": "Basitleştir" + "SIMPLIFY": "Basitleştir", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Profesyonel", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Dostça" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Copilot'a sor" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Taslak içeriği", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Panel Uygulamaları

Panel Uygulamaları, organizasyonlara destek uzmanları için bağlam sağlamak amacıyla bir uygulamayı Chatwoot paneli içine yerleştirmelerine izin verir. Bu özellik, bağımsız bir uygulama oluşturmanıza ve bunu panel içine yerleştirmenize olanak tanır, böylece kullanıcı bilgilerini, siparişlerini veya önceki ödeme geçmişini sağlayabilirsiniz.

Chatwoot'taki panel üzerine uygulamanızı yerleştirdiğinizde, uygulamanız konuşma ve iletişim bağlamını pencere olayı olarak alır. Bağlamı almak için sayfanızda bir message olayı için bir dinleyici uygulayın.

Yeni bir panel uygulaması eklemek için 'Yeni bir panel uygulaması ekle' düğmesine tıklayın.

", "DESCRIPTION": "Panel Uygulamaları, organizasyonlara destek uzmanları için bağlam sağlamak amacıyla bir uygulamayı panel içine yerleştirmelerine izin verir. Bu özellik, bağımsız bir uygulama oluşturmanıza ve bunu panel içine yerleştirmenize olanak tanır, böylece kullanıcı bilgilerini, siparişlerini veya önceki ödeme geçmişini sağlayabilirsiniz.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Bu hesapta henüz yapılandırılmış panel uygulamaları yok", "LOADING": "Panel uygulamaları alınıyor...", "TABLE_HEADER": { "NAME": "İsim", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Hareketler" }, "EDIT_TOOLTIP": "Uygulamayı Düzenle", "DELETE_TOOLTIP": "Uygulamayı Sil" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Notion entegrasyonunu silmek istediğinizden emin misiniz?", "MESSAGE": "Bu entegrasyonu silmek, Notion çalışma alanınıza erişimi kaldıracak ve ilgili tüm işlevleri durduracaktır.", @@ -399,18 +442,19 @@ "CREDIT_NOTE": "Buradan gönderilen mesajlar Captain kredilerinize sayılacaktır." }, "PAYWALL": { - "TITLE": "Upgrade to use Captain AI", + "TITLE": "Captain AI kullanmak için yükseltin", "AVAILABLE_ON": "Captain is not available on the free plan.", "UPGRADE_PROMPT": "Asistanlarımıza, Copilot'a ve daha fazlasına erişim sağlamak için planınızı yükseltin.", - "UPGRADE_NOW": "Upgrade now", + "UPGRADE_NOW": "Şimdi yükselt", "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI yalnızca Enterprise planlarında mevcuttur.", "UPGRADE_PROMPT": "Asistanlarımıza, Copilot'a ve daha fazlasına erişim sağlamak için planınızı yükseltin.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, "BANNER": { - "RESPONSES": "You've used over 80% of your response limit. To continue using Captain AI, please upgrade.", + "RESPONSES": "Yanıt sınırınızın %80'inden fazlasını kullandınız. Captain AI'yı kullanmaya devam etmek için lütfen yükseltin.", "DOCUMENTS": "Belge sınırı aşıldı. Captain AI'yı kullanmaya devam etmek için yükseltme yapın." }, "FORM": { @@ -639,7 +683,7 @@ "TITLE": "Örnek senaryolar", "ADD": "Tümünü ekle", "ADD_SINGLE": "Bunu ekle", - "TOOLS_USED": "Tools used :" + "TOOLS_USED": "Kullanılan araçlar:" }, "NEW": { "CREATE": "Senaryo ekle", @@ -672,19 +716,19 @@ "LIST": { "SEARCH_PLACEHOLDER": "Ara..." }, - "EMPTY_MESSAGE": "No scenarios found. Create or add examples to begin.", + "EMPTY_MESSAGE": "Hiçbir senaryo bulunamadı. Başlamak için örnekler oluşturun veya ekleyin.", "SEARCH_EMPTY_MESSAGE": "No scenarios found for this search.", "API": { "ADD": { - "SUCCESS": "Scenarios added successfully", + "SUCCESS": "Senaryolar başarıyla eklendi", "ERROR": "There was an error adding scenarios, please try again." }, "UPDATE": { - "SUCCESS": "Scenarios updated successfully", + "SUCCESS": "Senaryolar başarıyla güncellendi", "ERROR": "There was an error updating scenarios, please try again." }, "DELETE": { - "SUCCESS": "Scenarios deleted successfully", + "SUCCESS": "Senaryolar başarıyla silindi", "ERROR": "There was an error deleting scenarios, please try again." } } diff --git a/app/javascript/dashboard/i18n/locale/tr/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/tr/labelsMgmt.json index dbe76f8cc..61573362b 100644 --- a/app/javascript/dashboard/i18n/locale/tr/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/labelsMgmt.json @@ -4,7 +4,10 @@ "HEADER_BTN_TXT": "Etiket ekleyin", "LOADING": "Etiketler getiriliyor", "DESCRIPTION": "Etiketler, konuşmaları ve potansiyel müşterileri kategorize etmenize ve önceliklendirmenize yardımcı olur. Yan paneli kullanarak bir konuşmaya veya kişiye etiket atayabilirsiniz.", - "LEARN_MORE": "Learn more about labels", + "LEARN_MORE": "Etiketler hakkında daha fazla bilgi edinin", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Etiketleri ara...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Bu sorgu ile eşleşen öğe yok", "LIST": { "404": "Bu hesapta mevcut etiket yok.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "İsim", "DESCRIPTION": "Açıklama", - "COLOR": "Renk" + "COLOR": "Renk", + "ACTION": "Hareketler" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/tr/macros.json b/app/javascript/dashboard/i18n/locale/tr/macros.json index 5dcd51d7e..3e44974e0 100644 --- a/app/javascript/dashboard/i18n/locale/tr/macros.json +++ b/app/javascript/dashboard/i18n/locale/tr/macros.json @@ -3,9 +3,12 @@ "HEADER": "Kısayollar", "DESCRIPTION": "Kısayol; müşteri hizmetleri temsilcilerinin görevleri kolayca tamamlamasına yardımcı olan bir dizi kaydedilmiş eylemdir. Müşteri temsilcileri, bir görüşmeyi bir etiketle etiketlemek, e-posta ile konuşma özetini göndermek, özel bir özelliği güncellemek gibi bir dizi eylem tanımlayabilir ve bu eylemleri tek bir tıklamayla çalıştırabilirler.", "LEARN_MORE": "Makrolar hakkında daha fazla bilgi edinin", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Yeni bir kısayol ekle", "HEADER_BTN_TXT_SAVE": "Kısayolu Kaydet", "LOADING": "Kısayollar alınıyor", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Bir şeyler yanlış gitti. Lütfen tekrar deneyin", "ORDER_INFO": "Kısayollar eklediğiniz sırayla çalışacaktır. Bunları sürükleyerek her düğmenin yanındaki tutamakla yeniden düzenleyebilirsiniz.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "İsim", "CREATED BY": "Tarafından oluşturuldu", "LAST_UPDATED_BY": "Son güncelleyen", - "VISIBILITY": "Görünürlük" + "VISIBILITY": "Görünürlük", + "ACTIONS": "Hareketler" }, "404": "Hiç kısayol bulunamadı" }, diff --git a/app/javascript/dashboard/i18n/locale/tr/mfa.json b/app/javascript/dashboard/i18n/locale/tr/mfa.json index defd72261..bec70ff05 100644 --- a/app/javascript/dashboard/i18n/locale/tr/mfa.json +++ b/app/javascript/dashboard/i18n/locale/tr/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "İki Faktörlü Kimlik Doğrulama", - "SUBTITLE": "TOTP tabanlı kimlik doğrulama ile hesabınızı güvence altına alın", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Zaman tabanlı tek kullanımlık şifre (TOTP) kullanarak hesabınıza ekstra bir güvenlik katmanı ekleyin", "STATUS_TITLE": "Kimlik Doğrulama Durumu", "STATUS_DESCRIPTION": "İki faktörlü kimlik doğrulama ayarlarınızı ve yedek kurtarma kodlarınızı yönetin", diff --git a/app/javascript/dashboard/i18n/locale/tr/report.json b/app/javascript/dashboard/i18n/locale/tr/report.json index 30a414d98..cdb0a23da 100644 --- a/app/javascript/dashboard/i18n/locale/tr/report.json +++ b/app/javascript/dashboard/i18n/locale/tr/report.json @@ -3,7 +3,7 @@ "HEADER": "Konuşmalar", "LOADING_CHART": "Grafik verileri yükleniyor...", "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", - "DOWNLOAD_AGENT_REPORTS": "Etken raporları indir", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Veri çekme başarısız oldu, lütfen daha sonra tekrar deneyin.", "SUMMARY_FETCHING_FAILED": "Özet çekme başarısız oldu, lütfen daha sonra tekrar deneyin.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Temsilci Genel Bakış", - "DESCRIPTION": "Konuşmalar, yanıt süreleri, çözüm süreleri ve çözülen vakalar gibi temel metriklerle temsilci performansını kolayca takip edin. Daha fazla bilgi için bir temsilcinin adına tıklayın.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Grafik verileri yükleniyor...", "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", "DOWNLOAD_AGENT_REPORTS": "Etken raporları indir", "FILTER_DROPDOWN_LABEL": "Temsilci Seçin", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Temsilci ara" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", "DOWNLOAD_LABEL_REPORTS": "Etiket raporlarını indir", "FILTER_DROPDOWN_LABEL": "Etiket Seçin", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Etiketleri ara" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Gelen kutusu seç", "ALL_INBOXES": "Tüm Gelen Kutuları", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Gelen kutularını ara" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Ekip Genel Bakışı", - "DESCRIPTION": "Konuşmalar, yanıt süreleri, çözüm süreleri ve çözülen vakalar gibi temel metriklerle ekibinizin performansına hızlı bir bakış edinin. Daha fazla detay için bir ekibin adına tıklayın.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Grafik verileri yükleniyor...", "NO_ENOUGH_DATA": "Rapor oluşturmak için yeterli veri yok, Lütfen daha sonra tekrar deneyin.", "DOWNLOAD_TEAM_REPORTS": "Ekip raporlarını indir", "FILTER_DROPDOWN_LABEL": "Ekip Seç", + "FILTERS": { + "ADD_FILTER": "Filtre Ekle", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Takım ara" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Konuşmalar", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Raporları", - "NO_RECORDS": "Mevcut CSAT anket yanıtları yok.", + "NO_RECORDS": "Henüz yanıt yok", + "NO_RECORDS_DESCRIPTION": "Müşteriler geri bildirim vermeye başladığında CSAT anket yanıtları burada görünecektir.", "DOWNLOAD": "CSAT Raporlarını İndir", "DOWNLOAD_FAILED": "CSAT Raporlarını İndirme Başarısız Oldu", "FILTERS": { + "ADD_FILTER": "Filtre Ekle", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Temsilci ara", + "INBOXES": "Gelen kutularını ara", + "TEAMS": "Takım ara", + "RATINGS": "Değerlendirmelerde ara" + }, "AGENTS": { - "PLACEHOLDER": "Temsilcileri Seç" + "LABEL": "Kullanıcı" + }, + "INBOXES": { + "LABEL": "Gelen Kutusu" + }, + "TEAMS": { + "LABEL": "Ekip" + }, + "RATINGS": { + "LABEL": "Değerlendirme" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "İletişim", - "AGENT_NAME": "Atanan temsilci", + "AGENT_NAME": "Kullanıcı", "RATING": "Değerlendirme", - "FEEDBACK_TEXT": "Geri bildirim yorumu" - } + "FEEDBACK_TEXT": "Geri bildirim yorumu", + "CONVERSATION": "Sohbet", + "CUSTOMER": "Müşteri", + "RESPONSE": "Response", + "HANDLED_BY": "İlgilenen" + }, + "UNKNOWN_CUSTOMER": "Bilinmeyen müşteri" }, + "NO_AGENT": "Atanmış temsilci yok", + "NO_FEEDBACK": "Geri bildirim sağlanmadı", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Toplam yanıtlar", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Yanıt oranı", "TOOLTIP": "Toplam yanıtların toplamı / Gönderilen CSAT anketi mesajlarının toplamı * 100" + }, + "RATING_DISTRIBUTION": "Derecelendirme dağılımı" + }, + "REVIEW_NOTES": { + "TITLE": "İnceleme notları", + "PLACEHOLDER": "Bu derecelendirmeyle ilgili yorum notları ekleyin...", + "SAVE": "Kaydet", + "CANCEL": "İptal Et", + "SAVING": "Kaydediliyor...", + "SAVED": "Notlar başarıyla kaydedildi", + "SAVE_ERROR": "Notlar kaydedilemedi", + "UPDATED_BY": "{name} tarafından {time} tarihinde güncellendi", + "UPDATED_BY_LABEL": "Güncelleyen", + "PAYWALL": { + "TITLE": "İnceleme notları eklemek için yükseltin", + "AVAILABLE_ON": "İnceleme notları özelliği yalnızca Business ve Enterprise planlarında mevcuttur.", + "UPGRADE_PROMPT": "İnceleme notları ile her CSAT yanıtına dahili bağlam ekleyin. Gerçekte ne yaşandığını kayıt altına alın, kalıpları daha hızlı tespit edin ve geri bildirimlerinizden yola çıkarak daha iyi kararlar alın.", + "UPGRADE_NOW": "Şimdi yükselt", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json index ee47d2026..7001a7bac 100644 --- a/app/javascript/dashboard/i18n/locale/tr/settings.json +++ b/app/javascript/dashboard/i18n/locale/tr/settings.json @@ -36,20 +36,20 @@ } }, "INTERFACE_SECTION": { - "TITLE": "Interface", - "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "TITLE": "Arayüz", + "NOTE": "Chatwoot kontrol panelinizin görünümünü ve hissini özelleştirin.", "FONT_SIZE": { - "TITLE": "Font size", - "NOTE": "Adjust the text size across the dashboard based on your preference.", - "UPDATE_SUCCESS": "Your font settings have been updated successfully", - "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "TITLE": "Yazı tipi boyutu", + "NOTE": "Tercihinize göre gösterge tablosundaki metin boyutunu ayarlayın.", + "UPDATE_SUCCESS": "Yazı tipi ayarlarınız başarıyla güncellendi", + "UPDATE_ERROR": "Yazı tipi ayarlarını güncellerken bir hata oluştu, lütfen tekrar deneyin", "OPTIONS": { - "SMALLER": "Smaller", - "SMALL": "Small", + "SMALLER": "Daha küçük", + "SMALL": "Küçük", "DEFAULT": "Varsayılan", - "LARGE": "Large", - "LARGER": "Larger", - "EXTRA_LARGE": "Extra Large" + "LARGE": "Büyük", + "LARGER": "Daha büyük", + "EXTRA_LARGE": "Ekstra Büyük" } }, "LANGUAGE": { @@ -97,7 +97,7 @@ }, "AUDIO_NOTIFICATIONS_SECTION": { "TITLE": "Sesli Uyarılar", - "NOTE": "Enable audio alerts in dashboard for new messages and conversations.", + "NOTE": "Yeni mesajlar ve konuşmalar için kontrol panelinde sesli uyarıları etkinleştirin.", "PLAY": "Sesi oynat", "ALERT_TYPES": { "NONE": "Hiç", @@ -109,16 +109,16 @@ }, "ALERT_COMBINATIONS": { "NONE": "You haven't selected any options, you won't receive any audio alerts.", - "ASSIGNED": "You'll receive alerts for conversations assigned to you.", + "ASSIGNED": "Size atanan konuşmalar için uyarılar alacaksınız.", "UNASSIGNED": "You'll receive alerts for any unassigned conversations.", - "NOTME": "You'll receive alerts for conversations assigned to others.", - "ASSIGNED+UNASSIGNED": "You'll receive alerts for your assigned conversations and any unattended ones.", - "ASSIGNED+NOTME": "You'll receive alerts for conversations assigned to you and to others, but not for unassigned ones.", - "NOTME+UNASSIGNED": "You'll receive alerts for unattended conversations and those assigned to others.", - "ASSIGNED+NOTME+UNASSIGNED": "You'll receive alerts for all conversations." + "NOTME": "Başkalarına atanan konuşmalar için uyarılar alacaksınız.", + "ASSIGNED+UNASSIGNED": "Atanan konuşmalarınız ve atanmamış konuşmalarınız için uyarılar alacaksınız.", + "ASSIGNED+NOTME": "Size ve başkalarına atanan konuşmalar için uyarılar alırsınız, ancak atanmamış olanlar için uyarı almazsınız.", + "NOTME+UNASSIGNED": "Atanmamış konuşmalar ve başkalarına atanan konuşmalar için uyarılar alacaksınız.", + "ASSIGNED+NOTME+UNASSIGNED": "Tüm konuşmalar için uyarılar alacaksınız." }, "ALERT_TYPE": { - "TITLE": "Alert events for conversations", + "TITLE": "Konuşmalar için uyarı olayları", "NONE": "Hiçbiri", "ASSIGNED": "Atanmış Konuşmalar", "ALL_CONVERSATIONS": "Tüm Konuşmalar" @@ -147,21 +147,21 @@ "SLA_MISSED_RESOLUTION": "Send email notifications when a conversation misses resolution SLA" }, "NOTIFICATIONS": { - "TITLE": "Notification preferences", - "TYPE_TITLE": "Notification type", + "TITLE": "Bildirim tercihleri", + "TYPE_TITLE": "Bildirim türü", "EMAIL": "E-Posta", - "PUSH": "Push notification", + "PUSH": "Push bildirim", "TYPES": { - "CONVERSATION_CREATED": "A new conversation is created", - "CONVERSATION_ASSIGNED": "A conversation is assigned to you", + "CONVERSATION_CREATED": "Yeni bir konuşma oluşturuldu", + "CONVERSATION_ASSIGNED": "Size bir konuşma atandı", "CONVERSATION_MENTION": "Bir konuşmada sizden bahsedildi", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "A new message is created in an assigned conversation", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "A new message is created in a participating conversation", - "SLA_MISSED_FIRST_RESPONSE": "A conversation misses first response SLA", - "SLA_MISSED_NEXT_RESPONSE": "A conversation misses next response SLA", - "SLA_MISSED_RESOLUTION": "A conversation misses resolution SLA" + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "Size atanmış bir konuşmada yeni bir mesaj oluşturuldu", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Katıldığınız bir konuşmada yeni bir mesaj oluşturuldu", + "SLA_MISSED_FIRST_RESPONSE": "Bir konuşmada ilk yanıt SLA süresi aşıldı", + "SLA_MISSED_NEXT_RESPONSE": "Bir konuşmada sonraki yanıt SLA süresi aşıldı", + "SLA_MISSED_RESOLUTION": "Bir konuşmada çözüm SLA süresi aşıldı" }, - "BROWSER_PERMISSION": "Enable push notifications for your browser so you’re able to receive them" + "BROWSER_PERMISSION": "Tarayıcınız için push bildirimleri etkinleştirin, böylece bildirimleri alabilirsiniz" }, "API": { "UPDATE_SUCCESS": "Bildirim tercihleriniz başarıyla güncellendi", @@ -177,9 +177,9 @@ "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "Katıldığım bir konuşmada yeni bir mesaj oluşturulduğunda anlık bildirimler gönderin", "HAS_ENABLED_PUSH": "Bu tarayıcı için bildirim özelliğini etkinleştirdiniz.", "REQUEST_PUSH": "Bildirimlerini etkinleştirin", - "SLA_MISSED_FIRST_RESPONSE": "Send push notifications when a conversation misses first response SLA", - "SLA_MISSED_NEXT_RESPONSE": "Send push notifications when a conversation misses next response SLA", - "SLA_MISSED_RESOLUTION": "Send push notifications when a conversation misses resolution SLA" + "SLA_MISSED_FIRST_RESPONSE": "Bir konuşmada ilk yanıt SLA süresi aşıldığında push bildirim gönder", + "SLA_MISSED_NEXT_RESPONSE": "Bir konuşmada sonraki yanıt SLA süresi aşıldığında push bildirim gönder", + "SLA_MISSED_RESOLUTION": "Bir konuşmada çözüm SLA süresi aşıldığında push bildirim gönder" }, "PROFILE_IMAGE": { "LABEL": "Profil Resmi" @@ -235,7 +235,7 @@ "SELECTOR_SUBTITLE": "Listeden bir hesap seçin", "PROFILE_SETTINGS": "Profile settings", "YEAR_IN_REVIEW": "Year in Review", - "KEYBOARD_SHORTCUTS": "Keyboard shortcuts", + "KEYBOARD_SHORTCUTS": "Klavye kısayolları", "APPEARANCE": "Change appearance", "SUPER_ADMIN_CONSOLE": "SuperAdmin console", "DOCS": "Read documentation", @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "İndir", "UPLOADING": "Yükleniyor...", - "INSTAGRAM_STORY_UNAVAILABLE": "Bu hikaye artık mevcut değil." + "INSTAGRAM_STORY_UNAVAILABLE": "Bu hikaye artık mevcut değil.", + "INSTAGRAM_STORY_REPLY": "Hikayene cevap verildi:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Haritada Görüntüle" @@ -374,11 +375,61 @@ "CHANNELS": "Kanallar", "SET_AUTO_OFFLINE": { "TEXT": "Otomatik olarak çevrimdışı olarak işaretle", - "INFO_TEXT": "Sistem sizi otomatik olarak çevrimdışı işaretlesin, uygulamayı veya gösterge tablosunu kullanmıyorsanız.", - "INFO_SHORT": "Automatically mark offline when you aren't using the app." + "INFO_TEXT": "Uygulamayı veya kontrol panelini kullanmadığınızda sistemin sizi otomatik olarak çevrimdışı olarak işaretlemesine izin verin.", + "INFO_SHORT": "Uygulamayı kullanmadığınızda otomatik olarak çevrimdışı olarak işaretleyin." }, "DOCS": "Dokümantasyonu oku", - "SECURITY": "Güvenlik" + "SECURITY": "Güvenlik", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Model seç", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Çok yakında", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Özellikleri", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Fatura", @@ -401,7 +452,7 @@ "BUTTON_TXT": "Buy more credits", "DOCUMENTS": "Belgeler", "RESPONSES": "Responses", - "UPGRADE": "Captain is not available on the free plan, upgrade now to get access to assistants, copilot and more.", + "UPGRADE": "Captain, ücretsiz planda mevcut değildir. Asistanlara, Copilot'a ve daha fazlasına erişim sağlamak için şimdi yükseltin.", "REFRESH_CREDITS": "Yenile" }, "CHAT_WITH_US": { @@ -437,7 +488,7 @@ "SECURITY_SETTINGS": { "TITLE": "Güvenlik", "DESCRIPTION": "Hesap güvenlik ayarlarınızı yönetin.", - "LINK_TEXT": "Learn more about SAML SSO", + "LINK_TEXT": "SAML SSO hakkında daha fazla bilgi edinin", "SAML_DISABLED_MESSAGE": "SAML SSO is currently disabled. Please contact your administrator to enable this feature.", "SAML": { "TITLE": "SAML SSO", @@ -485,13 +536,13 @@ "IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID is required" }, "ENTERPRISE_PAYWALL": { - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", - "UPGRADE_PROMPT": "Upgrade to an Enterprise plan to access SAML single sign-on and other advanced security features.", + "AVAILABLE_ON": "SAML SSO özelliği yalnızca Enterprise planlarında mevcuttur.", + "UPGRADE_PROMPT": "SAML tek oturum açma ve diğer gelişmiş güvenlik özelliklerine erişmek için Enterprise planına yükseltin.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, "PAYWALL": { - "TITLE": "Upgrade to enable SAML SSO", - "AVAILABLE_ON": "The SAML SSO feature is only available in the Enterprise plans.", + "TITLE": "SAML SSO'yu etkinleştirmek için yükseltin", + "AVAILABLE_ON": "SAML SSO özelliği yalnızca Enterprise planlarında mevcuttur.", "UPGRADE_PROMPT": "Upgrade your plan to get access to SAML single sign-on and other advanced features.", "UPGRADE_NOW": "Şimdi yükselt", "CANCEL_ANYTIME": "You can change or cancel your plan anytime" @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Konuşma İş Akışları", + "DESCRIPTION": "Konuşma çözümlemesi için kuralları ve zorunlu alanları yapılandırın." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Öznitelik ara" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Görüşmeyi Çöz", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Görüşmeyi Çöz", + "CANCEL": "İptal Et" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Evet", + "NO": "Hayır" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Şimdi yükselt", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Eyvah! Hiçbir Chatwoot hesabı bulunamadı. Devam etmek için yeni bir hesap oluşturun.", "NEW_ACCOUNT": "Yeni hesap", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Devam et", "CANCEL_BUTTON_LABEL": "İptal Et" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Dengeli", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/tr/signup.json b/app/javascript/dashboard/i18n/locale/tr/signup.json index 9900d3ba6..d85d92db5 100644 --- a/app/javascript/dashboard/i18n/locale/tr/signup.json +++ b/app/javascript/dashboard/i18n/locale/tr/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Hesap oluştur", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Kayıt ol", "TESTIMONIAL_HEADER": "İlerlemek için tek bir adım atmanız yeterlidir", "TESTIMONIAL_CONTENT": "Müşterilerinizle etkileşimde bulunmaktan, onları elde tutmaktan ve yeni müşteriler bulmaktan sadece bir adım uzaktasınız.", diff --git a/app/javascript/dashboard/i18n/locale/tr/sla.json b/app/javascript/dashboard/i18n/locale/tr/sla.json index fbcf0b143..a89c5c0e6 100644 --- a/app/javascript/dashboard/i18n/locale/tr/sla.json +++ b/app/javascript/dashboard/i18n/locale/tr/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Hizmet Seviyesi Anlaşmaları (SLA’lar), ekibiniz ile müşterileriniz arasındaki beklentileri net bir şekilde tanımlayan sözleşmelerdir. Yanıt ve çözüm süreleri için standartlar belirleyerek sorumluluk çerçevesi oluşturur ve tutarlı, yüksek kaliteli bir deneyim sağlar.", "LEARN_MORE": "SLA hakkında daha fazla bilgi edinin", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "SLA oluşturmak için yükseltin", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Çalışma saatleri" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/tr/snooze.json b/app/javascript/dashboard/i18n/locale/tr/snooze.json new file mode 100644 index 000000000..160adf4e1 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/tr/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "dakika", + "HOUR": "hour", + "HOURS": "saat", + "DAY": "gün", + "DAYS": "gün", + "WEEK": "hafta", + "WEEKS": "weeks", + "MONTH": "ay", + "MONTHS": "months", + "YEAR": "yıl", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "sonraki", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "yarın", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "sonraki hafta", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "hafta", + "DAY": "gün" + } +} diff --git a/app/javascript/dashboard/i18n/locale/tr/teamsSettings.json b/app/javascript/dashboard/i18n/locale/tr/teamsSettings.json index 53cfab154..08d9401f9 100644 --- a/app/javascript/dashboard/i18n/locale/tr/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/tr/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Ekipler, temsilcileri sorumluluklarına göre gruplar halinde organize etmenizi sağlar. Bir temsilci birden fazla ekibe ait olabilir. Ortak çalışırken, konuşmaları belirli ekiplere atayabilirsiniz.", "LEARN_MORE": "Ekipler hakkında daha fazla bilgi edinin", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Takım ara...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Bu hesap üzerine oluşturulmuş ekip bulunmamaktadır.", "EDIT_TEAM": "Ekibi düzenle", @@ -64,7 +67,7 @@ "ERROR_MESSAGE": "Ekip detayları kaydedilemedi. Tekrar deneyin." }, "AGENTS": { - "AGENT": "TEMSİLCİ", + "AGENT": "Kullanıcı", "EMAIL": "E-Posta", "BUTTON_TEXT": "Kullanıcı Ekle", "ADD_AGENTS": "Ekibinize Temsiciler Ekleniyor...", diff --git a/app/javascript/dashboard/i18n/locale/uk/agentBots.json b/app/javascript/dashboard/i18n/locale/uk/agentBots.json index 5bdd49dd8..f2fae5251 100644 --- a/app/javascript/dashboard/i18n/locale/uk/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/uk/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Завантаження редактора...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "Система", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Отримання ботів...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "URL вебхука" + "URL": "URL вебхука", + "ACTIONS": "Дії" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json b/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json index 146890e69..be65cb779 100644 --- a/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Адміністратор", "AGENT": "Агент" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Немає агентів, пов'язаних з цим обліковим записом", "TITLE": "Керування агентами у вашій команді", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Не вдалося підключитися до Woot Server, спробуйте ще раз пізніше" } }, + "SEARCH_PLACEHOLDER": "Пошук агентів...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Результатів не знайдено." }, diff --git a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json index 4925f8e2a..79d0cb40a 100644 --- a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Отримання користувацьких атрибутів", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Атрибути пошуку...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Розмови", "CONTACT": "Контакт" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Увімкнути перевірку регулярного виразу" + }, + "BADGES": { + "PRE_CHAT": "Пре-чат", + "RESOLUTION": "Вирішення" } }, "API": { @@ -131,8 +138,8 @@ } }, "BADGES": { - "PRE_CHAT": "Pre-chat", - "RESOLUTION": "Resolution" + "PRE_CHAT": "Пре-чат", + "RESOLUTION": "Вирішення" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/automation.json b/app/javascript/dashboard/i18n/locale/uk/automation.json index d26cef431..566a65d99 100644 --- a/app/javascript/dashboard/i18n/locale/uk/automation.json +++ b/app/javascript/dashboard/i18n/locale/uk/automation.json @@ -3,8 +3,11 @@ "HEADER": "Автоматизація", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Додати правило автоматизації", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Отримання правил автоматизації", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Додати правило автоматизації", "SUBMIT": "Створити", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Ім'я", - "DESCRIPTION": "Опис", "ACTIVE": "Активний", - "CREATED_ON": "Створено" + "CREATED_ON": "Створено", + "ACTIONS": "Дії" }, "404": "Не знайдено правил автоматизації" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Змінити пріоритет", "ADD_SLA": "Додати SLA", - "OPEN_CONVERSATION": "Відкрити розмову" + "OPEN_CONVERSATION": "Відкрити розмову", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/uk/bulkActions.json b/app/javascript/dashboard/i18n/locale/uk/bulkActions.json index b80380077..fa7f9c969 100644 --- a/app/javascript/dashboard/i18n/locale/uk/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/uk/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Статус розмови успішно оновлено.", "UPDATE_FAILED": "Не вдалося оновити розмови, будь ласка, спробуйте ще раз." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Призначити мітки", "NO_LABELS_FOUND": "Міток не знайдено", diff --git a/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json index 17f5782e8..f2d7e53db 100644 --- a/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Швидкі відповіді", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Додати швидку відповідь", "LOADING": "Отримання швидких відповідей...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Немає елементів, що відповідають запиту.", "LIST": { "404": "В цьому обліковому записі немає швидких відповідей.", diff --git a/app/javascript/dashboard/i18n/locale/uk/chatlist.json b/app/javascript/dashboard/i18n/locale/uk/chatlist.json index 9df6601b8..7d98c056d 100644 --- a/app/javascript/dashboard/i18n/locale/uk/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/uk/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Очікує відповіді: спершу короткі" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { @@ -104,7 +107,7 @@ "CONTENT": "Shared contact" }, "embed": { - "CONTENT": "Embedded content" + "CONTENT": "Вбудований вміст" } }, "CHAT_SORT_BY_FILTER": { diff --git a/app/javascript/dashboard/i18n/locale/uk/companies.json b/app/javascript/dashboard/i18n/locale/uk/companies.json index a1b662235..0f464ae74 100644 --- a/app/javascript/dashboard/i18n/locale/uk/companies.json +++ b/app/javascript/dashboard/i18n/locale/uk/companies.json @@ -1,33 +1,33 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "Компанії", "SORT_BY": { "LABEL": "Сортувати за", "OPTIONS": { "NAME": "Ім'я", "DOMAIN": "Домен", "CREATED_AT": "Створений в", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "Кількість контактів" } }, "ORDER": { - "LABEL": "Order", + "LABEL": "Порядок", "OPTIONS": { - "ASCENDING": "Ascending", - "DESCENDING": "Descending" + "ASCENDING": "За зростанням", + "DESCENDING": "За спаданням" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "Пошук компаній...", + "LOADING": "Завантаження компаній...", + "UNNAMED": "Компанія без назви", + "CONTACTS_COUNT": "{n} контакт | {n} контактів", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "Не знайдено жодної компанії" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "Показати {startItem} – {endItem} з {totalItems} компаній | Показати {startItem} – {endItem} з {totalItems} компаній" } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json index edc5c5e52..10a1a42fd 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contact.json +++ b/app/javascript/dashboard/i18n/locale/uk/contact.json @@ -18,8 +18,8 @@ "CREATED_AT_LABEL": "Створено", "NEW_MESSAGE": "Нове повідомлення", "CALL": "Дзвінок", - "CALL_INITIATED": "Calling the contact…", - "CALL_FAILED": "Unable to start the call. Please try again.", + "CALL_INITIATED": "Викликаємо контакт…", + "CALL_FAILED": "Не можливо розпочати виклик. Будь ласка, спробуйте пізніше.", "VOICE_INBOX_PICKER": { "TITLE": "Оберіть голосову теку" }, @@ -457,8 +457,11 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "Додати TikTok" }, "LINKEDIN": { "PLACEHOLDER": "Add LinkedIn" @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Немає контактів, які відповідають вашому пошуку 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Призначити мітки", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Для:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Тема :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Копія:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Прихована копія:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Прихована копія" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json b/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json index fcf733290..3ffeb4ba5 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json +++ b/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json @@ -28,7 +28,7 @@ "TYPES": { "MEDIA": "Media", "QUICK_REPLY": "Quick Reply", - "CALL_TO_ACTION": "Call to Action", + "CALL_TO_ACTION": "Виклик до дії", "TEXT": "Текст" } }, diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json index 5eed7bb56..abe9a51ef 100644 --- a/app/javascript/dashboard/i18n/locale/uk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "Це повідомлення не підтримується. Ви можете переглянути це повідомлення у додатку Facebook Messenger", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Це повідомлення не підтримується. Ви можете переглянути це повідомлення у додатку Instagram.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Повідомлення успішно видалено", "FAIL_DELETE_MESSSAGE": "Не вдалося видалити повідомлення! Спробуйте ще раз", "NO_RESPONSE": "Немає відповіді", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Не вдалося призначити мітку. Будь-ласка, спробуйте ще раз." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Призначено команду \"#{team}\" до ID розмови {conversationId}", "FAILED": "Не вдалося призначити команду. Будь ласка, спробуйте ще раз." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Вимкнути підпис", "MSG_INPUT": "Shift + Enter для нового рядка. Для вибору швидкої відповіді, уведіть '/'.", "PRIVATE_MSG_INPUT": "Shift + Enter для нового рядка. Видиме лише для співробітників", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Не налаштовано підпис повідомлення, будь ласка, налаштуйте його в налаштуваннях профілю.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Натисніть тут для оновлення", "WHATSAPP_TEMPLATES": "Шаблони Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Перетягніть сюди, щоб прикріпити", "START_AUDIO_RECORDING": "Почати аудіозапис", "STOP_AUDIO_RECORDING": "Зупинити аудіозапис", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "На", "ADD_BCC": "Додати bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Файл перевищує максимальний розмір вкладень {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} МБ", + "FILE_TYPE_NOT_SUPPORTED": "Тип файлу {fileName} не підтримується у цій розмові", "MESSAGE_ERROR": "Не вдалося надіслати повідомлення, будь ласка, повторіть спробу пізніше", "SENT_BY": "Надіслав:", "BOT": "Бот", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Не вдалося надіслати повідомлення! Повторіть спробу", "TRY_AGAIN": "повторити", "ASSIGNMENT": { @@ -281,10 +293,10 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NOT_ANSWERED_YET": "Not answered yet", - "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", - "REJECT_CALL": "Reject", - "JOIN_CALL": "Join call", - "END_CALL": "End call" + "HANDLED_IN_ANOTHER_TAB": "Оброблюється в іншій вкладці", + "REJECT_CALL": "Відхилити", + "JOIN_CALL": "Доєднатися до виклику", + "END_CALL": "Завершити виклик" } }, "EMAIL_TRANSCRIPT": { @@ -294,6 +306,7 @@ "CANCEL": "Скасувати", "SEND_EMAIL_SUCCESS": "Текст розмови надісланий", "SEND_EMAIL_ERROR": "Сталася помилка, будь ласка, спробуйте ще раз", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Надіслати клієнту стенограму", "SEND_TO_AGENT": "Надіслати стенограму агенту", diff --git a/app/javascript/dashboard/i18n/locale/uk/customRole.json b/app/javascript/dashboard/i18n/locale/uk/customRole.json index be0ae80a6..d602d8a6a 100644 --- a/app/javascript/dashboard/i18n/locale/uk/customRole.json +++ b/app/javascript/dashboard/i18n/locale/uk/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Немає елементів, що відповідають запиту.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/uk/datePicker.json b/app/javascript/dashboard/i18n/locale/uk/datePicker.json index 8cd0f07ee..a73e646b2 100644 --- a/app/javascript/dashboard/i18n/locale/uk/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/uk/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Підтвердити", "CLEAR_BUTTON": "Очистити", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Останні 3 місяці", "LAST_6_MONTHS": "Останні 6 місяців", "LAST_YEAR": "Минулий рік", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Довільний діапазон дат" } } diff --git a/app/javascript/dashboard/i18n/locale/uk/general.json b/app/javascript/dashboard/i18n/locale/uk/general.json index b89d07068..24ebd28cc 100644 --- a/app/javascript/dashboard/i18n/locale/uk/general.json +++ b/app/javascript/dashboard/i18n/locale/uk/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Закрити", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Так", + "NO": "Ні" } } diff --git a/app/javascript/dashboard/i18n/locale/uk/generalSettings.json b/app/javascript/dashboard/i18n/locale/uk/generalSettings.json index 24fedd761..04c2ee054 100644 --- a/app/javascript/dashboard/i18n/locale/uk/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/uk/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Шукати чи перейти до", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Загальні", "REPORTS": "Звіти", diff --git a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json index 9e36d17d9..d9ab1728c 100644 --- a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Помилка при видаленні статті" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Будь ласка, додайте заголовок і вміст статті. Лише потім можна оновити налаштування" }, diff --git a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json index 1b1e32968..e69df0f03 100644 --- a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Вхідні", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -58,11 +61,11 @@ "DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore." }, "TIKTOK": { - "CONTINUE_WITH_TIKTOK": "Continue with TikTok", - "CONNECT_YOUR_TIKTOK_PROFILE": "Connect your TikTok Profile", - "HELP": "To add your TikTok profile as a channel, you need to authenticate your TikTok Profile by clicking on 'Continue with TikTok' ", - "ERROR_MESSAGE": "There was an error connecting to TikTok, please try again", - "ERROR_AUTH": "There was an error connecting to TikTok, please try again" + "CONTINUE_WITH_TIKTOK": "Продовжити в TikTok", + "CONNECT_YOUR_TIKTOK_PROFILE": "Приєднайте ваш профіль TikTok", + "HELP": "Щоб додати ваш профіль TikTok як канал потрібно аутентифікувати його клацнувши 'Продовжити в TikTok' ", + "ERROR_MESSAGE": "При спробі під'єднатися до TikTok виникла помилка, будь ласка, спробуйте пізніше", + "ERROR_AUTH": "При спробі під'єднатися до TikTok виникла помилка, будь ласка, спробуйте пізніше" }, "TWITTER": { "HELP": "Щоб додати свій профіль у Twitter як канал, вам потрібно авторизувати свій профіль у Twitter, натиснувши кнопку \"Увійти через Twitter\" ", @@ -389,10 +392,10 @@ "ERROR_MESSAGE": "Ми не змогли зберегти email канал" }, "FINISH_MESSAGE": "Почніть перенаправляти листи до наступної адреси електронної пошти.", - "FINISH_MESSAGE_NO_FORWARDING": "Your email inbox has been created successfully! You need to configure SMTP and IMAP credentials to send and receive emails. Without these settings, no emails will be processed.", - "FORWARDING_ADDRESS_LABEL": "Forward emails to this address:", + "FINISH_MESSAGE_NO_FORWARDING": "Джерело для вашої поштової скриньки успішно створене! Вам потрібно налаштувати дані IMAP та SMTP щоб отримувати та надсилати листи. Без цих налаштувань ваші листи не будуть оброблятися.", + "FORWARDING_ADDRESS_LABEL": "Перенаправляти листи на цю адресу:", "CONFIGURE_SMTP_IMAP_LINK": "Натисніть тут", - "CONFIGURE_SMTP_IMAP_TEXT": " to configure IMAP and SMTP settings" + "CONFIGURE_SMTP_IMAP_TEXT": " налаштувати параметри IMAP та SMTP" }, "LINE_CHANNEL": { "TITLE": "LINE Канал", @@ -480,7 +483,7 @@ }, "TIKTOK": { "TITLE": "TikTok", - "DESCRIPTION": "Connect your TikTok account" + "DESCRIPTION": "Під'єднати ваш обліковий запис TikTok" }, "VOICE": { "TITLE": "Voice", @@ -575,7 +578,7 @@ "SUBTITLE": "Використовувати лише налаштовану бізнес-назву як ім'я відправника в заголовку електронної пошти." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Налаштуйте ваше корпоративне ім'я", + "BUTTON_TEXT": "Налаштуйте ваше корпоративне ім'я", "PLACEHOLDER": "Введіть ваше корпоративне ім'я", "SAVE_BUTTON_TEXT": "Зберегти" } @@ -589,8 +592,10 @@ "DISABLED": "Вимкнено" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Увімкнено", - "DISABLED": "Вимкнено" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Увімкнено" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Увімкнути/Вимкнути показ імені співробітника в електронній пошті, якщо це вимкнено, то буде відображатися бізнес-ім'я", "ENABLE_CONTINUITY_VIA_EMAIL": "Увімкнути безперервність розмови через електронну пошту", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Розмови продовжуватимуться через електронну пошту, якщо доступна контактна адреса.", - "LOCK_TO_SINGLE_CONVERSATION": "Заблокувати бесіду", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Увімкнути або вимкнути кілька бесід для одного контакту в цій папці Вхідні", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Налаштування каналу", "INBOX_UPDATE_SUB_TEXT": "Оновіть параметри каналу", "AUTO_ASSIGNMENT_SUB_TEXT": "Увімкнення або вимкнення автоматичного призначення нових розмов до агентів, доданих до цього каналу.", @@ -722,7 +729,7 @@ "INBOX_IDENTIFIER_SUB_TEXT": "Використовуйте токен `inbox_identifier`, показаний тут для аутентифікації ваших API клієнтів.", "FORWARD_EMAIL_TITLE": "Переслати на ел. пошту", "FORWARD_EMAIL_SUB_TEXT": "Почніть перенаправляти листи до наступної адреси електронної пошти.", - "FORWARD_EMAIL_NOT_CONFIGURED": "Forwarding emails to your inbox is currently disabled on this installation. To use this feature, it must be enabled by your administrator. Please get in touch with them to proceed.", + "FORWARD_EMAIL_NOT_CONFIGURED": "Перенаправлення листів до теки \"Вхідні\" наразі відключено для цієї інсталяції. Щоб використовувати цю функцію вона має бути увімкнена адміністратором. Будь ласка, зверніться до нього.", "ALLOW_MESSAGES_AFTER_RESOLVED": "Дозволити повідомлення після закінчення розмови", "ALLOW_MESSAGES_AFTER_RESOLVED_SUB_TEXT": "Дозволити кінцевим користувачам надсилати повідомлення навіть після закриття розмови.", "WHATSAPP_SECTION_SUBHEADER": "Цей ключ API використовується для інтеграції з API WhatsApp.", @@ -758,6 +765,7 @@ "LABEL": "Довідковий центр", "PLACEHOLDER": "Виберіть довідковий центр", "SELECT_PLACEHOLDER": "Виберіть довідковий центр", + "NONE": "Нiчого", "REMOVE": "Видалити довідковий центр", "SUB_TEXT": "Прикріпити Довідковий центр до папки Вхідні" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Будь ласка, введіть значення, більше за 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Обмеження максимальної кількості розмов із цього джерела, яку можна автоматично призначити агенту" }, + "ASSIGNMENT": { + "TITLE": "Призначення до розмови", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Активний", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Скасувати", + "CONFIRM_DELETE": "Видалити", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Повторна авторизація", "SUBTITLE": "Підключення до Facebook закінчилося, будь ласка, поновіть сторінку Facebook, щоб продовжити роботу служб", @@ -809,34 +864,48 @@ "PLACEHOLDER": "Please enter a message to show users with the form" }, "BUTTON_TEXT": { - "LABEL": "Button text", - "PLACEHOLDER": "Please rate us" + "LABEL": "Текст кнопки", + "PLACEHOLDER": "Будь ласка, оцініть нас" }, "LANGUAGE": { "LABEL": "Мова", - "PLACEHOLDER": "Select template language" + "PLACEHOLDER": "Виберіть мову шаблону" }, "MESSAGE_PREVIEW": { - "LABEL": "Message preview", - "TOOLTIP": "This may vary slightly when rendered on WhatsApp's platform." + "LABEL": "Попередній перегляд повідомлення", + "TOOLTIP": "Це може дещо відрізнятися від того що відображає платформа WhatsApp." }, "TEMPLATE_STATUS": { - "APPROVED": "Approved by WhatsApp", - "PENDING": "Pending WhatsApp approval", - "REJECTED": "Meta rejected the template", - "DEFAULT": "Needs WhatsApp approval", - "NOT_FOUND": "The template does not exist in the Meta platform." + "APPROVED": "Підтверджено WhatsApp", + "PENDING": "Очікує підтвердження WhatsApp", + "REJECTED": "Шаблон відхилено Meta", + "DEFAULT": "Потребує підтвердження WhatsApp", + "NOT_FOUND": "Цей шаблон не існує на платформі Meta." }, "TEMPLATE_CREATION": { - "SUCCESS_MESSAGE": "WhatsApp template created successfully and sent for approval", - "ERROR_MESSAGE": "Failed to create WhatsApp template" + "SUCCESS_MESSAGE": "Шаблон WhatsApp успішно створено та надіслано на підтвердження", + "ERROR_MESSAGE": "Не вдалося створити шаблон WhatsApp" }, "TEMPLATE_UPDATE_DIALOG": { - "TITLE": "Edit survey details", - "DESCRIPTION": "We will delete the previous template and make a new one which will be sent again for WhatsApp approval", - "CONFIRM": "Create new template", + "TITLE": "Редагувати деталі опитування", + "DESCRIPTION": "Попередній шаблон буде видалено та створено новий, який буде надіслано у WhatsApp для підтвердження", + "CONFIRM": "Створити новий шаблон", "CANCEL": "Повернутися назад" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Повідомлення для відвідувачів у неробочі години", "TOGGLE_HELP": "Включення покаже робочі години на віджеті в чаті, навіть якщо всі агенти перебувають в автономному режимі. У неробочі години відвідувачі можуть бути попереджені повідомленням і формою попереднього чату.", "DAY": { + "DAY": "День", + "AVAILABILITY": "Присутність", + "HOURS": "Hours", "ENABLE": "Увімкнути доступність для цього дня", "UNAVAILABLE": "Неприсутній", - "HOURS": "години", "VALIDATION_ERROR": "Час початку має бути менше часу закриття.", "CHOOSE": "Обрати" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Протягом дня" }, "WIDGET_COLOR_LABEL": "Колір віджета", - "WIDGET_BUBBLE_POSITION_LABEL": "Позиція віджету", - "WIDGET_BUBBLE_TYPE_LABEL": "Тип віджету", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Тип:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Почніть розмову з нами", - "LABEL": "Заголовок віджета", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Почніть розмову з нами" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "За замовчуванням", - "CHAT": "Чат" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Зазвичай відповідаємо за декілька хвилин", diff --git a/app/javascript/dashboard/i18n/locale/uk/integrationApps.json b/app/javascript/dashboard/i18n/locale/uk/integrationApps.json index 8bc5136c5..ff6b2ec55 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Отримання інтеграцій", "NO_HOOK_CONFIGURED": "Немає сконфігурованих інтеграцій {integrationId} в цьому обліковому записі.", "HEADER": "Додатки", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Увімкнено", "DISABLED": "Вимкнено" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Отримання інтеграційних хуків", "INBOX": "Вхідні", + "ACTIONS": "Дії", "DELETE": { "BUTTON_TEXT": "Видалити" } diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json index dcca01734..f833f8450 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Події з підпискою", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Скасувати", "DESC": "Вебхуки автоматично повідомляють про те, що відбувається у вашому обліковому записі Chatwoot. Будь ласка, введіть дійсний URL для налаштування зворотного виклику.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Видалити", "DELETE_CONFIRMATION": { "TITLE": "Видалити інтеграцію", @@ -145,7 +160,29 @@ "EXPAND": "Розширити", "MAKE_FRIENDLY": "Змінити сигнал повідомлення на дружній", "MAKE_FORMAL": "Використовувати формальний сигнал", - "SIMPLIFY": "Спростити" + "SIMPLIFY": "Спростити", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Професійний", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Дружній" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Вміст чернетки", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Панель управління

Додатки дозволяють організаціям вставляти в панель керування Chatwoot інформацію, щоб надати контекст агентам підтримки клієнтів. Ця функція дозволяє створювати додаток незалежно і вставляти його в панелі управління відомості про користувача, їхні замовлення або історію попередніх платежів.

Коли ви вставляєте свій застосунок за допомогою панелі керування в Chatwoot, ваша програма отримає контекст розмови і зв'яжеться як віконна подія. Налаштуйте слухача для заходу повідомлення на вашій сторінці, щоб отримати контекст.

Щоб додати нову панель керування, натисніть кнопку 'Додати нову програму'.

", "DESCRIPTION": "Додатки дозволяють організаціям вбудовувати інформаційну панель керування і надавати контекст для агентів підтримки клієнтів. Ця функція дозволяє створювати додаток незалежно і додавати інформацію, що надавали про користувача, його замовлення або історію платежів.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Поки що немає налаштованих додатків в цьому акаунті", "LOADING": "Отримання додатків панелі керування...", "TABLE_HEADER": { "NAME": "Ім'я", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Дії" }, "EDIT_TOOLTIP": "Редагувати додаток", "DELETE_TOOLTIP": "Видалити додаток" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "Ви можете змінити або скасувати план у будь-який час" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI доступний тільки в планах Enterprise.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Будь ласка, зверніться до адміністратора для оновлення." }, diff --git a/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json index e85ca8130..d707dbc9b 100644 --- a/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Отримання міток", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Пошук міток...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Немає елементів, що відповідають запиту", "LIST": { "404": "У цьому акаунті немає міток.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Ім'я", "DESCRIPTION": "Опис", - "COLOR": "Колір" + "COLOR": "Колір", + "ACTION": "Дії" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/uk/macros.json b/app/javascript/dashboard/i18n/locale/uk/macros.json index fbe695139..037531e4f 100644 --- a/app/javascript/dashboard/i18n/locale/uk/macros.json +++ b/app/javascript/dashboard/i18n/locale/uk/macros.json @@ -3,9 +3,12 @@ "HEADER": "Макрос", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Додати новий макрос", "HEADER_BTN_TXT_SAVE": "Зберегти макрос", "LOADING": "Завантаження макросів", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Щось пішло не так. Будь ласка, оновіть сторінку", "ORDER_INFO": "Макроси запускається у порядку додавання ваших дій. Ви можете переставити їх шляхом перетягування.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Ім'я", "CREATED BY": "Створено", "LAST_UPDATED_BY": "Оновлено", - "VISIBILITY": "Видимість" + "VISIBILITY": "Видимість", + "ACTIONS": "Дії" }, "404": "Макросів не знайдено" }, diff --git a/app/javascript/dashboard/i18n/locale/uk/mfa.json b/app/javascript/dashboard/i18n/locale/uk/mfa.json index 496335c5d..ddd1b510a 100644 --- a/app/javascript/dashboard/i18n/locale/uk/mfa.json +++ b/app/javascript/dashboard/i18n/locale/uk/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/uk/report.json b/app/javascript/dashboard/i18n/locale/uk/report.json index 6af3bdc23..3431096b8 100644 --- a/app/javascript/dashboard/i18n/locale/uk/report.json +++ b/app/javascript/dashboard/i18n/locale/uk/report.json @@ -3,7 +3,7 @@ "HEADER": "Бесіди", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", - "DOWNLOAD_AGENT_REPORTS": "Завантажити звіти агентів", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Не вдалося отримати дані. Будь ласка, повторіть спробу пізніше.", "SUMMARY_FETCHING_FAILED": "Не вдалося отримати дані. Будь ласка, повторіть спробу пізніше.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Огляд Агентів", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", "DOWNLOAD_AGENT_REPORTS": "Завантажити звіти агентів", "FILTER_DROPDOWN_LABEL": "Виберіть агента", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Пошук агентів" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", "DOWNLOAD_LABEL_REPORTS": "Завантажити звіти по міткам", "FILTER_DROPDOWN_LABEL": "Виберіть Мітку", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Пошук міток" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Вибрати \"Вхідний\" канал", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Огляд команди", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Завантаження даних діаграми...", "NO_ENOUGH_DATA": "Ми не отримали достатньо даних для генерації звіту. Будь ласка, спробуйте ще раз пізніше.", "DOWNLOAD_TEAM_REPORTS": "Завантажити звіти команд", "FILTER_DROPDOWN_LABEL": "Оберіть команду", + "FILTERS": { + "ADD_FILTER": "Додати фільтр", + "CLEAR_ALL": "Очистити все", + "NO_FILTER": "Немає доступних фільтрів", + "INPUT_PLACEHOLDER": { + "TEAMS": "Пошук команд" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Бесіди", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Звіти CSAT", - "NO_RECORDS": "Немає доступних відповідей для опитувань CSAT.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Завантажити CSAT звіти", "DOWNLOAD_FAILED": "Не вдалося завантажити звіти CSAT", "FILTERS": { + "ADD_FILTER": "Додати фільтр", + "CLEAR_ALL": "Очистити все", + "NO_FILTER": "Немає доступних фільтрів", + "INPUT_PLACEHOLDER": { + "AGENTS": "Пошук агентів", + "INBOXES": "Search inboxes", + "TEAMS": "Пошук команд", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Виберіть Агентів" + "LABEL": "Агент" + }, + "INBOXES": { + "LABEL": "Вхідні" + }, + "TEAMS": { + "LABEL": "Команда" + }, + "RATINGS": { + "LABEL": "Оцінка" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Контакт", - "AGENT_NAME": "Призначений агент", + "AGENT_NAME": "Агент", "RATING": "Оцінка", - "FEEDBACK_TEXT": "Відгук" - } + "FEEDBACK_TEXT": "Відгук", + "CONVERSATION": "Діалог", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Всього відповідей", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Показник відповідей", "TOOLTIP": "Загальна кількість відповідей / Загальна кількість повідомлень опитування CSAT відправлено * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Зберегти", + "CANCEL": "Скасувати", + "SAVING": "Збереження...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Оновити зараз", + "CANCEL_ANYTIME": "Ви можете змінити або скасувати план у будь-який час" } } }, diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json index 7d51984c3..e163ae07f 100644 --- a/app/javascript/dashboard/i18n/locale/uk/settings.json +++ b/app/javascript/dashboard/i18n/locale/uk/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Звантажити", "UPLOADING": "Завантажується...", - "INSTAGRAM_STORY_UNAVAILABLE": "Ця історія більше не доступна." + "INSTAGRAM_STORY_UNAVAILABLE": "Ця історія більше не доступна.", + "INSTAGRAM_STORY_REPLY": "Відповів(-ла) на вашу історію:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Дивитись на карті" @@ -307,7 +308,7 @@ "SETTINGS": "Налаштування", "CONTACTS": "Контакти", "ACTIVE": "Активний", - "COMPANIES": "Companies", + "COMPANIES": "Компанії", "ALL_COMPANIES": "All Companies", "CAPTAIN": "Captain", "CAPTAIN_ASSISTANTS": "Assistants", @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Читати документи", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Особливості", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Біллінг", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Атрибути пошуку" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Закрити розмову", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Закрити розмову", + "CANCEL": "Скасувати" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Так", + "NO": "Ні" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Оновити зараз", + "CANCEL_ANYTIME": "Ви можете змінити або скасувати план у будь-який час" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Будь ласка, зверніться до адміністратора для оновлення." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ой! Ми не змогли знайти жодного облікового запису Chatwoot. Будь ласка, створіть новий обліковий запис, щоб продовжити.", "NEW_ACCOUNT": "Новий акаунт", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Скасувати" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/uk/signup.json b/app/javascript/dashboard/i18n/locale/uk/signup.json index 5acf45913..facf944d6 100644 --- a/app/javascript/dashboard/i18n/locale/uk/signup.json +++ b/app/javascript/dashboard/i18n/locale/uk/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Створити акаунт", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Реєстрація", "TESTIMONIAL_HEADER": "Один крок і вперед", "TESTIMONIAL_CONTENT": "Ви за один крок від залучення своїх клієнтів, утримання їх та пошуку нових.", diff --git a/app/javascript/dashboard/i18n/locale/uk/sla.json b/app/javascript/dashboard/i18n/locale/uk/sla.json index a843a905f..66a8c1274 100644 --- a/app/javascript/dashboard/i18n/locale/uk/sla.json +++ b/app/javascript/dashboard/i18n/locale/uk/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Створити нову SLA політику", "DESCRIPTION": "Угода про рівень послуг (SLAs) - це контракти, що визначають чіткі очікування між вашою командою та клієнтами. Вони встановлюють стандарти часу реагування та резолюції, створюючи рамки підзвітності та забезпечують послідовний, якісний досвід.", "LEARN_MORE": "Дізнатися більше про SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Отримання SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Оновіть, щоб створити SLA", "AVAILABLE_ON": "Функція SLA доступна тільки в планах Business та Enterprise.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "У цьому обліковому записі немає SLA.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Питання, висунуті корпоративними клієнтами, які потребують негайної уваги.", "TITLE_2": "Enterprise P1", "DESC_2": "Питання, отримані підприємницькими клієнтами, потрібно швидко визнати." }, - "BUSINESS_HOURS_ON": "Увімкнено робочий час", - "BUSINESS_HOURS_OFF": "Вимкнено робочий час", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "Час першої відповіді", "NRT": "Час наступної відповіді", diff --git a/app/javascript/dashboard/i18n/locale/uk/snooze.json b/app/javascript/dashboard/i18n/locale/uk/snooze.json new file mode 100644 index 000000000..f67efca58 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/uk/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "години", + "DAY": "день", + "DAYS": "days", + "WEEK": "день", + "WEEKS": "weeks", + "MONTH": "тиждень", + "MONTHS": "months", + "YEAR": "місяць", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "завтра", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "наступного тижня", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "день", + "DAY": "день" + } +} diff --git a/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json b/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json index 23055b562..7c659d27c 100644 --- a/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/uk/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Пошук команд...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "В цьому обліковому запису не створено жодної команди.", "EDIT_TEAM": "Редагувати команду", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Не вдалося зберегти деталі команди. Повторіть спробу." }, "AGENTS": { - "AGENT": "АГЕНТ", - "EMAIL": "ПОШТА", + "AGENT": "Агент", + "EMAIL": "Email", "BUTTON_TEXT": "Додати агентів", "ADD_AGENTS": "Додавання агентів до команди...", "SELECT": "вибрати", diff --git a/app/javascript/dashboard/i18n/locale/ur/agentBots.json b/app/javascript/dashboard/i18n/locale/ur/agentBots.json index e1cc3800d..e20ab5ba0 100644 --- a/app/javascript/dashboard/i18n/locale/ur/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ur/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "عمل" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ur/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ur/agentMgmt.json index 5826eef95..ed46bf0fa 100644 --- a/app/javascript/dashboard/i18n/locale/ur/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "منتظم", "AGENT": "ایجنٹ" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "اس اکاؤنٹ سے کوئی ایجنٹ منسلک نہیں ہے", "TITLE": "اپنی ٹیم میں ایجنٹوں کا انتظام کریں۔", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "ووٹ سرور کے ساتھ رابطہ ممکن نہی ہوسکا ، براہ کرم کچھ دیر بعد کوشش کریں" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "کوئی نتیجہ نہیں." }, diff --git a/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json index e68feb9a4..bac52b17c 100644 --- a/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ur/automation.json b/app/javascript/dashboard/i18n/locale/ur/automation.json index 0c1f76d5b..de73db65d 100644 --- a/app/javascript/dashboard/i18n/locale/ur/automation.json +++ b/app/javascript/dashboard/i18n/locale/ur/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "نام", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "عمل" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ur/bulkActions.json b/app/javascript/dashboard/i18n/locale/ur/bulkActions.json index 062627b3b..97fcff0f8 100644 --- a/app/javascript/dashboard/i18n/locale/ur/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ur/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "کوئی لیبل نہیں ملے", diff --git a/app/javascript/dashboard/i18n/locale/ur/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ur/cannedMgmt.json index 6fab2bc83..54e02b3ec 100644 --- a/app/javascript/dashboard/i18n/locale/ur/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "محفوظ کردہ جوابات", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "اس اکاؤنٹ میں کوئی محفوظ کردہ جوابات دستیاب نہیں ہیں۔.", diff --git a/app/javascript/dashboard/i18n/locale/ur/chatlist.json b/app/javascript/dashboard/i18n/locale/ur/chatlist.json index d281f2b5b..230e94c09 100644 --- a/app/javascript/dashboard/i18n/locale/ur/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ur/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ur/contact.json b/app/javascript/dashboard/i18n/locale/ur/contact.json index d9dd90452..3cc58afbc 100644 --- a/app/javascript/dashboard/i18n/locale/ur/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "کوئی کانٹیکٹ آپ کی تلاش سے میل نہیں کھاتا 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "کو:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "مضمون :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ur/conversation.json b/app/javascript/dashboard/i18n/locale/ur/conversation.json index b41b1d4b4..f64d50e02 100644 --- a/app/javascript/dashboard/i18n/locale/ur/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ur/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "پیغام کامیابی سے حذف ہو گیا۔", "FAIL_DELETE_MESSSAGE": "پیغام کو حذف نہیں کیا جا سکا! دوبارہ کوشش کریں", "NO_RESPONSE": "کوئی ردعمل نہیں", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "منسوخ کریں۔", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ur/customRole.json b/app/javascript/dashboard/i18n/locale/ur/customRole.json index 8c05b19d9..8bf0184bf 100644 --- a/app/javascript/dashboard/i18n/locale/ur/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ur/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ur/datePicker.json b/app/javascript/dashboard/i18n/locale/ur/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/ur/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ur/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ur/general.json b/app/javascript/dashboard/i18n/locale/ur/general.json index fc2df0662..63638c2f0 100644 --- a/app/javascript/dashboard/i18n/locale/ur/general.json +++ b/app/javascript/dashboard/i18n/locale/ur/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ur/generalSettings.json b/app/javascript/dashboard/i18n/locale/ur/generalSettings.json index c7e3f67f4..cd66cbf13 100644 --- a/app/javascript/dashboard/i18n/locale/ur/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ur/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json index 962efbf1d..40fd85e57 100644 --- a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json index a74d2cefb..db4ab4569 100644 --- a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "منسوخ کریں۔", + "CONFIRM_DELETE": "حذف کریں۔", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/ur/integrationApps.json b/app/javascript/dashboard/i18n/locale/ur/integrationApps.json index 83565e5d1..0bd8cb500 100644 --- a/app/javascript/dashboard/i18n/locale/ur/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ur/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "ان باکس", + "ACTIONS": "عمل", "DELETE": { "BUTTON_TEXT": "حذف کریں۔" } diff --git a/app/javascript/dashboard/i18n/locale/ur/integrations.json b/app/javascript/dashboard/i18n/locale/ur/integrations.json index ba9130a1d..312b2a596 100644 --- a/app/javascript/dashboard/i18n/locale/ur/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "منسوخ کریں۔", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "حذف کریں۔", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "نام", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "عمل" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ur/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ur/labelsMgmt.json index e30dd2a12..835813e74 100644 --- a/app/javascript/dashboard/i18n/locale/ur/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "اس سوال سے مماثل کوئی آئٹمز نہیں ہیں۔", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "نام", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "عمل" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ur/macros.json b/app/javascript/dashboard/i18n/locale/ur/macros.json index 55ced796f..28c8be2ac 100644 --- a/app/javascript/dashboard/i18n/locale/ur/macros.json +++ b/app/javascript/dashboard/i18n/locale/ur/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "نام", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "عمل" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ur/mfa.json b/app/javascript/dashboard/i18n/locale/ur/mfa.json index c50b628aa..6baa463e0 100644 --- a/app/javascript/dashboard/i18n/locale/ur/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ur/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ur/report.json b/app/javascript/dashboard/i18n/locale/ur/report.json index a4c1fb9b3..a19661e1d 100644 --- a/app/javascript/dashboard/i18n/locale/ur/report.json +++ b/app/javascript/dashboard/i18n/locale/ur/report.json @@ -3,7 +3,7 @@ "HEADER": "مکالمات", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "ایجنٹوں کو تلاش کریں۔" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "مکالمات", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "لیبل تلاش کریں۔" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "مکالمات", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "مکالمات", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "ٹیمیں تلاش کریں۔" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "مکالمات", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "ایجنٹوں کو تلاش کریں۔", + "INBOXES": "Search inboxes", + "TEAMS": "ٹیمیں تلاش کریں۔", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "ایجنٹ" + }, + "INBOXES": { + "LABEL": "ان باکس" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "درجہ بندی" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "ایجنٹ", "RATING": "درجہ بندی", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "منسوخ کریں۔", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ur/settings.json b/app/javascript/dashboard/i18n/locale/ur/settings.json index 8f81d94fc..677dd3f20 100644 --- a/app/javascript/dashboard/i18n/locale/ur/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "ڈاؤن لوڈ کریں", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "منسوخ کریں۔" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "منسوخ کریں۔" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ur/signup.json b/app/javascript/dashboard/i18n/locale/ur/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/ur/signup.json +++ b/app/javascript/dashboard/i18n/locale/ur/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ur/sla.json b/app/javascript/dashboard/i18n/locale/ur/sla.json index d0aff30d6..fd6b3ef0d 100644 --- a/app/javascript/dashboard/i18n/locale/ur/sla.json +++ b/app/javascript/dashboard/i18n/locale/ur/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ur/snooze.json b/app/javascript/dashboard/i18n/locale/ur/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ur/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ur/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ur/teamsSettings.json index e152e206e..df4b42faf 100644 --- a/app/javascript/dashboard/i18n/locale/ur/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ur/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "ای میل", + "AGENT": "ایجنٹ", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/agentBots.json b/app/javascript/dashboard/i18n/locale/ur_IN/agentBots.json index d3a0bb991..dc92016ab 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Actions" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/agentMgmt.json index 448994e69..4b66fe864 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Administrator", "AGENT": "Agent" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "There are no agents associated to this account", "TITLE": "Manage agents in your team", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" } }, + "SEARCH_PLACEHOLDER": "Search agents...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "No results found." }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json index 78886f451..e83950b14 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching custom attributes", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Conversation", "CONTACT": "Contact" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/automation.json b/app/javascript/dashboard/i18n/locale/ur_IN/automation.json index 43245a1d5..22a9735f4 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/automation.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/automation.json @@ -3,8 +3,11 @@ "HEADER": "Automation", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Add Automation Rule", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Add Automation Rule", "SUBMIT": "Create", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Name", - "DESCRIPTION": "Description", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "Actions" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Open conversation" + "OPEN_CONVERSATION": "Open conversation", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json b/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json index 0c8d6602c..d736201de 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Conversation status updated successfully.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "No labels found", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/cannedMgmt.json index 3ff246f06..246d3f5b3 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Canned Responses", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "There are no items matching this query.", "LIST": { "404": "There are no canned responses available in this account.", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/chatlist.json b/app/javascript/dashboard/i18n/locale/ur_IN/chatlist.json index 92e67635b..0e8e87a04 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json index 8e9d1dec9..48d45d737 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Subject :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json index 59ad61c1d..7b7e325ab 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Add bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "Sent by:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Cancel", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/customRole.json b/app/javascript/dashboard/i18n/locale/ur_IN/customRole.json index b7b48b5e7..f7c1709bd 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/customRole.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "There are no items matching this query.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/datePicker.json b/app/javascript/dashboard/i18n/locale/ur_IN/datePicker.json index c7ef06880..95d304cc6 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Apply", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "Last 3 months", "LAST_6_MONTHS": "Last 6 months", "LAST_YEAR": "Last year", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Custom date range" } } diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/general.json b/app/javascript/dashboard/i18n/locale/ur_IN/general.json index 283cf79c4..bdc7cb8a4 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/general.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Close", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Yes", + "NO": "No" } } diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/generalSettings.json b/app/javascript/dashboard/i18n/locale/ur_IN/generalSettings.json index d924bffbd..fab8020e2 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "Reports", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json index 0ab8d62ff..69a72f163 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Error while deleting article" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json index 0eee718fe..a90b87d0a 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Inboxes", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Disabled" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Enabled", - "DISABLED": "Disabled" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Enable" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Inbox Settings", "INBOX_UPDATE_SUB_TEXT": "Update your inbox settings", "AUTO_ASSIGNMENT_SUB_TEXT": "Enable or disable the automatic assignment of new conversations to the agents added to this inbox.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "None", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Cancel", + "CONFIRM_DELETE": "Delete", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Reauthorize", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Go back" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "Availability", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "Unavailable", - "HOURS": "hours", "VALIDATION_ERROR": "Starting time should be before closing time.", "CHOOSE": "Choose" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "In a day" }, "WIDGET_COLOR_LABEL": "Widget Color", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Type:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Chat with us", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Chat with us" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Typically replies in a few minutes", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrationApps.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrationApps.json index b91b434f7..828f4ea67 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Enabled", "DISABLED": "Disabled" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "Inbox", + "ACTIONS": "Actions", "DELETE": { "BUTTON_TEXT": "Delete" } diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json index 983953180..a1ce02d11 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Cancel", "DESC": "Webhook events provide you the realtime information about what's happening in your Chatwoot account. Please enter a valid URL to configure a callback.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Delete", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "Name", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Actions" }, "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/labelsMgmt.json index 705b18d0e..96e272e46 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Fetching labels", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Search labels...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "There are no items matching this query", "LIST": { "404": "There are no labels available in this account.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Name", "DESCRIPTION": "Description", - "COLOR": "Color" + "COLOR": "Color", + "ACTION": "Actions" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/macros.json b/app/javascript/dashboard/i18n/locale/ur_IN/macros.json index fcb409f34..e12f0ca73 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/macros.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Name", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "Actions" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/mfa.json b/app/javascript/dashboard/i18n/locale/ur_IN/mfa.json index f7556fdcf..b03917bcd 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/mfa.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/report.json b/app/javascript/dashboard/i18n/locale/ur_IN/report.json index a2ad6bd4a..45c40de58 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/report.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/report.json @@ -3,7 +3,7 @@ "HEADER": "Conversations", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", - "DOWNLOAD_AGENT_REPORTS": "Download agent reports", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Agents Overview", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_AGENT_REPORTS": "Download agent reports", "FILTER_DROPDOWN_LABEL": "Select Agent", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Search labels" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Select Inbox", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Loading chart data...", "NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Search teams" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Conversations", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Add filter", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Search agents", + "INBOXES": "Search inboxes", + "TEAMS": "Search teams", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "Agent" + }, + "INBOXES": { + "LABEL": "Inbox" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Contact", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "Agent", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "Conversation", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Cancel", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json index 6b94a34f1..805ffee46 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Download", "UPLOADING": "Uploading...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Billing", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Resolve conversation", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Resolve conversation", + "CANCEL": "Cancel" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Yes", + "NO": "No" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "New Account", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Cancel" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/signup.json b/app/javascript/dashboard/i18n/locale/ur_IN/signup.json index b0e5f5d27..4a90fd322 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/signup.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Register", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/sla.json b/app/javascript/dashboard/i18n/locale/ur_IN/sla.json index 0da7873be..9ab41fb82 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/sla.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/snooze.json b/app/javascript/dashboard/i18n/locale/ur_IN/snooze.json new file mode 100644 index 000000000..b43db88e2 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/ur_IN/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "hours", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "tomorrow", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "next week", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/teamsSettings.json b/app/javascript/dashboard/i18n/locale/ur_IN/teamsSettings.json index f0a950fd1..f3ce7f167 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Search teams...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "Edit team", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Couldn't save the team details. Try again." }, "AGENTS": { - "AGENT": "AGENT", - "EMAIL": "EMAIL", + "AGENT": "Agent", + "EMAIL": "Email", "BUTTON_TEXT": "Add agents", "ADD_AGENTS": "Adding Agents to your Team...", "SELECT": "select", diff --git a/app/javascript/dashboard/i18n/locale/vi/agentBots.json b/app/javascript/dashboard/i18n/locale/vi/agentBots.json index a001515bf..ca79b51f0 100644 --- a/app/javascript/dashboard/i18n/locale/vi/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/vi/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "Loading editor...", "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "System bot", "GLOBAL_BOT_BADGE": "System", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "Fetching bots...", "TABLE_HEADER": { "DETAILS": "Bot Details", - "URL": "Webhook URL" + "URL": "Webhook URL", + "ACTIONS": "Hành động" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json b/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json index a16af3dd1..903ae793c 100644 --- a/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "Quản trị viên", "AGENT": "Nhà cung cấp" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "Không có tác nhân nào được liên kết với tài khoản này", "TITLE": "Quản lý các đại lý trong nhóm của bạn", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "Không thể kết nối với Máy chủ Woot, Vui lòng thử lại sau" } }, + "SEARCH_PLACEHOLDER": "Tìm kiếm nhân viên...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "Không tìm thấy kết quả." }, diff --git a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json index 8b062941b..edfeb4114 100644 --- a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Đang lấy thuộc tính tuỳ chỉnh", "DESCRIPTION": "A custom attribute tracks additional details about your contacts or conversations—such as the subscription plan or the date of their first purchase. You can add different types of custom attributes, such as text, lists, or numbers, to capture the specific information you need.", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Tìm kiếm nhiều thuộc tính...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "Cuộc hội thoại", "CONTACT": "Liên hệ" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/vi/automation.json b/app/javascript/dashboard/i18n/locale/vi/automation.json index 765ab9ede..29fec4d71 100644 --- a/app/javascript/dashboard/i18n/locale/vi/automation.json +++ b/app/javascript/dashboard/i18n/locale/vi/automation.json @@ -3,8 +3,11 @@ "HEADER": "Tự động hoá", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "Thêm luật Tự động hoá", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Đang lấy luật tự động hoá", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "Thêm Quy tắc Tự động hoá", "SUBMIT": "Tạo", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "Tên", - "DESCRIPTION": "Mô tả", "ACTIVE": "Có hiệu lực", - "CREATED_ON": "Được tạo trên" + "CREATED_ON": "Được tạo trên", + "ACTIONS": "Hành động" }, "404": "Không tìm thấy luật tự động hoá" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "Mở cuộc trò chuyện" + "OPEN_CONVERSATION": "Mở cuộc trò chuyện", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/vi/bulkActions.json b/app/javascript/dashboard/i18n/locale/vi/bulkActions.json index b7c34ab22..03c53ad4f 100644 --- a/app/javascript/dashboard/i18n/locale/vi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/vi/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "Đã cập nhật trạng thái cuộc hội thoại thành công.", "UPDATE_FAILED": "Failed to update conversations. Please try again." }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "Assign labels", "NO_LABELS_FOUND": "Không tìm thấy nhãn", diff --git a/app/javascript/dashboard/i18n/locale/vi/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/vi/cannedMgmt.json index 2aecf39b1..315f9b79f 100644 --- a/app/javascript/dashboard/i18n/locale/vi/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "Thư mẫu phẩn hồi", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "Không có kết quả nào phù hợp.", "LIST": { "404": "Không có câu trả lời soạn trước nào có sẵn trong tài khoản này.", diff --git a/app/javascript/dashboard/i18n/locale/vi/chatlist.json b/app/javascript/dashboard/i18n/locale/vi/chatlist.json index 25e254b14..394fe6089 100644 --- a/app/javascript/dashboard/i18n/locale/vi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/vi/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "Pending Response: Shortest first" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json index b5dc3909c..a863a3903 100644 --- a/app/javascript/dashboard/i18n/locale/vi/contact.json +++ b/app/javascript/dashboard/i18n/locale/vi/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "Không có liên hệ nào khớp với tìm kiếm của bạn 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Gán nhãn", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "Đến:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "Chủ đề :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "Cc:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "Bcc:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "Bcc" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index c28dba1e9..fb375f6d2 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "Tin nhắn được xoá thành công", "FAIL_DELETE_MESSSAGE": "Không thể xoá tin nhắn! Thử lại", "NO_RESPONSE": "Không có phản hồi", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Không thể gán nhãn. Vui lòng thử lại." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Đã gán nhóm \"{team}\" cho hội thoại id {conversationId}", "FAILED": "Không thể gán nhóm. Vui lòng thử lại." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Tắt chữ ký", "MSG_INPUT": "Shift + enter cho dòng mới. Bắt đầu với '/' để chọn Câu trả lời soạn trước.", "PRIVATE_MSG_INPUT": "Shift + enter cho dòng mới. Điều này sẽ chỉ hiển thị cho Đại lý", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Chứ ký cuối tin nhắn chưa được cài đặt, xin hãy cài đặt một chữ ký trong phần cài đặt hồ sơ.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Bấm vào đây để cập nhật", "WHATSAPP_TEMPLATES": "Mẫu Whatsapp" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Kéo thả vào đây để đính kèm", "START_AUDIO_RECORDING": "Bắt đầu ghi âm", "STOP_AUDIO_RECORDING": "Dừng ghi âm", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "Thêm bcc", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "Tệp vượt quá {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB mức hạn chế", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Không thể gửi tin nhắn này, vui lòng thử lại sau", "SENT_BY": "Gửi bởi:", "BOT": "Bot", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Không thể gửi tin nhắn! Thử lại", "TRY_AGAIN": "thử lại", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "Huỷ", "SEND_EMAIL_SUCCESS": "Bản ghi cuộc trò chuyện đã được gửi thành công", "SEND_EMAIL_ERROR": "Có lỗi, xin vui lòng thử lại", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Gửi bảng điểm cho khách hàng", "SEND_TO_AGENT": "Gửi bản ghi cho tổng đài viên được phân công", diff --git a/app/javascript/dashboard/i18n/locale/vi/customRole.json b/app/javascript/dashboard/i18n/locale/vi/customRole.json index 49b51fbbb..8c0adecd1 100644 --- a/app/javascript/dashboard/i18n/locale/vi/customRole.json +++ b/app/javascript/dashboard/i18n/locale/vi/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "Không có kết quả nào phù hợp.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/vi/datePicker.json b/app/javascript/dashboard/i18n/locale/vi/datePicker.json index df325a8ea..7d058f877 100644 --- a/app/javascript/dashboard/i18n/locale/vi/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/vi/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "Áp dụng", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "3 tháng vừa qua", "LAST_6_MONTHS": "6 tháng vừa qua", "LAST_YEAR": "Năm ngoái", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "Phạm vi ngày tùy chỉnh" } } diff --git a/app/javascript/dashboard/i18n/locale/vi/general.json b/app/javascript/dashboard/i18n/locale/vi/general.json index 47c220681..159c26f4c 100644 --- a/app/javascript/dashboard/i18n/locale/vi/general.json +++ b/app/javascript/dashboard/i18n/locale/vi/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "Đóng", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "Có", + "NO": "Không" } } diff --git a/app/javascript/dashboard/i18n/locale/vi/generalSettings.json b/app/javascript/dashboard/i18n/locale/vi/generalSettings.json index 9b87085b0..3edc2d8b2 100644 --- a/app/javascript/dashboard/i18n/locale/vi/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/vi/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Tìm kiếm hoặc nhảy đến", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "Chung", "REPORTS": "Báo cáo", diff --git a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json index c9cf12333..d11cd7f29 100644 --- a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "Lỗi khi xóa bài viết" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "Vui lòng thêm tiêu đề và nội dung bài viết sau đó mới có thể cập nhật cài đặt" }, diff --git a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json index e6c00a4ed..2763f79ed 100644 --- a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "Hộp thư đến", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "Không bật" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "Bật", - "DISABLED": "Không bật" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "Bật" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Bật tiếp tục cuộc trò chuyện qua email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Cuộc trò chuyện sẽ tiếp tục qua email nếu có địa chỉ email liên lạc.", - "LOCK_TO_SINGLE_CONVERSATION": "Khóa cuộc trò chuyện duy nhất", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Bật hoặc tắt nhiều cuộc trò chuyện cho cùng một liên hệ trong hộp thư đến này", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "Cài đặt Hộp thư đến", "INBOX_UPDATE_SUB_TEXT": "Cập nhật cài đặt hộp thư đến của bạn", "AUTO_ASSIGNMENT_SUB_TEXT": "Bật hoặc tắt tính năng tự động gán các cuộc hội thoại mới cho các tác nhân được thêm vào hộp thư đến này.", @@ -758,6 +765,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "Không có", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Xin nhập vào một số lớn hơn 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Giới hạn số cuộc trò chuyện tối đa từ hộp thư này mà có thể được tự động phân công cho một hỗ trợ viên" }, + "ASSIGNMENT": { + "TITLE": "Phân công cuộc trò chuyện", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Có hiệu lực", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "Huỷ", + "CONFIRM_DELETE": "Xoá", + "DELETE_SUCCESS": "Đã xóa chính sách phân công thành công", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "Ủy quyền lại", "SUBTITLE": "Kết nối Facebook của bạn đã hết hạn, vui lòng kết nối lại trang Facebook của bạn để tiếp tục dịch vụ", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "Trở về" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Thông báo không có sẵn cho khách truy cập", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Ngày", + "AVAILABILITY": "Khả dụng", + "HOURS": "Hours", "ENABLE": "Kích hoạt tính khả dụng cho hôm nay", "UNAVAILABLE": "Không có sẵn", - "HOURS": "giờ", "VALIDATION_ERROR": "Giờ bắt đầu nên trước giờ đóng cửa.", "CHOOSE": "Chọn" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "Trong một ngày" }, "WIDGET_COLOR_LABEL": "Màu tiện ích", - "WIDGET_BUBBLE_POSITION_LABEL": "Vị trí bong bóng widget", - "WIDGET_BUBBLE_TYPE_LABEL": "Kiểu bong bóng widget", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "Kiểu:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "Trò chuyện với chúng tôi", - "LABEL": "Tiêu đề trình khởi chạy bong bóng widget", + "LABEL": "Launcher Title", "PLACE_HOLDER": "Trò chuyện với chúng tôi" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Mặc định", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Thường trả lời sau vài phút", diff --git a/app/javascript/dashboard/i18n/locale/vi/integrationApps.json b/app/javascript/dashboard/i18n/locale/vi/integrationApps.json index f4dd0ca96..fede38884 100644 --- a/app/javascript/dashboard/i18n/locale/vi/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/vi/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Đang lấy Tích hợp", "NO_HOOK_CONFIGURED": "Không có tích hợp {integrationId} được cấu hình đối với tài khoản này.", "HEADER": "Ứng dụng", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "Bật", "DISABLED": "Không bật" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Đang lấy hook tích hợp", "INBOX": "Hộp thư đến", + "ACTIONS": "Hành động", "DELETE": { "BUTTON_TEXT": "Xoá" } diff --git a/app/javascript/dashboard/i18n/locale/vi/integrations.json b/app/javascript/dashboard/i18n/locale/vi/integrations.json index 2caf8e3ee..74b55ffef 100644 --- a/app/javascript/dashboard/i18n/locale/vi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/vi/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Những sự kiện được theo dõi", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "Huỷ", "DESC": "Webhook events cung cấp cho bạn thông tin thời gian thực về những gì đang xảy ra trong tài khoản Chatwoot của bạn. Vui lòng nhập một URL hợp lệ để định cấu hình một cuộc gọi lại.", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "Xoá", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Ứng dụng trên bảng điều khiển

Ứng dụng bảng điều khiển cho phép nhúng ứng dụng vào trang bảng điều khiển để cung cấp ngữ cảnh cho các tổng đài viên hỗ trợ khách hàng. Tính năng này cho phép bạn tạo ứng dụng một cách độc lập và nhúng ứng dụng đó vào bên trong trang điều khiển để cung cấp thông tin người dùng, đơn đặt hàng hoặc lịch sử thanh toán trước đó của họ.

Khi bạn nhúng ứng dụng của mình bằng điều khiển, ứng dụng của bạn sẽ lấy bối cảnh của cuộc trò chuyện và liên hệ dưới dạng sự kiện cửa sổ. Triển khai trình nghe cho sự kiện thông báo trên trang của bạn để nhận ngữ cảnh.

Để thêm ứng dụng trang điều khiển mới, hãy nhấp vào nút 'Thêm ứng dụng bảng điều khiển mới'.

", "DESCRIPTION": "Ứng dụng bảng điều khiển cho phép các tổ chức nhúng một ứng dụng bên trong trang điều khiển để cung cấp ngữ cảnh cho các tổng đài viên hỗ trợ khách hàng. Tính năng này cho phép bạn tạo ứng dụng một cách độc lập và nhúng ứng dụng đó để cung cấp thông tin người dùng, đơn đặt hàng hoặc lịch sử thanh toán trước đó của họ.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "Chưa có ứng dụng trang \u001dđiều khiển nào được định cấu hình trên tài khoản này", "LOADING": "Đang tìm nạp ứng dụng bảng điều khiển...", "TABLE_HEADER": { "NAME": "Tên", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "Hành động" }, "EDIT_TOOLTIP": "Sửa app", "DELETE_TOOLTIP": "Xoá app" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/vi/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/vi/labelsMgmt.json index 5252881a5..683d5a141 100644 --- a/app/javascript/dashboard/i18n/locale/vi/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "Tải về các nhãn", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "Tìm nhãn...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "Không có kết quả nào phù hợp", "LIST": { "404": "Không có nhãn nào có sẵn trong tài khoản này.", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "Tên", "DESCRIPTION": "Mô tả", - "COLOR": "Màu sắc" + "COLOR": "Màu sắc", + "ACTION": "Hành động" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/vi/macros.json b/app/javascript/dashboard/i18n/locale/vi/macros.json index 4f582d211..55a77ea23 100644 --- a/app/javascript/dashboard/i18n/locale/vi/macros.json +++ b/app/javascript/dashboard/i18n/locale/vi/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macro sẽ chạy theo thứ tự hành động của bạn. Bạn có thể sắp xếp lại chúng bằng cách kéo chúng bằng tay cầm bên cạnh mỗi nút.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "Tên", "CREATED BY": "Tạo bởi", "LAST_UPDATED_BY": "Cập nhật lần cuối bởi", - "VISIBILITY": "Hiển thị" + "VISIBILITY": "Hiển thị", + "ACTIONS": "Hành động" }, "404": "Không tìm thấy macro" }, diff --git a/app/javascript/dashboard/i18n/locale/vi/mfa.json b/app/javascript/dashboard/i18n/locale/vi/mfa.json index 31e4b8c52..a8aedc53f 100644 --- a/app/javascript/dashboard/i18n/locale/vi/mfa.json +++ b/app/javascript/dashboard/i18n/locale/vi/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/vi/report.json b/app/javascript/dashboard/i18n/locale/vi/report.json index 69b10453e..2db342d1c 100644 --- a/app/javascript/dashboard/i18n/locale/vi/report.json +++ b/app/javascript/dashboard/i18n/locale/vi/report.json @@ -3,7 +3,7 @@ "HEADER": "Các cuộc hội thoại", "LOADING_CHART": "Đang tải các biểu đồ dữ liệu...", "NO_ENOUGH_DATA": "Chúng tôi không nhận được đủ điểm dữ liệu để tạo báo cáo, Vui lòng thử lại sau.", - "DOWNLOAD_AGENT_REPORTS": "Tải xuống báo cáo tổng đài viên", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "Tổng quan đại lý", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "Đang tải các biểu đồ dữ liệu...", "NO_ENOUGH_DATA": "Chúng tôi không nhận được đủ điểm dữ liệu để tạo báo cáo, Vui lòng thử lại sau.", "DOWNLOAD_AGENT_REPORTS": "Tải xuống báo cáo đại lý", "FILTER_DROPDOWN_LABEL": "Chọn đại lý", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "Tìm kiếm nhân viên" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Các cuộc hội thoại", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "Chúng tôi không nhận được đủ điểm dữ liệu để tạo báo cáo, Vui lòng thử lại sau.", "DOWNLOAD_LABEL_REPORTS": "Tải xuống báo cáo nhãn", "FILTER_DROPDOWN_LABEL": "Chọn Nhãn", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "Tìm nhãn" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Các cuộc hội thoại", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "Chọn Hộp thư đến", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Các cuộc hội thoại", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Tổng quan nhóm", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "Đang tải các biểu đồ dữ liệu...", "NO_ENOUGH_DATA": "Chúng tôi không nhận được đủ điểm dữ liệu để tạo báo cáo, Vui lòng thử lại sau.", "DOWNLOAD_TEAM_REPORTS": "Tải xuống báo cáo nhóm", "FILTER_DROPDOWN_LABEL": "Chọn nhóm", + "FILTERS": { + "ADD_FILTER": "Thêm bộ lọc", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "Tìm kiếm nhóm" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "Các cuộc hội thoại", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "Báo cáo CSAT", - "NO_RECORDS": "Không có phản hồi báo cáo CSAT có sẵn.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Tải về các báo cáo CSAT", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "Thêm bộ lọc", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "Tìm kiếm nhân viên", + "INBOXES": "Search inboxes", + "TEAMS": "Tìm kiếm nhóm", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Chọn tổng đài viên" + "LABEL": "Nhà cung cấp" + }, + "INBOXES": { + "LABEL": "Hộp thư đến" + }, + "TEAMS": { + "LABEL": "Nhóm" + }, + "RATINGS": { + "LABEL": "Đánh giá" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "Liên hệ", - "AGENT_NAME": "Đại lý được phân công", + "AGENT_NAME": "Nhà cung cấp", "RATING": "Đánh giá", - "FEEDBACK_TEXT": "Bình luận phản hồi" - } + "FEEDBACK_TEXT": "Bình luận phản hồi", + "CONVERSATION": "Cuộc hội thoại", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Tổng số phản hồi", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Tỷ lệ phản hồi", "TOOLTIP": "Tổng số phản hồi / Tổng số tin nhắn khảo sát CSAT đã gửi * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "Huỷ", + "SAVING": "Đang lưu...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json index b80603de7..964ce4642 100644 --- a/app/javascript/dashboard/i18n/locale/vi/settings.json +++ b/app/javascript/dashboard/i18n/locale/vi/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "Tải xuống", "UPLOADING": "Đang tải lên...", - "INSTAGRAM_STORY_UNAVAILABLE": "Hội thoại này không còn nữa." + "INSTAGRAM_STORY_UNAVAILABLE": "Hội thoại này không còn nữa.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "Xem trên bản đồ" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Đọc tài liệu", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Các tính năng", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "Phí", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Tìm kiếm nhiều thuộc tính" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "Giải quyết hội thoại", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "Giải quyết hội thoại", + "CANCEL": "Huỷ" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "Có", + "NO": "Không" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Ồ ồ! Chúng tôi không thể tìm thấy bất kỳ tài khoản Chatwoot nào. Vui lòng tạo một tài khoản mới để tiếp tục.", "NEW_ACCOUNT": "Tạo mới tài khoản", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "Huỷ" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/vi/signup.json b/app/javascript/dashboard/i18n/locale/vi/signup.json index 88739fc4f..1938b8170 100644 --- a/app/javascript/dashboard/i18n/locale/vi/signup.json +++ b/app/javascript/dashboard/i18n/locale/vi/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "Đăng kí", "TESTIMONIAL_HEADER": "Tất cả chỉ cần một bước để tiến về phía trước", "TESTIMONIAL_CONTENT": "Bạn chỉ còn một bước nữa là có thể thu hút khách hàng của mình, giữ chân họ và tìm kiếm những khách hàng mới.", diff --git a/app/javascript/dashboard/i18n/locale/vi/sla.json b/app/javascript/dashboard/i18n/locale/vi/sla.json index 7f9f58716..594d189fd 100644 --- a/app/javascript/dashboard/i18n/locale/vi/sla.json +++ b/app/javascript/dashboard/i18n/locale/vi/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/vi/snooze.json b/app/javascript/dashboard/i18n/locale/vi/snooze.json new file mode 100644 index 000000000..fcbc446c7 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/vi/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "giờ", + "DAY": "ngày", + "DAYS": "days", + "WEEK": "ngày", + "WEEKS": "weeks", + "MONTH": "tuần", + "MONTHS": "months", + "YEAR": "tháng", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "ngày mai", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "tuần sau", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "của", + "AFTER": "after", + "WEEK": "ngày", + "DAY": "ngày" + } +} diff --git a/app/javascript/dashboard/i18n/locale/vi/teamsSettings.json b/app/javascript/dashboard/i18n/locale/vi/teamsSettings.json index 19e068049..84e1c066c 100644 --- a/app/javascript/dashboard/i18n/locale/vi/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/vi/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "Tìm kiếm nhóm...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "Không có nhóm nào được tạo đối với tài khoản này.", "EDIT_TEAM": "Sửa nhóm", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "Không thể lưu chi tiết nhóm. Thử lại." }, "AGENTS": { - "AGENT": "ĐẠI LÝ", - "EMAIL": "EMAIL", + "AGENT": "Nhà cung cấp", + "EMAIL": "Email", "BUTTON_TEXT": "Thêm các nhà cung cấp", "ADD_AGENTS": "Thêm đại lý vào nhóm của bạn...", "SELECT": "chọn", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/agentBots.json b/app/javascript/dashboard/i18n/locale/zh_CN/agentBots.json index 3254d3098..dc2ef8265 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "正在加载编辑器...", "DESCRIPTION": "客服机器人就像您团队中最出色的成员。它们可以处理琐事,让您专注于重要的事情。试试看吧。您可以在此页面管理您的机器人,或使用“配置新机器人”按钮创建新的机器人。", "LEARN_MORE": "了解客服机器人", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "系统级机器人", "GLOBAL_BOT_BADGE": "系统", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "正在获取机器人...", "TABLE_HEADER": { "DETAILS": "机器人详情", - "URL": "Webhook 网址" + "URL": "Webhook 网址", + "ACTIONS": "操作" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json index 47552c9be..bc1e290ee 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "管理员", "AGENT": "客服" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "此账号没有关联客服", "TITLE": "管理您团队中的客服", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "无法连接Woot服务器,请稍后再试" } }, + "SEARCH_PLACEHOLDER": "搜索客服代表...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "未找到任何结果。" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json index d286e706e..a528ad09f 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "正在获取自定义属性", "DESCRIPTION": "自定义属性可跟踪有关您的联系人或对话的其他详细信息——例如订阅计划或首次购买日期。您可以添加不同类型的自定义属性,如文本、列表或数字,以捕获您需要的特定信息。", "LEARN_MORE": "自定义属性说明", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "搜索属性...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "会话", "CONTACT": "联系人" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "启用正则表达式验证" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/automation.json b/app/javascript/dashboard/i18n/locale/zh_CN/automation.json index 182e598a0..4671bd09e 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/automation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/automation.json @@ -3,8 +3,11 @@ "HEADER": "自动化", "DESCRIPTION": "自动化可以取代和简化人工的现有程序,例如添加标签和将对话分配给最合适的代理人。 这使小组能够集中精力完成其实力,同时减少用于日常任务的时间。", "LEARN_MORE": "了解更多关于审计日志的信息", - "HEADER_BTN_TXT": "添加自动化规则", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "正在获取自动化规则", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "添加自动化规则", "SUBMIT": "创建", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "姓名:", - "DESCRIPTION": "描述信息", "ACTIVE": "状态", - "CREATED_ON": "创建时间" + "CREATED_ON": "创建时间", + "ACTIONS": "操作" }, "404": "未找到自动化规则" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "添加私密注释", "CHANGE_PRIORITY": "更改优先级", "ADD_SLA": "添加SLA", - "OPEN_CONVERSATION": "打开对话" + "OPEN_CONVERSATION": "打开对话", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json b/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json index 6d0673e6d..408d71776 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json @@ -22,6 +22,10 @@ "UPDATE_SUCCESFUL": "对话状态更新成功。", "UPDATE_FAILED": "更新对话失败。请再试一次。" }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" + }, "LABELS": { "ASSIGN_LABELS": "分配标签", "NO_LABELS_FOUND": "未找到标签", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/cannedMgmt.json index 9bbe92a0a..a9938b6f8 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "预设回复", "LEARN_MORE": "了解更多关于预设回复的内容", "DESCRIPTION": "预设回复是预先写好的回复模板,可以帮助您在对话中快速响应。客服人员可以在对话中输入“/”字符,然后输入简码来插入预设回复。 ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "新增预设回复", "LOADING": "正在检索预定义回复...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "没有任何项目符合此查询.", "LIST": { "404": "此帐户中没有预设的回复。", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json b/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json index 92d976a12..3e63b4ffa 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "等待响应:最短在前" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/companies.json b/app/javascript/dashboard/i18n/locale/zh_CN/companies.json index 036952ae4..7fed256ac 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/companies.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/companies.json @@ -1,13 +1,13 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "公司", "SORT_BY": { "LABEL": "排序方式", "OPTIONS": { "NAME": "姓名:", "DOMAIN": "域名", "CREATED_AT": "创建于", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "联系人数" } }, "ORDER": { @@ -17,17 +17,17 @@ "DESCENDING": "降序" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "搜索公司...", + "LOADING": "正在加载公司...", + "UNNAMED": "未命名的公司", + "CONTACTS_COUNT": "", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "没有找到公司" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "显示第 {startItem} - {endItem} 项,共 {totalItems} 项" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json index d7fcae677..35120983b 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json @@ -18,7 +18,7 @@ "CREATED_AT_LABEL": "创建时间", "NEW_MESSAGE": "新消息", "CALL": "呼叫", - "CALL_INITIATED": "Calling the contact…", + "CALL_INITIATED": "正在接通…", "CALL_FAILED": "Unable to start the call. Please try again.", "VOICE_INBOX_PICKER": { "TITLE": "选择一个语音收件箱" @@ -457,8 +457,11 @@ "INSTAGRAM": { "PLACEHOLDER": "添加 Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { - "PLACEHOLDER": "Add TikTok" + "PLACEHOLDER": "添加TikTok" }, "LINKEDIN": { "PLACEHOLDER": "添加 LinkedIn" @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "没有搜索到联系人🔍", "LIST_EMPTY_STATE_TITLE": "此视图中没有可用的联系人📋", "ACTIVE_EMPTY_STATE_TITLE": "目前没有联系人在线 🌙" - } + }, + "LOAD_MORE": "加载更多" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "分配标签", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "没有可用的收件箱来开始与此联系人的对话。", "CONTACT_SELECTOR": { "LABEL": "发送至:", - "TAG_INPUT_PLACEHOLDER": "通过姓名、电子邮件或电话号码搜索联系人", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "正在创建联系人……" }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "主题 :", "SUBJECT_PLACEHOLDER": "在此处输入电子邮件主题", "CC_LABEL": "抄送:", - "CC_PLACEHOLDER": "通过电子邮件地址搜索联系人", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "密送:", - "BCC_PLACEHOLDER": "通过电子邮件地址搜索联系人", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "密送" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json index 7ff51e4d5..9f4e80843 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "不支持此消息。您可以在 Facebook Messenger 应用上查看此消息。", "UNSUPPORTED_MESSAGE_FACEBOOK": "不支持此消息。您可以在 Facebook Messenger 应用上查看此消息。", "UNSUPPORTED_MESSAGE_INSTAGRAM": "不支持此消息。您可以在 Instagram 应用上查看此消息。", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "已成功删除消息", "FAIL_DELETE_MESSSAGE": "无法删除消息,请重试!", "NO_RESPONSE": "无响应", @@ -173,6 +174,10 @@ "SUCCESFUL": "已为对话 Id {conversationId} 分配标签 #{labelName}", "FAILED": "无法分配标签。请再试。" }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "将团队 \"{team}\" 分配给对话 ID {conversationId}", "FAILED": "无法分配团队。请重试。" @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "禁用签名", "MSG_INPUT": "输入“/”开始选择快捷回复", "PRIVATE_MSG_INPUT": "Shift + 输入新行。这只对客服可见", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "未设置消息签名,请在个人资料中进行设置。", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "点击此处更新", "WHATSAPP_TEMPLATES": "Whatsapp 模板列表" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "拖放到此处添加附件", "START_AUDIO_RECORDING": "开始录音", "STOP_AUDIO_RECORDING": "停止录音", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "发给", "ADD_BCC": "添加密送", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "对话成功删除", "FAIL_DELETE_CONVERSATION": "无法删除对话!请重试", "FILE_SIZE_LIMIT": "文件超过了 {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB 的附件限制", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "无法发送此消息,请稍后再试", "SENT_BY": "发送人:", "BOT": "机器人", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "无法发送消息,请重试!", "TRY_AGAIN": "重试", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "取消操作", "SEND_EMAIL_SUCCESS": "对话记录已成功发送", "SEND_EMAIL_ERROR": "出错了,请重试", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "发送对话记录给客户", "SEND_TO_AGENT": "发送对话记录给指定的代理", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/customRole.json b/app/javascript/dashboard/i18n/locale/zh_CN/customRole.json index e6a58d737..ceb0900a3 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/customRole.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/customRole.json @@ -3,8 +3,11 @@ "HEADER": "自定义角色", "LEARN_MORE": "了解更多关于自定义角色的信息", "DESCRIPTION": "自定义角色是由账户所有者或管理员创建的角色。这些角色可以分配给客服人员,以定义他们在账户中的访问权限和权限。自定义角色可以根据组织的需求创建特定的权限和访问级别。", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "添加自定义角色", "LOADING": "正在获取自定义角色……", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "没有任何项目符合此查询。", "PAYWALL": { "TITLE": "升级以创建自定义角色", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/datePicker.json b/app/javascript/dashboard/i18n/locale/zh_CN/datePicker.json index 5372771b1..37fc6f80b 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "上一个周期", + "NEXT_PERIOD": "下一个周期", + "WEEK_NUMBER": "周#{weekNumber}", "APPLY_BUTTON": "应用", "CLEAR_BUTTON": "清除", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "最近3个月", "LAST_6_MONTHS": "最近6个月", "LAST_YEAR": "最近一年", + "THIS_WEEK": "本周", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "自定义日期范围" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/general.json b/app/javascript/dashboard/i18n/locale/zh_CN/general.json index 4698ee319..7872f02e5 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/general.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "关闭", "BETA": "测试版", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "确认", + "DISCARD": "丢弃", + "PREFERRED": "首选" + }, + "CHOICE_TOGGLE": { + "YES": "是", + "NO": "否" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json b/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json index 3181e1d0b..5257a24cd 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "搜索或跳转到", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "一般", "REPORTS": "报告", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json index 2b9dcb49f..f0921232e 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json @@ -374,6 +374,16 @@ "ERROR_MESSAGE": "删除文章时出错" } }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." + } + }, "CREATE_ARTICLE": { "ERROR_MESSAGE": "请添加文章标题和内容,然后才能更新设置" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json index 33f77a004..466014044 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "收件箱", "DESCRIPTION": "频道是客户选择与您互动的方式。收件箱则是您用来管理特定频道互动的地方,它可以整合来自不同来源的通信,比如电子邮件、即时聊天和社交媒体等。", "LEARN_MORE": "了解更多关于收件箱的信息", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "您的收件箱已断开连接。在您重新授权之前,您不会收到新消息。", "CLICK_TO_RECONNECT": "点击此处重新连接。", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "仅在电子邮件标题中使用配置的业务名称作为发件人姓名。" }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ 配置您的业务名称", + "BUTTON_TEXT": "配置您的业务名称", "PLACEHOLDER": "输入您的业务名称", "SAVE_BUTTON_TEXT": "保存" } @@ -589,8 +592,10 @@ "DISABLED": "已禁用" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "已启用", - "DISABLED": "已禁用" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "启用" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "客户满意度" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -708,8 +715,8 @@ "SENDER_NAME_SECTION_TEXT": "启用/禁用在电子邮件中显示代理名称,如果禁用,将显示业务名称", "ENABLE_CONTINUITY_VIA_EMAIL": "通过电子邮件启用对话连续性", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "如果有联系人的电子邮件地址,对话将会继续在电子邮件中进行。", - "LOCK_TO_SINGLE_CONVERSATION": "锁定到单一对话", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "在此收件箱中启用或禁用同一联系人的多个对话", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "收件箱设置", "INBOX_UPDATE_SUB_TEXT": "更新收件箱设置", "AUTO_ASSIGNMENT_SUB_TEXT": "启用或禁用添加到此收件箱的代理人自动分配新的会话。", @@ -758,6 +765,7 @@ "LABEL": "帮助中心", "PLACEHOLDER": "选择帮助中心", "SELECT_PLACEHOLDER": "选择帮助中心", + "NONE": "啥都没有", "REMOVE": "移除帮助中心", "SUB_TEXT": "将帮助中心附加到收件箱" }, @@ -766,6 +774,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "请输入一个大于0的值", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "限制从此收件箱自动分配给代理的对话的最大数量" }, + "ASSIGNMENT": { + "TITLE": "对话分配", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "状态", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "取消", + "CONFIRM_DELETE": "删除", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "重新授权", "SUBTITLE": "您的Facebook连接已过期,请重新连接您的Facebook页面以继续服务", @@ -837,6 +892,20 @@ "CONFIRM": "Create new template", "CANCEL": "返回" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "问卷规则", "DESCRIPTION_PREFIX": "发送此问卷如果对话", @@ -848,7 +917,7 @@ "SELECT_PLACEHOLDER": "选择标签" }, "NOTE": "注:每次对话只发送一次 CSAT 问卷", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT 设置更新成功", "ERROR_MESSAGE": "我们无法更新 CSAT 设置。请稍后再试。" @@ -864,9 +933,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "对访客的不可用消息", "TOGGLE_HELP": "启用业务可用性将在实时聊天小部件上显示可用时间,即使所有代理都离线。在可用时间之外,访客将收到一条消息和预聊天表单的警告。", "DAY": { + "DAY": "日", + "AVAILABILITY": "有效的", + "HOURS": "小时", "ENABLE": "为此天启用可用性", "UNAVAILABLE": "不可用", - "HOURS": "小时", "VALIDATION_ERROR": "起始时间应在结束时间之前。", "CHOOSE": "选择" }, @@ -973,11 +1044,12 @@ "IN_A_DAY": "通常在一天之内回复您" }, "WIDGET_COLOR_LABEL": "窗口小部件颜色", - "WIDGET_BUBBLE_POSITION_LABEL": "小部件气泡位置", - "WIDGET_BUBBLE_TYPE_LABEL": "小部件气泡类型", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "类型:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "联系我们", - "LABEL": "小部件气泡启动器标题", + "LABEL": "Launcher Title", "PLACE_HOLDER": "联系我们" }, "UPDATE": { @@ -1002,7 +1074,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "默认", - "CHAT": "聊天" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "通常在几分钟内回复您", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrationApps.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrationApps.json index 6ef282f36..2b9d953bf 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "正在获取集成", "NO_HOOK_CONFIGURED": "此账户中未配置任何 {integrationId} 集成。", "HEADER": "应用程序", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "搜索……", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "已启用", "DISABLED": "已禁用" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "正在获取集成", "INBOX": "收件箱", + "ACTIONS": "操作", "DELETE": { "BUTTON_TEXT": "删除" } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index ca4a76367..ce4634f0c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot 集成了多种工具和服务,以提高团队效率。浏览以下列表以配置您喜欢的应用程序。", "LEARN_MORE": "了解更多关于集成的信息", "LOADING": "正在获取集成", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "您的账户未启用 Captain。", "CLICK_HERE_TO_CONFIGURE": "点击此处配置", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "订阅事件", "LEARN_MORE": "了解更多关于 Webhooks 的信息", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "取消", "DESC": "Webhook 事件为您提供了有关 Chatwoot 账户中发生的事情的实时信息。请输入一个有效的 URL 来配置回调。", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "删除", "DELETE_CONFIRMATION": { "TITLE": "删除集成", @@ -145,7 +160,29 @@ "EXPAND": "扩展", "MAKE_FRIENDLY": "将消息语气改为友好", "MAKE_FORMAL": "使用正式语气", - "SIMPLIFY": "简化" + "SIMPLIFY": "简化", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "专业", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "友好" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "草稿内容", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

仪表板应用

仪表板应用允许组织将应用程序嵌入 Chatwoot 仪表板中,以便为客服人员提供上下文信息。此功能允许您独立创建应用程序并将其嵌入仪表板中,以提供用户信息、他们的订单或以前的付款历史记录。

当您使用 Chatwoot 仪表板嵌入应用程序时,您的应用程序将作为窗口事件获取对话和联系人的上下文信息。在您的页面上实现消息事件的监听器以接收上下文信息。

要添加新的仪表板应用,请点击“添加新的仪表板应用”按钮。

", "DESCRIPTION": "仪表板应用允许组织将应用程序嵌入仪表板中,以便为客服人员提供上下文信息。此功能允许您独立创建应用程序并将其嵌入仪表板中,以提供用户信息、他们的订单或以前的付款历史记录。", "LEARN_MORE": "了解更多关于仪表板应用的信息", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "此账户尚未配置任何仪表板应用", "LOADING": "正在获取仪表板应用...", "TABLE_HEADER": { "NAME": "姓名", - "ENDPOINT": "端点" + "ENDPOINT": "端点", + "ACTIONS": "操作" }, "EDIT_TOOLTIP": "编辑应用", "DELETE_TOOLTIP": "删除应用" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "创建/链接 Linear 问题", "LOADING": "正在获取 Linear 问题...", "LOADING_ERROR": "获取 Linear 问题时出错,请重试", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "您可以随时更改或取消您的计划" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "升级您的计划以获取我们的助手、副驾驶等功能。", "ASK_ADMIN": "请联系您的管理员进行升级。" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/labelsMgmt.json index 5732d4a11..529530b93 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "正在获取标签", "DESCRIPTION": "标签帮助您对对话和潜在客户进行分类和优先排序。您可以使用侧边栏将标签分配给对话或联系人。", "LEARN_MORE": "了解更多关于标签的信息", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "搜索标签...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "没有任何项目符合此查询", "LIST": { "404": "此帐户中没有可用的标签。", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "名称", "DESCRIPTION": "描述信息", - "COLOR": "颜色" + "COLOR": "颜色", + "ACTION": "操作" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/macros.json b/app/javascript/dashboard/i18n/locale/zh_CN/macros.json index 9c7e0d8ec..703cf177f 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/macros.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/macros.json @@ -3,9 +3,12 @@ "HEADER": "宏", "DESCRIPTION": "宏是一组预设操作,帮助客服人员快速完成任务。客服人员可以定义诸如标记对话、发送邮件记录、更新自定义属性等操作,并一键执行。", "LEARN_MORE": "了解更多关于宏的信息", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "添加一个新宏文件", "HEADER_BTN_TXT_SAVE": "保存宏文件", "LOADING": "获取宏中", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "出错了。请重试", "ORDER_INFO": "宏将按照您添加操作的顺序运行。您可以通过拖动每个节点旁边的手柄来重新排列它们。", "ADD": { @@ -29,7 +32,8 @@ "NAME": "姓名:", "CREATED BY": "创建者", "LAST_UPDATED_BY": "最后更新者", - "VISIBILITY": "可视性" + "VISIBILITY": "可视性", + "ACTIONS": "操作" }, "404": "未找到宏" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/mfa.json b/app/javascript/dashboard/i18n/locale/zh_CN/mfa.json index 3a76a9a9e..444e233bb 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/mfa.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "两步验证", - "SUBTITLE": "使用TOTP身份验证来保护您的帐户", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "使用基于时间的一次性密码(TOTP)为您的帐户添加额外的一层安全保护", "STATUS_TITLE": "验证状态", "STATUS_DESCRIPTION": "管理您的二步验证设置和备份码", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/report.json b/app/javascript/dashboard/i18n/locale/zh_CN/report.json index 57c9ef3af..0d5592e44 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/report.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/report.json @@ -3,7 +3,7 @@ "HEADER": "会话", "LOADING_CHART": "正在载入图表数据...", "NO_ENOUGH_DATA": "我们没有收到足够的数据点来生成报告,请稍后再试。", - "DOWNLOAD_AGENT_REPORTS": "下载客服报表", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "数据获取失败,请稍后再试。", "SUMMARY_FETCHING_FAILED": "摘要获取失败,请稍后再试。", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "客服概览", - "DESCRIPTION": "通过关键指标如会话数量、响应时间、解决时间和已解决案例数,轻松跟踪客服人员的表现。点击客服人员姓名了解更多信息。", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "正在载入图表数据...", "NO_ENOUGH_DATA": "我们没有收到足够的数据点来生成报告,请稍后再试。", "DOWNLOAD_AGENT_REPORTS": "下载客服报表", "FILTER_DROPDOWN_LABEL": "选择客服", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "搜索客服代表" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会话", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "我们没有收到足够的数据点来生成报告,请稍后再试。", "DOWNLOAD_LABEL_REPORTS": "下载标签报表", "FILTER_DROPDOWN_LABEL": "选择标签", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "搜索标签" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会话", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "选择收件箱", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会话", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "团队概览", - "DESCRIPTION": "通过关键指标(如会话、响应时间、解决时间和已解决案例)快速了解团队表现。点击团队名称以了解更多详细信息。", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "正在载入图表数据...", "NO_ENOUGH_DATA": "我们没有收到足够的数据点来生成报告,请稍后再试。", "DOWNLOAD_TEAM_REPORTS": "下载团队报表", "FILTER_DROPDOWN_LABEL": "选择团队", + "FILTERS": { + "ADD_FILTER": "添加过滤器", + "CLEAR_ALL": "清除全部", + "NO_FILTER": "没有可用的过滤器", + "INPUT_PLACEHOLDER": { + "TEAMS": "查找团队" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "会话", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT 报告", - "NO_RECORDS": "没有可用的 CSAT 调查回复。", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "下载 CSAT 报告", "DOWNLOAD_FAILED": "下载 CSAT 报告失败", "FILTERS": { + "ADD_FILTER": "添加过滤器", + "CLEAR_ALL": "清除全部", + "NO_FILTER": "没有可用的过滤器", + "INPUT_PLACEHOLDER": { + "AGENTS": "搜索客服代表", + "INBOXES": "Search inboxes", + "TEAMS": "查找团队", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "选择客服" + "LABEL": "客服" + }, + "INBOXES": { + "LABEL": "收件箱" + }, + "TEAMS": { + "LABEL": "团队" + }, + "RATINGS": { + "LABEL": "评分" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "联系人", - "AGENT_NAME": "分配的客服", + "AGENT_NAME": "客服", "RATING": "评分", - "FEEDBACK_TEXT": "反馈评论" - } + "FEEDBACK_TEXT": "反馈评论", + "CONVERSATION": "会话", + "CUSTOMER": "Customer", + "RESPONSE": "回复", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "总回复数", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "回复率", "TOOLTIP": "总回复数 / 发送的 CSAT 调查消息总数 * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "保存", + "CANCEL": "取消", + "SAVING": "保存中...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "立即升级", + "CANCEL_ANYTIME": "您可以随时更改或取消您的计划" } } }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/search.json b/app/javascript/dashboard/i18n/locale/zh_CN/search.json index a1a8d090f..6a46957cd 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/search.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/search.json @@ -1,7 +1,7 @@ { "SEARCH": { "TABS": { - "ALL": "All results", + "ALL": "所有结果", "CONTACTS": "联系人", "CONVERSATIONS": "会话", "MESSAGES": "消息", @@ -21,48 +21,48 @@ "EMPTY_STATE_FULL": "未找到与查询 '{query}' 相关的结果", "PLACEHOLDER_KEYBINDING": "/聚焦搜索框", "INPUT_PLACEHOLDER": "输入 3 个或更多字符以进行搜索", - "RECENT_SEARCHES": "Recent searches", + "RECENT_SEARCHES": "最近搜索", "CLEAR_ALL": "清除全部", - "MOST_RECENT": "Most recent", + "MOST_RECENT": "最近的", "EMPTY_STATE_DEFAULT": "通过会话 Id、电子邮件、电话号码、消息等进行搜索以获得更好的搜索结果。 ", "BOT_LABEL": "机器人", "READ_MORE": "查看更多", - "READ_LESS": "Read less", + "READ_LESS": "阅读较低", "WROTE": "写道:", "FROM": "来自", "EMAIL": "Email", "EMAIL_SUBJECT": "主题", - "PRIVATE": "Private note", - "TRANSCRIPT": "Transcript", + "PRIVATE": "私人笔记", + "TRANSCRIPT": "文本", "CREATED_AT": "创建于 {time}", - "UPDATED_AT": "updated {time}", + "UPDATED_AT": "更新于{time}", "SORT_BY": { - "RELEVANCE": "Relevance" + "RELEVANCE": "相关性" }, "DATE_RANGE": { "LAST_7_DAYS": "最近7天", "LAST_30_DAYS": "最近30天", "LAST_60_DAYS": "最近60天", "LAST_90_DAYS": "最近90天", - "CUSTOM_RANGE": "Custom range:", - "CREATED_BETWEEN": "Created between", + "CUSTOM_RANGE": "自定义范围:", + "CREATED_BETWEEN": "创建时间之间", "AND": "和", "APPLY": "应用", - "BEFORE_DATE": "Before {date}", - "AFTER_DATE": "After {date}", - "TIME_RANGE": "Filter by time", + "BEFORE_DATE": "在{date}之前", + "AFTER_DATE": "在{data}之后", + "TIME_RANGE": "按时间筛选", "CLEAR_FILTER": "清除筛选条件" }, "FILTERS": { - "FILTER_MESSAGE": "Filter messages by:", - "FROM": "Sender", + "FILTER_MESSAGE": "筛选消息:", + "FROM": "发件人", "IN": "收件箱", "AGENTS": "客服", "CONTACTS": "联系人", "INBOXES": "收件箱", "NO_AGENTS": "未找到客服代表", - "NO_CONTACTS": "Start by searching to see results", - "NO_INBOXES": "No inboxes found" + "NO_CONTACTS": "先搜索以查看结果", + "NO_INBOXES": "未找到收件箱" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json index c9cace442..1ba9a5662 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "下载", "UPLOADING": "上传中...", - "INSTAGRAM_STORY_UNAVAILABLE": "本信息不存在" + "INSTAGRAM_STORY_UNAVAILABLE": "本信息不存在", + "INSTAGRAM_STORY_REPLY": "回复您的故事:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "在地图上查看" @@ -307,7 +308,7 @@ "SETTINGS": "设置", "CONTACTS": "联系人", "ACTIVE": "状态", - "COMPANIES": "Companies", + "COMPANIES": "公司", "ALL_COMPANIES": "All Companies", "CAPTAIN": "Captain", "CAPTAIN_ASSISTANTS": "助手", @@ -378,7 +379,57 @@ "INFO_SHORT": "当您不使用应用程序时自动标记离线。" }, "DOCS": "阅读文档", - "SECURITY": "安全" + "SECURITY": "安全", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "助手", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "特性", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "计费方式", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "搜索属性" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "解决会话", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "解决会话", + "CANCEL": "取消" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "是", + "NO": "否" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "立即升级", + "CANCEL_ANYTIME": "您可以随时更改或取消您的计划" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "请联系您的管理员进行升级。" + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "哦,糟糕!我们找不到任何 Chatwoot 账户。请创建一个新账户以继续。", "NEW_ACCOUNT": "新账户", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "取消" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/signup.json b/app/javascript/dashboard/i18n/locale/zh_CN/signup.json index f379660c1..3e560b230 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/signup.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "创建新账户", + "GET_STARTED": "开始使用Chatwoot", "TITLE": "注册", "TESTIMONIAL_HEADER": "只差最后一步就可以了", "TESTIMONIAL_CONTENT": "您离吸引客户、留住客户和寻找新客户仅一步之遥。", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/sla.json b/app/javascript/dashboard/i18n/locale/zh_CN/sla.json index c1855cae3..e0a06d4f0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/sla.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "创建一个新的服务协议", "DESCRIPTION": "服务级别协议(SLA)是定义团队与客户之间明确期望的合同。它们为响应和解决时间设定了标准,创建了一个责任框架,并确保了一致的高质量体验。", "LEARN_MORE": "了解更多关于SLA的信息", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "正在获取SLA", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "升级以创建SLA", "AVAILABLE_ON": "SLA功能仅在商业和企业计划中可用。", @@ -20,14 +25,18 @@ }, "LIST": { "404": "此账户中没有可用的SLA。", + "TABLE_HEADER": { + "SLA": "SLA", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "企业 P1", "DESC_1": "由企业客户提出的需要立即关注的问题。", "TITLE_2": "企业P1", "DESC_2": "由企业客户提出的需要快速确认的问题。" }, - "BUSINESS_HOURS_ON": "工作时间开启", - "BUSINESS_HOURS_OFF": "工作时间关闭", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "首次响应时间阈值", "NRT": "下次响应时间阈值", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/snooze.json b/app/javascript/dashboard/i18n/locale/zh_CN/snooze.json new file mode 100644 index 000000000..d209f6229 --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/zh_CN/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "分钟", + "HOUR": "hour", + "HOURS": "小时", + "DAY": "天", + "DAYS": "天", + "WEEK": "周", + "WEEKS": "weeks", + "MONTH": "月", + "MONTHS": "months", + "YEAR": "年", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "明天", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "下周", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "的", + "AFTER": "after", + "WEEK": "周", + "DAY": "天" + } +} diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/teamsSettings.json b/app/javascript/dashboard/i18n/locale/zh_CN/teamsSettings.json index 44e2a3d37..47283b2da 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "正在获取团队", "DESCRIPTION": "团队允许您根据自己的责任将代理人分组。代理可以属于多个团队。 当协作时,您可以将对话分配给特定的团队。", "LEARN_MORE": "了解更多关于团队的信息", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "查找团队...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "此帐户尚未添加团队。", "EDIT_TEAM": "编辑团队", @@ -64,8 +67,8 @@ "ERROR_MESSAGE": "无法保存团队详细信息,请重试。" }, "AGENTS": { - "AGENT": "代理", - "EMAIL": "电子邮件", + "AGENT": "客服", + "EMAIL": "Email", "BUTTON_TEXT": "添加客服代理", "ADD_AGENTS": "正在向收件箱添加客服...", "SELECT": "选择", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/yearInReview.json b/app/javascript/dashboard/i18n/locale/zh_CN/yearInReview.json index 0ece08924..0124c02ad 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/yearInReview.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/yearInReview.json @@ -35,7 +35,7 @@ "MESSAGES": { "SWIFT_HELPER": "You replied in {time} on average. Faster than most notifications.", "QUICK_RESPONDER": "You replied in {time} on average. The inbox barely waited.", - "STEADY_SUPPORT": "You replied in {time} on average. Calm pace, solid replies.", + "STEADY_SUPPORT": "", "THOUGHTFUL_ADVISOR": "You replied in {time} on average. Took the time to get it right." } }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/advancedFilters.json b/app/javascript/dashboard/i18n/locale/zh_TW/advancedFilters.json index 6503841fd..20da64545 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/advancedFilters.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/advancedFilters.json @@ -67,7 +67,7 @@ "ERRORS": { "VALUE_REQUIRED": "此欄位為必填項目", "ATTRIBUTE_KEY_REQUIRED": "必填項", - "FILTER_OPERATOR_REQUIRED": "Filter operator is required", + "FILTER_OPERATOR_REQUIRED": "需要過濾器運算子", "VALUE_MUST_BE_BETWEEN_1_AND_998": "數值必須介於1-998之間" }, "GROUPS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/agentBots.json b/app/javascript/dashboard/i18n/locale/zh_TW/agentBots.json index f02ebe2ed..800340f96 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/agentBots.json @@ -4,6 +4,9 @@ "LOADING_EDITOR": "正在載入編輯器...", "DESCRIPTION": "代理機器人就像您團隊中最出色的成員。他們可以處理瑣碎的事務,讓您可以專注於重要的事情。試試看吧!您可以從此頁面管理您的機器人,或使用「新增機器人」按鈕建立新的機器人。", "LEARN_MORE": "Learn about agent bots", + "COUNT": "{n} bot | {n} bots", + "SEARCH_PLACEHOLDER": "Search bots...", + "NO_RESULTS": "No bots found matching your search", "GLOBAL_BOT": "系統機器人", "GLOBAL_BOT_BADGE": "系統", "AVATAR": { @@ -34,7 +37,8 @@ "LOADING": "正在取得機器人...", "TABLE_HEADER": { "DETAILS": "機器人詳情", - "URL": "Webhook 網址" + "URL": "Webhook 網址", + "ACTIONS": "操作" } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/agentMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/agentMgmt.json index 1e45fa988..30d081ca3 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/agentMgmt.json @@ -9,6 +9,7 @@ "ADMINISTRATOR": "管理員", "AGENT": "客服" }, + "COUNT": "{n} agent | {n} agents", "LIST": { "404": "沒有與此帳號關聯的客服", "TITLE": "管理您團隊中的客服", @@ -96,6 +97,8 @@ "ERROR_MESSAGE": "無法連接 Chatwoot 伺服器,請稍後再試" } }, + "SEARCH_PLACEHOLDER": "搜尋客服...", + "NO_RESULTS": "No agents found matching your search", "SEARCH": { "NO_RESULTS": "查無結果" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json index 16dba43a5..01bdafea1 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json @@ -5,6 +5,9 @@ "LOADING": "正在取得自訂屬性", "DESCRIPTION": "自定義屬性可用於追蹤有關聯絡人或對話的額外詳情,例如訂閱方案或首次購買的日期。您可以添加不同類型的自定義屬性,如文字、清單或數字,以捕捉您所需的特定資訊。", "LEARN_MORE": "Learn more about custom attributes", + "COUNT": "{n} attribute | {n} attributes", + "SEARCH_PLACEHOLDER": "Search attributes...", + "NO_RESULTS": "No attributes found matching your search", "ATTRIBUTE_MODELS": { "CONVERSATION": "對話", "CONTACT": "聯絡人" @@ -63,6 +66,10 @@ }, "ENABLE_REGEX": { "LABEL": "Enable regex validation" + }, + "BADGES": { + "PRE_CHAT": "Pre-chat", + "RESOLUTION": "Resolution" } }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/auditLogs.json b/app/javascript/dashboard/i18n/locale/zh_TW/auditLogs.json index 3ebdf1ae9..11962694c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/auditLogs.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/auditLogs.json @@ -1,16 +1,16 @@ { "AUDIT_LOGS": { "HEADER": "稽核日誌", - "HEADER_BTN_TXT": "Add Audit Logs", - "LOADING": "Fetching Audit Logs", - "DESCRIPTION": "Audit Logs maintain a record of activities in your account, allowing you to track and audit your account, team, or services.", - "LEARN_MORE": "Learn more about audit logs", + "HEADER_BTN_TXT": "新增審計日誌", + "LOADING": "正在獲取審計日誌", + "DESCRIPTION": "稽核日誌儲存您賬戶中的活動記錄,允許您跟蹤和審計您的賬戶、團隊或服務。", + "LEARN_MORE": "瞭解更多關於審計日誌的資訊", "SEARCH_404": "沒有任何項目符合此查詢", - "SIDEBAR_TXT": "

Audit Logs

Audit Logs are trails for events and actions in a Chatwoot System.

", + "SIDEBAR_TXT": "

審計日誌

審計日誌是 Chatwoot 系統中事件和操作的痕跡。

", "LIST": { - "404": "There are no Audit Logs available in this account.", - "TITLE": "Manage Audit Logs", - "DESC": "Audit Logs are trails for events and actions in a Chatwoot System.", + "404": "此賬戶中沒有可用的審計日誌。", + "TITLE": "管理審計日誌", + "DESC": "審計日誌是 Chatwoot 系統中事件和操作的痕跡。", "TABLE_HEADER": { "ACTIVITY": "User", "TIME": "Action", @@ -18,60 +18,60 @@ } }, "API": { - "SUCCESS_MESSAGE": "AuditLogs retrieved successfully", + "SUCCESS_MESSAGE": "審計日誌獲取成功", "ERROR_MESSAGE": "無法連接伺服器,請稍後再試" }, - "DEFAULT_USER": "System", + "DEFAULT_USER": "系統", "AUTOMATION_RULE": { - "ADD": "{agentName} created a new automation rule (#{id})", - "EDIT": "{agentName} updated an automation rule (#{id})", - "DELETE": "{agentName} deleted an automation rule (#{id})" + "ADD": "{agentName} 建立了一個新的自動化規則 (#{id})", + "EDIT": "{agentName} 更新了一個自動化規則 (#{id})", + "DELETE": "{agentName} 刪除了一個自動化規則 (#{id})" }, "ACCOUNT_USER": { - "ADD": "{agentName} invited {invitee} to the account as an {role}", + "ADD": "{agentName} 邀請了 {invitee} 加入賬戶作為 {role}", "EDIT": { - "SELF": "{agentName} changed their {attributes} to {values}", - "OTHER": "{agentName} changed {attributes} of {user} to {values}", - "DELETED": "{agentName} changed {attributes} of a deleted user to {values}" + "SELF": "{agentName} 將其 {attributes} 更改為 {values}", + "OTHER": "{agentName} 將 {user} 的 {attributes} 更改為 {values}", + "DELETED": "{agentName} 將一個已刪除使用者的 {attributes} 更改為 {values}" } }, "INBOX": { - "ADD": "{agentName} created a new inbox (#{id})", - "EDIT": "{agentName} updated an inbox (#{id})", - "DELETE": "{agentName} deleted an inbox (#{id})" + "ADD": "{agentName} 建立了一個新的收件箱 (#{id})", + "EDIT": "{agentName} 更新了一個收件箱 (#{id})", + "DELETE": "{agentName} 刪除了一個收件箱 (#{id})" }, "WEBHOOK": { - "ADD": "{agentName} created a new webhook (#{id})", - "EDIT": "{agentName} updated a webhook (#{id})", - "DELETE": "{agentName} deleted a webhook (#{id})" + "ADD": "{agentName} 建立了一個新的 webhook (#{id})", + "EDIT": "{agentName} 更新了一個 webhook (#{id})", + "DELETE": "{agentName} 刪除了一個 webhook (#{id})" }, "USER_ACTION": { - "SIGN_IN": "{agentName} signed in", - "SIGN_OUT": "{agentName} signed out" + "SIGN_IN": "{agentName} 登入", + "SIGN_OUT": "{agentName} 登出" }, "TEAM": { - "ADD": "{agentName} created a new team (#{id})", - "EDIT": "{agentName} updated a team (#{id})", - "DELETE": "{agentName} deleted a team (#{id})" + "ADD": "{agentName} 建立了一個新的團隊 (#{id})", + "EDIT": "{agentName} 更新了一個團隊 (#{id})", + "DELETE": "{agentName} 刪除了一個團隊 (#{id})" }, "MACRO": { - "ADD": "{agentName} created a new macro (#{id})", - "EDIT": "{agentName} updated a macro (#{id})", - "DELETE": "{agentName} deleted a macro (#{id})" + "ADD": "{agentName} 建立了一個新的宏 (#{id})", + "EDIT": "{agentName} 更新了一個宏 (#{id})", + "DELETE": "{agentName} 刪除了一個宏 (#{id})" }, "INBOX_MEMBER": { - "ADD": "{agentName} added {user} to the inbox(#{inbox_id})", - "REMOVE": "{agentName} removed {user} from the inbox(#{inbox_id})" + "ADD": "{agentName} 將 {user} 新增到收件箱 (#{inbox_id})", + "REMOVE": "{agentName} 將 {user} 從收件箱 (#{inbox_id}) 中移除" }, "TEAM_MEMBER": { - "ADD": "{agentName} added {user} to the team(#{team_id})", - "REMOVE": "{agentName} removed {user} from the team(#{team_id})" + "ADD": "{agentName} 將 {user} 新增到團隊 (#{team_id})", + "REMOVE": "{agentName} 將 {user} 從團隊 (#{team_id}) 中移除" }, "ACCOUNT": { - "EDIT": "{agentName} updated the account configuration (#{id})" + "EDIT": "{agentName} 更新了賬戶配置 (#{id})" }, "CONVERSATION": { - "DELETE": "{agentName} deleted conversation #{id}" + "DELETE": "{agentName} 刪除了對話 #{id}" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/automation.json b/app/javascript/dashboard/i18n/locale/zh_TW/automation.json index d9dc73351..53bdf309e 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/automation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/automation.json @@ -3,8 +3,11 @@ "HEADER": "自動化", "DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.", "LEARN_MORE": "Learn more about automation", - "HEADER_BTN_TXT": "新增自動化規則", + "COUNT": "{n} automation | {n} automations", + "HEADER_BTN_TXT": "Create Automation", "LOADING": "Fetching automation rules", + "SEARCH_PLACEHOLDER": "Search automation rules...", + "NO_RESULTS": "No automation rules found matching your search", "ADD": { "TITLE": "新增自動化規則", "SUBMIT": "建立", @@ -42,9 +45,9 @@ "LIST": { "TABLE_HEADER": { "NAME": "姓名", - "DESCRIPTION": "描述資訊", "ACTIVE": "Active", - "CREATED_ON": "Created on" + "CREATED_ON": "Created on", + "ACTIONS": "操作" }, "404": "No automation rules found" }, @@ -150,7 +153,8 @@ "ADD_PRIVATE_NOTE": "Add a Private Note", "CHANGE_PRIORITY": "Change Priority", "ADD_SLA": "Add SLA", - "OPEN_CONVERSATION": "開啟對話" + "OPEN_CONVERSATION": "開啟對話", + "PENDING_CONVERSATION": "Mark conversation as pending" }, "MESSAGE_TYPES": { "INCOMING": "Incoming Message", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json b/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json index d536d294e..0384fae1f 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json @@ -1,41 +1,49 @@ { "BULK_ACTION": { - "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", + "CONVERSATIONS_SELECTED": "已選擇 {conversationCount} 個對話", "AGENT_SELECT_LABEL": "選擇客服", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", + "ASSIGN_CONFIRMATION_LABEL": "您確定要將 {conversationCount} 個 {conversationLabel} 分配給", + "UNASSIGN_CONFIRMATION_LABEL": "您確定要取消分配 {conversationCount} 個 {conversationLabel} 嗎?", "GO_BACK_LABEL": "返回", "ASSIGN_LABEL": "指派", "YES": "是", "SEARCH_INPUT_PLACEHOLDER": "搜尋", "ASSIGN_AGENT_TOOLTIP": "指派客服", "ASSIGN_TEAM_TOOLTIP": "指派團隊", - "ASSIGN_SUCCESFUL": "Conversations assigned successfully.", - "ASSIGN_FAILED": "Failed to assign conversations. Please try again.", - "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", - "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", - "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", + "ASSIGN_SUCCESFUL": "對話分配成功.", + "ASSIGN_FAILED": "分配對話失敗。請再試一次。", + "RESOLVE_SUCCESFUL": "成功將對話標記為已解決.", + "RESOLVE_FAILED": "解決對話失敗。請再試一次。", + "ALL_CONVERSATIONS_SELECTED_ALERT": "僅選擇了此頁面上可見的對話。", + "AGENT_LIST_LOADING": "正在載入客服代表", "UPDATE": { - "CHANGE_STATUS": "Change status", + "CHANGE_STATUS": "更改狀態", "SNOOZE_UNTIL": "擱置", - "UPDATE_SUCCESFUL": "Conversation status updated successfully.", - "UPDATE_FAILED": "Failed to update conversations. Please try again." + "UPDATE_SUCCESFUL": "對話狀態更新成功。", + "UPDATE_FAILED": "更新對話失敗。請再試一次。" + }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "由於缺少所需屬性而無法解析對話", + "PARTIAL_SUCCESS": "某些對話​​在解析之前需要必需的屬性,因此被跳過" + }, + "RESOLVE": { + "ALL_MISSING_ATTRIBUTES": "Cannot resolve conversations due to missing required attributes", + "PARTIAL_SUCCESS": "Some conversations need required attributes before resolving and were skipped" }, "LABELS": { "ASSIGN_LABELS": "標記標籤", "NO_LABELS_FOUND": "查無標籤", - "ASSIGN_SELECTED_LABELS": "Assign selected labels", - "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_SELECTED_LABELS": "分配指定的標籤", + "ASSIGN_SUCCESFUL": "已成功分配標籤.", + "ASSIGN_FAILED": "分配標籤失敗。請再試一次。" }, "TEAMS": { "TEAM_SELECT_LABEL": "選擇團隊", "NONE": "無", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", - "ASSIGN_SUCCESFUL": "Teams assigned successfully.", - "ASSIGN_FAILED": "Failed to assign team. Please try again." + "NO_TEAMS_AVAILABLE": "此帳戶尚未新增團隊。", + "ASSIGN_SELECTED_TEAMS": "分配選定的團隊。", + "ASSIGN_SUCCESFUL": "團隊分配成功。", + "ASSIGN_FAILED": "分配團隊失敗。請再試一次。" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json b/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json index b5e4feaad..9be6b0405 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json @@ -1,8 +1,8 @@ { "CAMPAIGN": { "LIVE_CHAT": { - "HEADER_TITLE": "Live chat campaigns", - "NEW_CAMPAIGN": "Create campaign", + "HEADER_TITLE": "實時聊天活動", + "NEW_CAMPAIGN": "建立活動", "CARD": { "STATUS": { "ENABLED": "已啟用", @@ -11,191 +11,191 @@ "CAMPAIGN_DETAILS": { "SENT_BY": "發送者:", "BOT": "機器人", - "FROM": "from", - "URL": "URL:" + "FROM": "發自", + "URL": "網址:" } }, "EMPTY_STATE": { - "TITLE": "No live chat campaigns are available", - "SUBTITLE": "Connect with your customers using proactive messages. Click 'Create campaign' to get started." + "TITLE": "暫無實時聊天活動", + "SUBTITLE": "透過主動訊息與您的客戶連線。點選 '建立活動' 開始。" }, "CREATE": { - "TITLE": "Create a live chat campaign", + "TITLE": "建立實時聊天活動", "CANCEL_BUTTON_TEXT": "取消", "CREATE_BUTTON_TEXT": "建立", "FORM": { "TITLE": { "LABEL": "標題", - "PLACEHOLDER": "Please enter the title of campaign", + "PLACEHOLDER": "請輸入活動標題", "ERROR": "標題為必填" }, "MESSAGE": { "LABEL": "訊息", - "PLACEHOLDER": "Please enter the message of campaign", + "PLACEHOLDER": "請輸入活動訊息", "ERROR": "訊息為必填" }, "INBOX": { "LABEL": "選擇收件匣", "PLACEHOLDER": "選擇收件匣", - "ERROR": "Inbox is required" + "ERROR": "收件箱是必填項" }, "SENT_BY": { "LABEL": "發送者:", - "PLACEHOLDER": "Please select sender", + "PLACEHOLDER": "請選擇發件人", "ERROR": "發送者為必填" }, "END_POINT": { - "LABEL": "URL", + "LABEL": "網址", "PLACEHOLDER": "請輸入 URL", "ERROR": "請輸入一個有效的 URL" }, "TIME_ON_PAGE": { - "LABEL": "Time on page(Seconds)", + "LABEL": "頁面停留時間(秒)", "PLACEHOLDER": "請輸入時間", - "ERROR": "Time on page is required" + "ERROR": "頁面停留時間是必填項" }, "OTHER_PREFERENCES": { - "TITLE": "Other preferences", - "ENABLED": "Enable campaign", - "TRIGGER_ONLY_BUSINESS_HOURS": "Trigger only during business hours" + "TITLE": "其他設定", + "ENABLED": "啟用活動", + "TRIGGER_ONLY_BUSINESS_HOURS": "僅在工作時間觸發" }, "BUTTONS": { "CREATE": "建立", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "Live chat campaign created successfully", + "SUCCESS_MESSAGE": "實時聊天活動建立成功", "ERROR_MESSAGE": "出現錯誤,請重試。" } } }, "EDIT": { - "TITLE": "Edit live chat campaign", + "TITLE": "編輯實時聊天活動", "FORM": { "API": { - "SUCCESS_MESSAGE": "Live chat campaign updated successfully", + "SUCCESS_MESSAGE": "實時聊天活動更新成功", "ERROR_MESSAGE": "出現錯誤,請重試。" } } } }, "SMS": { - "HEADER_TITLE": "SMS campaigns", - "NEW_CAMPAIGN": "Create campaign", + "HEADER_TITLE": "簡訊活動", + "NEW_CAMPAIGN": "建立活動", "EMPTY_STATE": { - "TITLE": "No SMS campaigns are available", - "SUBTITLE": "Launch an SMS campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "暫無簡訊活動", + "SUBTITLE": "啟動簡訊活動直接與客戶溝通。輕鬆傳送優惠或公告。點選 '建立活動' 開始。" }, "CARD": { "STATUS": { "COMPLETED": "已完成", - "SCHEDULED": "Scheduled" + "SCHEDULED": "已計劃" }, "CAMPAIGN_DETAILS": { - "SENT_FROM": "Sent from", - "ON": "on" + "SENT_FROM": "發自", + "ON": "於" } }, "CREATE": { - "TITLE": "Create SMS campaign", + "TITLE": "建立簡訊活動", "CANCEL_BUTTON_TEXT": "取消", "CREATE_BUTTON_TEXT": "建立", "FORM": { "TITLE": { "LABEL": "標題", - "PLACEHOLDER": "Please enter the title of campaign", + "PLACEHOLDER": "請輸入活動標題", "ERROR": "標題為必填" }, "MESSAGE": { "LABEL": "訊息", - "PLACEHOLDER": "Please enter the message of campaign", + "PLACEHOLDER": "請輸入活動訊息", "ERROR": "訊息為必填" }, "INBOX": { "LABEL": "選擇收件匣", "PLACEHOLDER": "選擇收件匣", - "ERROR": "Inbox is required" + "ERROR": "收件箱是必填項" }, "AUDIENCE": { - "LABEL": "Audience", - "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "LABEL": "受眾", + "PLACEHOLDER": "選擇客戶標籤", + "ERROR": "受眾是必填項" }, "SCHEDULED_AT": { - "LABEL": "Scheduled time", + "LABEL": "計劃時間", "PLACEHOLDER": "請選擇時間", - "ERROR": "Scheduled time is required" + "ERROR": "計劃時間是必填項" }, "BUTTONS": { "CREATE": "建立", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "SMS campaign created successfully", + "SUCCESS_MESSAGE": "簡訊活動建立成功", "ERROR_MESSAGE": "出現錯誤,請重試。" } } } }, "WHATSAPP": { - "HEADER_TITLE": "WhatsApp campaigns", - "NEW_CAMPAIGN": "Create campaign", + "HEADER_TITLE": "WhatsApp 活動", + "NEW_CAMPAIGN": "建立活動", "EMPTY_STATE": { - "TITLE": "No WhatsApp campaigns are available", - "SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started." + "TITLE": "沒有可用的 WhatsApp 行銷活動", + "SUBTITLE": "發起 WhatsApp 活動以直接聯絡您的客戶。輕鬆發送報價或發佈公告。點擊「建立行銷活動」即可開始。" }, "CARD": { "STATUS": { "COMPLETED": "已完成", - "SCHEDULED": "Scheduled" + "SCHEDULED": "已計劃" }, "CAMPAIGN_DETAILS": { - "SENT_FROM": "Sent from", - "ON": "on" + "SENT_FROM": "發自", + "ON": "於" } }, "CREATE": { - "TITLE": "Create WhatsApp campaign", + "TITLE": "建立 WhatsApp 活動", "CANCEL_BUTTON_TEXT": "取消", "CREATE_BUTTON_TEXT": "建立", "FORM": { "TITLE": { "LABEL": "標題", - "PLACEHOLDER": "Please enter the title of campaign", + "PLACEHOLDER": "請輸入活動標題", "ERROR": "標題為必填" }, "INBOX": { "LABEL": "選擇收件匣", "PLACEHOLDER": "選擇收件匣", - "ERROR": "Inbox is required" + "ERROR": "收件箱是必填項" }, "TEMPLATE": { - "LABEL": "WhatsApp Template", - "PLACEHOLDER": "Select a template", - "INFO": "Select a template to use for this campaign.", - "ERROR": "Template is required", - "PREVIEW_TITLE": "Process {templateName}", - "LANGUAGE": "Language", - "CATEGORY": "Category", - "VARIABLES_LABEL": "Variables", - "VARIABLE_PLACEHOLDER": "Enter value for {variable}" + "LABEL": "WhatsApp 模板", + "PLACEHOLDER": "選擇模板", + "INFO": "選擇用於此行銷活動的範本。", + "ERROR": "需要模板", + "PREVIEW_TITLE": "{templateName} 處理中", + "LANGUAGE": "語言", + "CATEGORY": "類別", + "VARIABLES_LABEL": "引數", + "VARIABLE_PLACEHOLDER": "輸入 {variable} 的值" }, "AUDIENCE": { - "LABEL": "Audience", - "PLACEHOLDER": "Select the customer labels", - "ERROR": "Audience is required" + "LABEL": "受眾", + "PLACEHOLDER": "選擇客戶標籤", + "ERROR": "受眾是必填項" }, "SCHEDULED_AT": { - "LABEL": "Scheduled time", + "LABEL": "計劃時間", "PLACEHOLDER": "請選擇時間", - "ERROR": "Scheduled time is required" + "ERROR": "計劃時間是必填項" }, "BUTTONS": { "CREATE": "建立", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "WhatsApp campaign created successfully", + "SUCCESS_MESSAGE": "WhatsApp 行銷活動創建成功", "ERROR_MESSAGE": "出現錯誤,請重試。" } } @@ -203,10 +203,10 @@ }, "CONFIRM_DELETE": { "TITLE": "您確定要刪除嗎?", - "DESCRIPTION": "The delete action is permanent and cannot be reversed.", + "DESCRIPTION": "刪除操作是永久性的,無法恢復。", "CONFIRM": "刪除", "API": { - "SUCCESS_MESSAGE": "Campaign deleted successfully", + "SUCCESS_MESSAGE": "活動刪除成功", "ERROR_MESSAGE": "出現錯誤,請重試。" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/cannedMgmt.json index 23c871006..5cebf8ba0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/cannedMgmt.json @@ -3,8 +3,11 @@ "HEADER": "預設回覆", "LEARN_MORE": "Learn more about canned responses", "DESCRIPTION": "Canned Responses are pre-written reply templates that help you quickly respond to a conversation. Agents can type the '/' character followed by the shortcode to insert a canned response during a conversation. ", + "COUNT": "{n} canned response | {n} canned responses", "HEADER_BTN_TXT": "Add canned response", "LOADING": "Fetching canned responses...", + "SEARCH_PLACEHOLDER": "Search canned responses...", + "NO_RESULTS": "No canned responses found matching your search", "SEARCH_404": "沒有任何項目符合此查詢.", "LIST": { "404": "此帳戶中沒有可用的罐頭回覆。", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json b/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json index 9c769af5c..7dfa95814 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/chatlist.json @@ -76,6 +76,9 @@ }, "waiting_since_desc": { "TEXT": "等待回應: 近的在前" + }, + "priority_desc_created_at_asc": { + "TEXT": "Priority: Highest first, Created: Oldest first" } }, "ATTACHMENTS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/companies.json b/app/javascript/dashboard/i18n/locale/zh_TW/companies.json index 883018155..225ca0d2c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/companies.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/companies.json @@ -1,33 +1,33 @@ { "COMPANIES": { - "HEADER": "Companies", + "HEADER": "公司", "SORT_BY": { - "LABEL": "Sort by", + "LABEL": "排序方式", "OPTIONS": { "NAME": "姓名", - "DOMAIN": "Domain", + "DOMAIN": "域名", "CREATED_AT": "建立於", - "CONTACTS_COUNT": "Contacts count" + "CONTACTS_COUNT": "聯絡人數量" } }, "ORDER": { - "LABEL": "Order", + "LABEL": "命令", "OPTIONS": { - "ASCENDING": "Ascending", - "DESCENDING": "Descending" + "ASCENDING": "升序", + "DESCENDING": "降序" } }, - "SEARCH_PLACEHOLDER": "Search companies...", - "LOADING": "Loading companies...", - "UNNAMED": "Unnamed Company", - "CONTACTS_COUNT": "{n} contact | {n} contacts", + "SEARCH_PLACEHOLDER": "搜尋公司...", + "LOADING": "正在加載公司...", + "UNNAMED": "未命名公司", + "CONTACTS_COUNT": "{n} 聯絡方式 | {n} 聯絡人", "EMPTY_STATE": { - "TITLE": "No companies found" + "TITLE": "沒有找到公司" } }, "COMPANIES_LAYOUT": { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} – {endItem} of {totalItems} company | Showing {startItem} – {endItem} of {totalItems} companies" + "SHOWING": "顯示 {totalItems} 公司的 {startItem} – {endItem} |顯示 {totalItems} 個公司中的 {startItem} – {endItem} 個" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/components.json b/app/javascript/dashboard/i18n/locale/zh_TW/components.json index 5c4737544..93f23d25b 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/components.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/components.json @@ -1,19 +1,19 @@ { "PAGINATION_FOOTER": { - "SHOWING": "Showing {startItem} - {endItem} of {totalItems} items", - "CURRENT_PAGE_INFO": "{currentPage} of {totalPages} pages" + "SHOWING": "顯示第 {startItem} - {endItem} 項,共 {totalItems} 項 | 顯示第 {startItem} - {endItem} 項,共 {totalItems} 項", + "CURRENT_PAGE_INFO": "第 {currentPage} / {totalPages} 頁 | 第 {currentPage} / {totalPages} 頁" }, "COMBOBOX": { - "PLACEHOLDER": "Select an option...", - "EMPTY_SEARCH_RESULTS": "No items found for the search term `{searchTerm}`", + "PLACEHOLDER": "請選擇一個選項……", + "EMPTY_SEARCH_RESULTS": "未找到與搜尋詞 `{searchTerm}` 匹配的項", "EMPTY_STATE": "查無結果。", - "SEARCH_PLACEHOLDER": "Search...", - "MORE": "+{count} more" + "SEARCH_PLACEHOLDER": "搜尋……", + "MORE": "+{count} 更多" }, "DROPDOWN_MENU": { - "SEARCH_PLACEHOLDER": "Search...", + "SEARCH_PLACEHOLDER": "搜尋……", "EMPTY_STATE": "查無結果。", - "SEARCHING": "Searching..." + "SEARCHING": "搜尋中……" }, "DIALOG": { "BUTTONS": { @@ -22,35 +22,35 @@ } }, "PHONE_INPUT": { - "SEARCH_PLACEHOLDER": "Search country", - "ERROR": "Phone number should be empty or in E.164 format", - "DIAL_CODE_ERROR": "Please select a dial code from the list" + "SEARCH_PLACEHOLDER": "搜尋國家/地區", + "ERROR": "電話號碼應為空或E.164格式", + "DIAL_CODE_ERROR": "請從列表中選擇撥號程式碼" }, "THUMBNAIL": { "AUTHOR": { - "NOT_AVAILABLE": "Author is not available" + "NOT_AVAILABLE": "作者不可用" } }, "BREADCRUMB": { - "ARIA_LABEL": "Breadcrumb" + "ARIA_LABEL": "麵包屑導航" }, "SWITCH": { - "TOGGLE": "Toggle switch" + "TOGGLE": "切換開關" }, "LABEL": { - "TAG_BUTTON": "tag" + "TAG_BUTTON": "標籤" }, "FEATURE_SPOTLIGHT": { - "LEARN_MORE": "Learn more", - "WATCH_VIDEO": "Watch video" + "LEARN_MORE": "瞭解更多", + "WATCH_VIDEO": "觀看影片" }, "DURATION_INPUT": { - "MINUTES": "Minutes", - "HOURS": "Hours", - "DAYS": "Days", - "PLACEHOLDER": "Enter duration" + "MINUTES": "分鐘", + "HOURS": "小時", + "DAYS": "天", + "PLACEHOLDER": "輸入耗時" }, "CHANNEL_SELECTOR": { - "COMING_SOON": "Coming Soon!" + "COMING_SOON": "即將到來!" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json index d0272cb56..24d66f004 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json @@ -457,6 +457,9 @@ "INSTAGRAM": { "PLACEHOLDER": "Add Instagram" }, + "TELEGRAM": { + "PLACEHOLDER": "Add Telegram" + }, "TIKTOK": { "PLACEHOLDER": "Add TikTok" }, @@ -573,7 +576,8 @@ "SEARCH_EMPTY_STATE_TITLE": "找不到符合條件的聯絡人 🔍", "LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋", "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙" - } + }, + "LOAD_MORE": "Load more" }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", @@ -607,7 +611,7 @@ "NO_INBOX_ALERT": "There are no available inboxes to start a conversation with this contact.", "CONTACT_SELECTOR": { "LABEL": "To:", - "TAG_INPUT_PLACEHOLDER": "Search for a contact with name, email or phone number", + "TAG_INPUT_PLACEHOLDER": "Enter at least 2 characters to search by name, email, or phone number", "CONTACT_CREATING": "Creating contact..." }, "INBOX_SELECTOR": { @@ -618,9 +622,9 @@ "SUBJECT_LABEL": "主旨 :", "SUBJECT_PLACEHOLDER": "Enter your email subject here", "CC_LABEL": "副本:", - "CC_PLACEHOLDER": "Search for a contact with their email address", + "CC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_LABEL": "密件副本:", - "BCC_PLACEHOLDER": "Search for a contact with their email address", + "BCC_PLACEHOLDER": "Enter at least 2 characters to search by email", "BCC_BUTTON": "密件副本" }, "MESSAGE_EDITOR": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json b/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json index 5d5de1c42..3a6337285 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json @@ -1,20 +1,20 @@ { "CONTACTS_FILTER": { - "TITLE": "Filter Contacts", - "SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.", - "EDIT_CUSTOM_SEGMENT": "Edit Segment", - "CUSTOM_VIEWS_SUBTITLE": "Add or remove filters and update your segment.", + "TITLE": "過濾聯絡人", + "SUBTITLE": "新增過濾器並點選“提交”以過濾聯絡人。", + "EDIT_CUSTOM_SEGMENT": "編輯分段", + "CUSTOM_VIEWS_SUBTITLE": "新增或刪除過濾器並更新您的分段。", "ADD_NEW_FILTER": "新增篩選條件", - "CLEAR_ALL_FILTERS": "Clear All Filters", + "CLEAR_ALL_FILTERS": "清除所有過濾器", "FILTER_DELETE_ERROR": "你必須有至少一個篩選條件才能儲存", "SUBMIT_BUTTON_LABEL": "送出", - "UPDATE_BUTTON_LABEL": "Update Segment", + "UPDATE_BUTTON_LABEL": "更新分段", "CANCEL_BUTTON_LABEL": "取消", "CLEAR_BUTTON_LABEL": "清除篩選條件", "EMPTY_VALUE_ERROR": "此欄位為必填項目", - "SEGMENT_LABEL": "Segment Name", - "SEGMENT_QUERY_LABEL": "Segment Query", - "TOOLTIP_LABEL": "Filter contacts", + "SEGMENT_LABEL": "分段名稱", + "SEGMENT_QUERY_LABEL": "分段查詢", + "TOOLTIP_LABEL": "過濾聯絡人", "QUERY_DROPDOWN_LABELS": { "AND": "且", "OR": "或" @@ -27,7 +27,7 @@ "is_present": "存在", "is_not_present": "不存在", "is_greater_than": "大於", - "is_lesser_than": "Is lesser than", + "is_lesser_than": "小於", "days_before": "x 天前" }, "ERRORS": { @@ -35,9 +35,9 @@ }, "ATTRIBUTES": { "NAME": "姓名", - "EMAIL": "Email", + "EMAIL": "電子郵件", "PHONE_NUMBER": "電話號碼", - "IDENTIFIER": "Identifier", + "IDENTIFIER": "識別符號", "CITY": "城市", "COUNTRY": "國家", "CUSTOM_ATTRIBUTE_LIST": "列表", @@ -47,8 +47,8 @@ "CUSTOM_ATTRIBUTE_CHECKBOX": "勾選框", "CREATED_AT": "建立於", "LAST_ACTIVITY": "最後活動", - "REFERER_LINK": "Referrer link", - "BLOCKED": "Blocked", + "REFERER_LINK": "引用連結", + "BLOCKED": "已阻止", "LABELS": "標籤" }, "GROUPS": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json b/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json index fe96c9f23..e893227bd 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json @@ -1,52 +1,52 @@ { "CONTENT_TEMPLATES": { "MODAL": { - "TITLE": "Twilio Templates", - "SUBTITLE": "Select the Twilio template you want to send", - "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}" + "TITLE": "Twilio 模板", + "SUBTITLE": "選擇您想要傳送的 Twilio 模板", + "TEMPLATE_SELECTED_SUBTITLE": "配置模板: {templateName}" }, "PICKER": { - "SEARCH_PLACEHOLDER": "Search Templates", - "NO_TEMPLATES_FOUND": "No templates found for", - "NO_CONTENT": "No content", - "HEADER": "Header", - "BODY": "Body", - "FOOTER": "Footer", - "BUTTONS": "Buttons", - "CATEGORY": "Category", - "MEDIA_CONTENT": "Media Content", - "MEDIA_CONTENT_FALLBACK": "media content", - "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.", - "REFRESH_BUTTON": "Refresh templates", - "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.", - "REFRESH_ERROR": "Failed to refresh templates. Please try again.", + "SEARCH_PLACEHOLDER": "查詢模板", + "NO_TEMPLATES_FOUND": "沒有找到對應的模版", + "NO_CONTENT": "無內容", + "HEADER": "頁頭", + "BODY": "正文內容", + "FOOTER": "頁尾", + "BUTTONS": "按鈕", + "CATEGORY": "類別", + "MEDIA_CONTENT": "媒體內容", + "MEDIA_CONTENT_FALLBACK": "媒體內容", + "NO_TEMPLATES_AVAILABLE": "沒有可用的 Twilio 模板。單擊重新整理以同步Twilio 的模板。", + "REFRESH_BUTTON": "重新整理模板", + "REFRESH_SUCCESS": "模板重新整理已啟動。更新可能需要幾分鐘時間。", + "REFRESH_ERROR": "重新整理模板失敗。請重試。", "LABELS": { - "LANGUAGE": "Language", - "TEMPLATE_BODY": "Template Body", - "CATEGORY": "Category" + "LANGUAGE": "語言", + "TEMPLATE_BODY": "模板內容", + "CATEGORY": "類別" }, "TYPES": { - "MEDIA": "Media", - "QUICK_REPLY": "Quick Reply", - "CALL_TO_ACTION": "Call to Action", + "MEDIA": "媒體", + "QUICK_REPLY": "快速回復", + "CALL_TO_ACTION": "號召性用語", "TEXT": "文字" } }, "PARSER": { - "VARIABLES_LABEL": "Variables", - "LANGUAGE": "Language", - "CATEGORY": "Category", - "VARIABLE_PLACEHOLDER": "Enter {variable} value", - "GO_BACK_LABEL": "Go Back", - "SEND_MESSAGE_LABEL": "Send Message", - "FORM_ERROR_MESSAGE": "Please fill all variables before sending", - "MEDIA_HEADER_LABEL": "{type} Header", - "MEDIA_URL_LABEL": "Enter full media URL", + "VARIABLES_LABEL": "引數", + "LANGUAGE": "語言", + "CATEGORY": "類別", + "VARIABLE_PLACEHOLDER": "請填寫 {variable}", + "GO_BACK_LABEL": "返回", + "SEND_MESSAGE_LABEL": "傳送訊息", + "FORM_ERROR_MESSAGE": "你必須填寫所有引數才能傳送", + "MEDIA_HEADER_LABEL": "{type} 標頭", + "MEDIA_URL_LABEL": "輸入完整媒體 URL", "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg" }, "FORM": { "BACK_BUTTON": "返回", - "SEND_MESSAGE_BUTTON": "Send Message" + "SEND_MESSAGE_BUTTON": "傳送訊息" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json index 41c506b97..6602350d4 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json @@ -61,6 +61,7 @@ "UNSUPPORTED_MESSAGE": "This message is unsupported. You can view this message on the Facebook / Instagram app.", "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", + "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", "SUCCESS_DELETE_MESSAGE": "已成功刪除訊息", "FAIL_DELETE_MESSSAGE": "無法刪除訊息!請再試一次", "NO_RESPONSE": "無回應", @@ -173,6 +174,10 @@ "SUCCESFUL": "Assigned label #{labelName} to conversation id {conversationId}", "FAILED": "Couldn't assign label. Please try again." }, + "LABEL_REMOVAL": { + "SUCCESFUL": "Removed label #{labelName} from conversation id {conversationId}", + "FAILED": "Couldn't remove label. Please try again." + }, "TEAM_ASSIGNMENT": { "SUCCESFUL": "Assigned team \"{team}\" to conversation id {conversationId}", "FAILED": "Couldn't assign team. Please try again." @@ -185,7 +190,11 @@ "DISABLE_SIGN_TOOLTIP": "Disable signature", "MSG_INPUT": "輸入“/”開始選擇快捷回覆", "PRIVATE_MSG_INPUT": "Shift + 輸入新行。這只對客服可以看見", + "MESSAGING_RESTRICTED": "You cannot reply to this conversation", + "MESSAGING_RESTRICTED_WHATSAPP": "You can only reply using a template message due to 24-hour message window restriction", + "MESSAGING_RESTRICTED_API": "You can only reply using a template message due to message window restriction", "MESSAGE_SIGNATURE_NOT_CONFIGURED": "Message signature is not configured, please configure it in profile settings.", + "COPILOT_MSG_INPUT": "Give copilot additional prompts, or ask anything else... Press enter to send follow-up", "CLICK_HERE": "Click here to update", "WHATSAPP_TEMPLATES": "Whatsapp Templates" }, @@ -205,7 +214,7 @@ "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", - "": "", + "COPILOT_THINKING": "Copilot is thinking", "EMAIL_HEAD": { "TO": "TO", "ADD_BCC": "密件副本", @@ -247,9 +256,12 @@ "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully", "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again", "FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit", + "FILE_TYPE_NOT_SUPPORTED": "This {fileName} file type is not supported in this conversation", "MESSAGE_ERROR": "Unable to send this message, please try again later", "SENT_BY": "寄送者:", "BOT": "機器人", + "NATIVE_APP": "Native app", + "NATIVE_APP_ADVISORY": "This message was sent from the native app. Reply from Chatwoot to maintain the message window.", "SEND_FAILED": "Couldn't send message! Try again", "TRY_AGAIN": "retry", "ASSIGNMENT": { @@ -294,6 +306,7 @@ "CANCEL": "取消操作", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "出錯了,請重試", + "SEND_EMAIL_PAYMENT_REQUIRED": "Email transcript is not available on your current plan. Please upgrade to use this feature.", "FORM": { "SEND_TO_CONTACT": "Send the transcript to the customer", "SEND_TO_AGENT": "Send the transcript to the assigned agent", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/csatMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/csatMgmt.json index bef9aa32d..c8d3583c3 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/csatMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/csatMgmt.json @@ -1,13 +1,13 @@ { "CSAT": { - "TITLE": "Rate your conversation", + "TITLE": "評價您的對話", "PLACEHOLDER": "告訴我們更多...", "RATINGS": { - "POOR": "😞 Poor", - "FAIR": "😑 Fair", - "AVERAGE": "😐 Average", - "GOOD": "😀 Good", - "EXCELLENT": "😍 Excellent" + "POOR": "😞 差", + "FAIR": "😑 一般", + "AVERAGE": "😐 中等", + "GOOD": "😀 好", + "EXCELLENT": "😍 非常好" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/customRole.json b/app/javascript/dashboard/i18n/locale/zh_TW/customRole.json index e1ce42eb4..901b4a7c7 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/customRole.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/customRole.json @@ -3,8 +3,11 @@ "HEADER": "Custom Roles", "LEARN_MORE": "Learn more about custom roles", "DESCRIPTION": "Custom roles are roles that are created by the account owner or admin. These roles can be assigned to agents to define their access and permissions within the account. Custom roles can be created with specific permissions and access levels to suit the requirements of the organization.", + "COUNT": "{n} custom role | {n} custom roles", "HEADER_BTN_TXT": "Add custom role", "LOADING": "Fetching custom roles...", + "SEARCH_PLACEHOLDER": "Search custom roles...", + "NO_RESULTS": "No custom roles found matching your search", "SEARCH_404": "沒有任何項目符合此查詢.", "PAYWALL": { "TITLE": "Upgrade to create custom roles", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/datePicker.json b/app/javascript/dashboard/i18n/locale/zh_TW/datePicker.json index 8e187f50d..0087c2765 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/datePicker.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/datePicker.json @@ -1,5 +1,8 @@ { "DATE_PICKER": { + "PREVIOUS_PERIOD": "Previous period", + "NEXT_PERIOD": "Next period", + "WEEK_NUMBER": "Week #{weekNumber}", "APPLY_BUTTON": "套用", "CLEAR_BUTTON": "Clear", "DATE_RANGE_INPUT": { @@ -13,6 +16,8 @@ "LAST_3_MONTHS": "三個月內", "LAST_6_MONTHS": "六個月內", "LAST_YEAR": "去年", + "THIS_WEEK": "This week", + "MONTH_TO_DATE": "This month", "CUSTOM_RANGE": "自定日期範圍" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/emoji.json b/app/javascript/dashboard/i18n/locale/zh_TW/emoji.json index 7c5efc5f8..2058dd940 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/emoji.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/emoji.json @@ -1,7 +1,7 @@ { "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search", + "PLACEHOLDER": "搜尋表情符號", + "NOT_FOUND": "沒有適合你的搜尋結果", "REMOVE": "刪除" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/general.json b/app/javascript/dashboard/i18n/locale/zh_TW/general.json index 22532087c..9a06e3266 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/general.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/general.json @@ -7,6 +7,13 @@ }, "CLOSE": "關閉", "BETA": "Beta", - "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it." + "BETA_DESCRIPTION": "This feature is in beta and may change as we improve it.", + "ACCEPT": "Accept", + "DISCARD": "Discard", + "PREFERRED": "Preferred" + }, + "CHOICE_TOGGLE": { + "YES": "是", + "NO": "否" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json b/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json index 4eadce691..6b006caf4 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/generalSettings.json @@ -182,6 +182,7 @@ }, "COMMAND_BAR": { "SEARCH_PLACEHOLDER": "Search or jump to", + "SNOOZE_PLACEHOLDER": "Type a time e.g. tomorrow, 2 hours, next friday, jan 15...", "SECTIONS": { "GENERAL": "General", "REPORTS": "報表", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json index f3390be76..02bee8ec7 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json @@ -1,622 +1,642 @@ { "HELP_CENTER": { - "TITLE": "Help Center", + "TITLE": "幫助中心", "NEW_PAGE": { - "DESCRIPTION": "Create self-service help center portals for your customers. Help them find answers quickly, without waiting. Streamline inquiries, boost agent efficiency, and elevate customer support.", - "CREATE_PORTAL_BUTTON": "Create Portal" + "DESCRIPTION": "為您的客戶建立自助服務幫助中心門戶。幫助他們快速找到答案,無需等待。簡化查詢,提高代理效率,提升客戶支援。", + "CREATE_PORTAL_BUTTON": "建立門戶" }, "HEADER": { - "FILTER": "Filter by", - "SORT": "Sort by", - "LOCALE": "Locale", + "FILTER": "過濾條件", + "SORT": "排序方式", + "LOCALE": "語言環境", "SETTINGS_BUTTON": "設定", - "NEW_BUTTON": "New Article", + "NEW_BUTTON": "新建文章", "DROPDOWN_OPTIONS": { - "PUBLISHED": "Published", - "DRAFT": "Draft", - "ARCHIVED": "Archived" + "PUBLISHED": "已釋出", + "DRAFT": "草稿", + "ARCHIVED": "已存檔" }, "TITLES": { - "ALL_ARTICLES": "All Articles", - "MINE": "My Articles", - "DRAFT": "Draft Articles", - "ARCHIVED": "Archived Articles" + "ALL_ARTICLES": "所有文章", + "MINE": "我的文章", + "DRAFT": "文章草稿", + "ARCHIVED": "已存檔的文章" }, "LOCALE_SELECT": { - "TITLE": "Select locale", - "PLACEHOLDER": "Select locale", - "NO_RESULT": "No locale found", - "SEARCH_PLACEHOLDER": "Search locale" + "TITLE": "選擇語言環境", + "PLACEHOLDER": "選擇語言環境", + "NO_RESULT": "未找到語言環境", + "SEARCH_PLACEHOLDER": "搜尋語言環境" } }, "EDIT_HEADER": { - "ALL_ARTICLES": "All Articles", - "PUBLISH_BUTTON": "Publish", - "MOVE_TO_ARCHIVE_BUTTON": "Move to archived", - "PREVIEW": "Preview", - "ADD_TRANSLATION": "Add translation", - "OPEN_SIDEBAR": "Open sidebar", - "CLOSE_SIDEBAR": "Close sidebar", - "SAVING": "Saving...", - "SAVED": "Saved" + "ALL_ARTICLES": "所有文章", + "PUBLISH_BUTTON": "釋出", + "MOVE_TO_ARCHIVE_BUTTON": "移至已存檔", + "PREVIEW": "預覽", + "ADD_TRANSLATION": "新增翻譯", + "OPEN_SIDEBAR": "開啟側邊欄", + "CLOSE_SIDEBAR": "關閉側邊欄", + "SAVING": "儲存中...", + "SAVED": "儲存成功" }, "ARTICLE_EDITOR": { "IMAGE_UPLOAD": { "TITLE": "上傳頭像", "UPLOADING": "上傳中", - "SUCCESS": "Image uploaded successfully", - "ERROR": "Error while uploading image", - "UN_AUTHORIZED_ERROR": "You are not authorized to upload images", - "ERROR_FILE_SIZE": "Image size should be less than {size}MB", - "ERROR_FILE_FORMAT": "Image format should be jpg, jpeg or png", - "ERROR_FILE_DIMENSIONS": "Image dimensions should be less than 2000 x 2000" + "SUCCESS": "圖片上傳成功", + "ERROR": "上傳圖片時出錯", + "UN_AUTHORIZED_ERROR": "您無權上傳圖片", + "ERROR_FILE_SIZE": "圖片大小應小於 {size}MB", + "ERROR_FILE_FORMAT": "圖片格式應為 jpg、jpeg 或 png", + "ERROR_FILE_DIMENSIONS": "圖片尺寸應小於 2000 x 2000" } }, "ARTICLE_SETTINGS": { - "TITLE": "Article Settings", + "TITLE": "文章設定", "FORM": { "CATEGORY": { - "LABEL": "Category", - "TITLE": "Select category", - "PLACEHOLDER": "Select category", - "NO_RESULT": "No category found", - "SEARCH_PLACEHOLDER": "Search category" + "LABEL": "類別", + "TITLE": "選擇類別", + "PLACEHOLDER": "選擇類別", + "NO_RESULT": "未找到類別", + "SEARCH_PLACEHOLDER": "搜尋類別" }, "AUTHOR": { - "LABEL": "Author", - "TITLE": "Select author", - "PLACEHOLDER": "Select author", - "NO_RESULT": "No authors found", - "SEARCH_PLACEHOLDER": "Search author" + "LABEL": "作者", + "TITLE": "選擇作者", + "PLACEHOLDER": "選擇作者", + "NO_RESULT": "未找到作者", + "SEARCH_PLACEHOLDER": "搜尋作者" }, "META_TITLE": { - "LABEL": "Meta title", - "PLACEHOLDER": "Add a meta title" + "LABEL": "Meta 標題", + "PLACEHOLDER": "增加一個Meta標題" }, "META_DESCRIPTION": { - "LABEL": "Meta description", - "PLACEHOLDER": "Add your meta description for better SEO results..." + "LABEL": "Meta描述", + "PLACEHOLDER": "新增您的Meta描述以獲得更好的SEO效果……" }, "META_TAGS": { - "LABEL": "Meta tags", - "PLACEHOLDER": "Add meta tags separated by comma..." + "LABEL": "Meta標籤", + "PLACEHOLDER": "增加Meta標籤,以逗號分隔" } }, "BUTTONS": { - "ARCHIVE": "Archive article", - "DELETE": "Delete article" + "ARCHIVE": "歸檔文章", + "DELETE": "刪除文章" } }, "ARTICLE_SEARCH_RESULT": { - "UNCATEGORIZED": "Uncategorized", - "SEARCH_RESULTS": "Search results for {query}", - "EMPTY_TEXT": "Search for articles to insert into replies.", - "SEARCH_LOADER": "Searching...", - "INSERT_ARTICLE": "Insert", - "NO_RESULT": "No articles found", - "COPY_LINK": "Copy article link to clipboard", - "OPEN_LINK": "Open article in new tab", - "PREVIEW_LINK": "Preview article" + "UNCATEGORIZED": "未分類", + "SEARCH_RESULTS": "搜尋 {query} 的結果", + "EMPTY_TEXT": "搜尋文章以插入回覆。", + "SEARCH_LOADER": "搜尋中...", + "INSERT_ARTICLE": "插入", + "NO_RESULT": "未找到文章", + "COPY_LINK": "複製文章連結到剪貼簿", + "OPEN_LINK": "在新標籤頁中開啟文章", + "PREVIEW_LINK": "預覽文章" }, "PORTAL": { - "HEADER": "Portals", - "DEFAULT": "Default", - "NEW_BUTTON": "New Portal", - "ACTIVE_BADGE": "active", - "CHOOSE_LOCALE_LABEL": "Choose a locale", - "LOADING_MESSAGE": "Loading portals...", - "ARTICLES_LABEL": "articles", - "NO_PORTALS_MESSAGE": "There are no available portals", - "ADD_NEW_LOCALE": "Add a new locale", + "HEADER": "入口網站", + "DEFAULT": "預設", + "NEW_BUTTON": "新入口網站", + "ACTIVE_BADGE": "活躍", + "CHOOSE_LOCALE_LABEL": "選擇一個語言環境", + "LOADING_MESSAGE": "正在載入門戶...", + "ARTICLES_LABEL": "文章", + "NO_PORTALS_MESSAGE": "沒有可用的門戶", + "ADD_NEW_LOCALE": "新增一個新的語言環境", "POPOVER": { - "TITLE": "Portals", - "PORTAL_SETTINGS": "Portal settings", - "SUBTITLE": "You have multiple portals and can have different locales for each portal.", + "TITLE": "入口網站", + "PORTAL_SETTINGS": "門戶設定", + "SUBTITLE": "您有多個入口網站,每個入口網站可以有不同的語言環境。", "CANCEL_BUTTON_LABEL": "取消", - "CHOOSE_LOCALE_BUTTON": "Choose Locale" + "CHOOSE_LOCALE_BUTTON": "選擇語言" }, "PORTAL_SETTINGS": { "LIST_ITEM": { "HEADER": { - "COUNT_LABEL": "articles", - "ADD": "Add locale", - "VISIT": "Visit site", + "COUNT_LABEL": "文章", + "ADD": "新增語言環境", + "VISIT": "訪問網站", "SETTINGS": "設定", "DELETE": "刪除" }, "PORTAL_CONFIG": { - "TITLE": "Portal Configurations", + "TITLE": "門戶配置", "ITEMS": { "NAME": "姓名", - "DOMAIN": "Custom domain", - "SLUG": "Slug", - "TITLE": "Portal title", - "THEME": "Theme color", - "SUB_TEXT": "Portal sub text" + "DOMAIN": "自定義域名", + "SLUG": "網址代稱", + "TITLE": "門戶標題", + "THEME": "主題顏色", + "SUB_TEXT": "門戶副文字" } }, "AVAILABLE_LOCALES": { - "TITLE": "Available locales", + "TITLE": "可用的語言環境", "TABLE": { - "NAME": "Locale name", - "CODE": "Locale code", - "ARTICLE_COUNT": "No. of articles", - "CATEGORIES": "No. of categories", - "SWAP": "Swap", + "NAME": "語言環境名稱", + "CODE": "語言環境程式碼", + "ARTICLE_COUNT": "文章數量", + "CATEGORIES": "類別數量", + "SWAP": "交換", "DELETE": "刪除", - "DEFAULT_LOCALE": "Default" + "DEFAULT_LOCALE": "預設" } } }, "DELETE_PORTAL": { - "TITLE": "Delete portal", - "MESSAGE": "Are you sure you want to delete this portal", - "YES": "Yes, delete portal", - "NO": "No, keep portal", + "TITLE": "刪除門戶", + "MESSAGE": "您確定要刪除此門戶嗎", + "YES": "是,刪除門戶", + "NO": "否,保留門戶", "API": { - "DELETE_SUCCESS": "Portal deleted successfully", - "DELETE_ERROR": "Error while deleting portal" + "DELETE_SUCCESS": "門戶刪除成功", + "DELETE_ERROR": "刪除門戶時出錯" } }, "SEND_CNAME_INSTRUCTIONS": { "API": { - "SUCCESS_MESSAGE": "CNAME instructions sent successfully", - "ERROR_MESSAGE": "Error while sending CNAME instructions" + "SUCCESS_MESSAGE": "CNAME 指令發送成功", + "ERROR_MESSAGE": "發送 CNAME 指令時發生錯誤" } } }, "EDIT": { - "HEADER_TEXT": "Edit portal", + "HEADER_TEXT": "編輯門戶", "TABS": { "BASIC_SETTINGS": { - "TITLE": "Basic information" + "TITLE": "基本資訊" }, "CUSTOMIZATION_SETTINGS": { - "TITLE": "Portal customization" + "TITLE": "門戶定製" }, "CATEGORY_SETTINGS": { - "TITLE": "Categories" + "TITLE": "類別" }, "LOCALE_SETTINGS": { - "TITLE": "Locales" + "TITLE": "語言環境" } }, "CATEGORIES": { - "TITLE": "Categories in", - "NEW_CATEGORY": "New category", + "TITLE": "類別", + "NEW_CATEGORY": "新建類別", "TABLE": { "NAME": "姓名", "DESCRIPTION": "描述資訊", - "LOCALE": "Locale", - "ARTICLE_COUNT": "No. of articles", + "LOCALE": "語言環境", + "ARTICLE_COUNT": "文章數量", "ACTION_BUTTON": { - "EDIT": "Edit category", - "DELETE": "Delete category" + "EDIT": "編輯類別", + "DELETE": "刪除類別" }, - "EMPTY_TEXT": "No categories found" + "EMPTY_TEXT": "未找到類別" } }, "EDIT_BASIC_INFO": { - "BUTTON_TEXT": "Update basic settings" + "BUTTON_TEXT": "更新基本設定" } }, "ADD": { "CREATE_FLOW": { "BASIC": { - "TITLE": "Help center information", - "BODY": "Basic information about portal" + "TITLE": "幫助中心資訊", + "BODY": "關於門戶的基本資訊" }, "CUSTOMIZATION": { - "TITLE": "Help center customization", - "BODY": "Customize portal" + "TITLE": "幫助中心定製", + "BODY": "定製門戶" }, "FINISH": { - "TITLE": "Voila! 🎉", - "BODY": "You're all set!" + "TITLE": "完成!🎉", + "BODY": "您已全部設定完成!" } }, "CREATE_FLOW_PAGE": { "BACK_BUTTON": "返回", "BASIC_SETTINGS_PAGE": { - "HEADER": "Create Portal", - "TITLE": "Help center information", - "CREATE_BASIC_SETTING_BUTTON": "Create portal basic settings" + "HEADER": "建立門戶", + "TITLE": "幫助中心資訊", + "CREATE_BASIC_SETTING_BUTTON": "建立門戶基本設定" }, "CUSTOMIZATION_PAGE": { - "HEADER": "Portal customisation", - "TITLE": "Help center customization", - "UPDATE_PORTAL_BUTTON": "Update portal settings" + "HEADER": "門戶定製", + "TITLE": "幫助中心定製", + "UPDATE_PORTAL_BUTTON": "更新門戶設定" }, "FINISH_PAGE": { - "TITLE": "Voila!🎉 You're all set up!", - "MESSAGE": "You can now see this created portal on your all portals page.", - "FINISH": "Go to all portals page" + "TITLE": "完成!🎉 您已全部設定完成!", + "MESSAGE": "您現在可以在所有門戶頁面中看到此建立的門戶。", + "FINISH": "轉到所有門戶頁面" } }, "LOGO": { - "LABEL": "Logo", - "UPLOAD_BUTTON": "Upload logo", - "HELP_TEXT": "This logo will be displayed on the portal header.", - "IMAGE_UPLOAD_SUCCESS": "Logo uploaded successfully", - "IMAGE_UPLOAD_ERROR": "Logo deleted successfully", - "IMAGE_DELETE_ERROR": "Error while deleting logo" + "LABEL": "標識", + "UPLOAD_BUTTON": "上傳Logo", + "HELP_TEXT": "此Logo將顯示在門戶標題中。", + "IMAGE_UPLOAD_SUCCESS": "Logo上傳成功", + "IMAGE_UPLOAD_ERROR": "Logo刪除成功", + "IMAGE_DELETE_ERROR": "刪除Logo時出錯" }, "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "Portal name", - "HELP_TEXT": "The name will be used in the public facing portal internally.", + "PLACEHOLDER": "門戶名稱", + "HELP_TEXT": "該名稱將用於面向公眾的門戶內部。", "ERROR": "名稱為必填" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Portal slug for urls", - "ERROR": "Slug is required" + "LABEL": "網址代稱", + "PLACEHOLDER": "門戶的URL Slug", + "ERROR": "Slug 為必填項" }, "DOMAIN": { - "LABEL": "Custom Domain", - "PLACEHOLDER": "Portal custom domain", - "HELP_TEXT": "Add only If you want to use a custom domain for your portals. Eg: https://example.com", - "ERROR": "Enter a valid domain URL" + "LABEL": "自定義域名", + "PLACEHOLDER": "門戶自定義域名", + "HELP_TEXT": "只有在您想為入口網站使用自訂網域時才需新增。例如:{exampleURL}", + "ERROR": "請輸入有效的域名URL" }, "HOME_PAGE_LINK": { - "LABEL": "Home Page Link", - "PLACEHOLDER": "Portal home page link", - "HELP_TEXT": "The link used to return from the portal to the home page. Eg: https://example.com", - "ERROR": "Enter a valid home page URL" + "LABEL": "主頁連結", + "PLACEHOLDER": "門戶主頁連結", + "HELP_TEXT": "此連結用於從入口網站返回首頁。例如:{exampleURL}", + "ERROR": "請輸入有效的主頁URL" }, "THEME_COLOR": { - "LABEL": "Portal theme color", - "HELP_TEXT": "This color will show as the theme color for the portal." + "LABEL": "門戶主題顏色", + "HELP_TEXT": "此顏色將作為門戶的主題顏色顯示。" }, "PAGE_TITLE": { - "LABEL": "Page Title", - "PLACEHOLDER": "Portal page title", - "HELP_TEXT": "The page title will be used in the public facing portal.", - "ERROR": "Page title is required" + "LABEL": "頁面標題", + "PLACEHOLDER": "門戶頁面標題", + "HELP_TEXT": "頁面標題將用於面向公眾的門戶。", + "ERROR": "頁面標題是必填項" }, "HEADER_TEXT": { - "LABEL": "Header Text", - "PLACEHOLDER": "Portal header text", - "HELP_TEXT": "The Portal header text will be used in the public facing portal.", - "ERROR": "Portal header text is required" + "LABEL": "標題文字", + "PLACEHOLDER": "門戶標題文字", + "HELP_TEXT": "門戶標題文字將用於面向公眾的門戶。", + "ERROR": "門戶標題文字是必填項" }, "API": { - "SUCCESS_MESSAGE_FOR_BASIC": "Portal created successfully.", - "ERROR_MESSAGE_FOR_BASIC": "Couldn't create the portal. Try again.", - "SUCCESS_MESSAGE_FOR_UPDATE": "Portal updated successfully.", - "ERROR_MESSAGE_FOR_UPDATE": "Couldn't update the portal. Try again." + "SUCCESS_MESSAGE_FOR_BASIC": "門戶建立成功。", + "ERROR_MESSAGE_FOR_BASIC": "無法建立門戶,請重試。", + "SUCCESS_MESSAGE_FOR_UPDATE": "門戶更新成功。", + "ERROR_MESSAGE_FOR_UPDATE": "無法更新門戶,請重試。" } }, "ADD_LOCALE": { - "TITLE": "Add a new locale", - "SUB_TITLE": "This adds a new locale to your available translation list.", - "PORTAL": "Portal", + "TITLE": "新增一個新的語言環境", + "SUB_TITLE": "這將向您的可用翻譯列表中新增一個新的語言環境。", + "PORTAL": "入口網站", "LOCALE": { - "LABEL": "Locale", - "PLACEHOLDER": "Choose a locale", - "ERROR": "Locale is required" + "LABEL": "語言環境", + "PLACEHOLDER": "選擇一個語言環境", + "ERROR": "語言環境是必填項" }, "BUTTONS": { - "CREATE": "Create locale", + "CREATE": "建立語言環境", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "Locale added successfully", - "ERROR_MESSAGE": "Unable to add locale. Try again." + "SUCCESS_MESSAGE": "語言環境新增成功", + "ERROR_MESSAGE": "無法新增語言環境,請重試。" } }, "CHANGE_DEFAULT_LOCALE": { "API": { - "SUCCESS_MESSAGE": "Default locale updated successfully", - "ERROR_MESSAGE": "Unable to update default locale. Try again." + "SUCCESS_MESSAGE": "預設語言環境更新成功", + "ERROR_MESSAGE": "無法更新預設語言環境,請重試。" } }, "DELETE_LOCALE": { "API": { - "SUCCESS_MESSAGE": "Locale removed from portal successfully", - "ERROR_MESSAGE": "Unable to remove locale from portal. Try again." + "SUCCESS_MESSAGE": "語言環境從門戶中移除成功", + "ERROR_MESSAGE": "無法從門戶中移除語言環境,請重試。" } } }, "TABLE": { - "LOADING_MESSAGE": "Loading articles...", - "404": "No articles matches your search 🔍", - "NO_ARTICLES": "There are no available articles", + "LOADING_MESSAGE": "正在載入文章...", + "404": "沒有找到您要搜尋的文章 🔍", + "NO_ARTICLES": "沒有可用的文章", "HEADERS": { "TITLE": "標題", - "CATEGORY": "Category", - "READ_COUNT": "Views", + "CATEGORY": "類別", + "READ_COUNT": "瀏覽量", "STATUS": "狀態", - "LAST_EDITED": "Last edited" + "LAST_EDITED": "最後編輯" }, "COLUMNS": { - "BY": "by", - "AUTHOR_NOT_AVAILABLE": "Author is not available" + "BY": "由", + "AUTHOR_NOT_AVAILABLE": "作者不可用" } }, "EDIT_ARTICLE": { - "LOADING": "Loading article...", - "TITLE_PLACEHOLDER": "Article title goes here", - "CONTENT_PLACEHOLDER": "Write your article here", + "LOADING": "正在載入文章...", + "TITLE_PLACEHOLDER": "文章標題在此處顯示", + "CONTENT_PLACEHOLDER": "在此處寫下您的文章", "API": { - "ERROR": "Error while saving article" + "ERROR": "儲存文章時出錯" } }, "PUBLISH_ARTICLE": { "API": { - "ERROR": "Error while publishing article", - "SUCCESS": "Article published successfully" + "ERROR": "釋出文章時出錯", + "SUCCESS": "文章釋出成功" } }, "ARCHIVE_ARTICLE": { "API": { - "ERROR": "Error while archiving article", - "SUCCESS": "Article archived successfully" + "ERROR": "歸檔文章時出錯", + "SUCCESS": "文章歸檔成功" } }, "DRAFT_ARTICLE": { "API": { - "ERROR": "Error while drafting article", - "SUCCESS": "Article drafted successfully" + "ERROR": "草稿文章時出錯", + "SUCCESS": "文章草稿成功" } }, "DELETE_ARTICLE": { "MODAL": { "CONFIRM": { "TITLE": "確認刪除", - "MESSAGE": "Are you sure to delete the article?", + "MESSAGE": "您確定要刪除這篇文章嗎?", "YES": "是,刪除", "NO": "否,保留它" } }, "API": { - "SUCCESS_MESSAGE": "Article deleted successfully", - "ERROR_MESSAGE": "Error while deleting article" + "SUCCESS_MESSAGE": "文章刪除成功", + "ERROR_MESSAGE": "刪除文章時出錯" + } + }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "無法對文章重新排序。請再試一次。" + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "無法對類別重新排序。請再試一次。" + } + }, + "REORDER_ARTICLE": { + "API": { + "ERROR_MESSAGE": "Unable to reorder articles. Please try again." + } + }, + "REORDER_CATEGORY": { + "API": { + "ERROR_MESSAGE": "Unable to reorder categories. Please try again." } }, "CREATE_ARTICLE": { - "ERROR_MESSAGE": "Please add the article heading and content then only you can update the settings" + "ERROR_MESSAGE": "請新增文章標題和內容,然後才能更新設定" }, "SIDEBAR": { "SEARCH": { - "PLACEHOLDER": "Search for articles" + "PLACEHOLDER": "搜尋文章" } }, "CATEGORY": { "ADD": { - "TITLE": "Create a category", - "SUB_TITLE": "The category will be used in the public facing portal to categorize articles.", - "PORTAL": "Portal", - "LOCALE": "Locale", + "TITLE": "建立一個類別", + "SUB_TITLE": "類別將用於公共門戶來對文章進行歸類。", + "PORTAL": "入口網站", + "LOCALE": "語言環境", "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "Category name", - "HELP_TEXT": "The category name and icon will be used in the public facing portal to categorize articles.", + "PLACEHOLDER": "類別名稱", + "HELP_TEXT": "類別名稱和圖示將用於面向公眾的門戶以對文章進行分類。", "ERROR": "名稱為必填" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", + "LABEL": "網址代稱", + "PLACEHOLDER": "類別的URL Slug", "HELP_TEXT": "app.chatwoot.com/hc/my-portal/en-US/categories/my-slug", - "ERROR": "Slug is required" + "ERROR": "Slug 為必填項" }, "DESCRIPTION": { "LABEL": "描述資訊", - "PLACEHOLDER": "Give a short description about the category.", + "PLACEHOLDER": "給出有關該類別的簡短描述。", "ERROR": "描述為必填" }, "BUTTONS": { - "CREATE": "Create category", + "CREATE": "建立類別", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "Category created successfully", - "ERROR_MESSAGE": "Unable to create category" + "SUCCESS_MESSAGE": "類別建立成功", + "ERROR_MESSAGE": "無法建立類別" } }, "EDIT": { - "TITLE": "Edit a category", - "SUB_TITLE": "Editing a category will update the category in the public facing portal.", - "PORTAL": "Portal", - "LOCALE": "Locale", + "TITLE": "編輯類別", + "SUB_TITLE": "編輯類別將更新面向公眾的門戶中的類別。", + "PORTAL": "入口網站", + "LOCALE": "語言環境", "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "Category name", - "HELP_TEXT": "The category name and icon will be used in the public facing portal to categorize articles.", + "PLACEHOLDER": "類別名稱", + "HELP_TEXT": "類別名稱和圖示將用於面向公眾的門戶以對文章進行分類。", "ERROR": "名稱為必填" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", + "LABEL": "網址代稱", + "PLACEHOLDER": "類別的URL Slug", "HELP_TEXT": "app.chatwoot.com/hc/my-portal/en-US/categories/my-slug", - "ERROR": "Slug is required" + "ERROR": "Slug 為必填項" }, "DESCRIPTION": { "LABEL": "描述資訊", - "PLACEHOLDER": "Give a short description about the category.", + "PLACEHOLDER": "給出有關該類別的簡短描述。", "ERROR": "描述為必填" }, "BUTTONS": { - "CREATE": "Update category", + "CREATE": "更新類別", "CANCEL": "取消" }, "API": { - "SUCCESS_MESSAGE": "Category updated successfully", - "ERROR_MESSAGE": "Unable to update category" + "SUCCESS_MESSAGE": "類別更新成功", + "ERROR_MESSAGE": "無法更新類別" } }, "DELETE": { "API": { - "SUCCESS_MESSAGE": "Category deleted successfully", - "ERROR_MESSAGE": "Unable to delete category" + "SUCCESS_MESSAGE": "類別刪除成功", + "ERROR_MESSAGE": "無法刪除類別" } } }, "ARTICLE_SEARCH": { - "TITLE": "Search articles", - "PLACEHOLDER": "Search articles", - "NO_RESULT": "No articles found", - "SEARCHING": "Searching...", + "TITLE": "搜尋文章", + "PLACEHOLDER": "搜尋文章", + "NO_RESULT": "未找到文章", + "SEARCHING": "搜尋中...", "SEARCH_BUTTON": "搜尋", - "INSERT_ARTICLE": "Insert link", - "IFRAME_ERROR": "URL is empty or invalid. Unable to display content.", - "OPEN_ARTICLE_SEARCH": "Insert article from Help Center", - "SUCCESS_ARTICLE_INSERTED": "Article inserted successfully", - "PREVIEW_LINK": "Preview article", + "INSERT_ARTICLE": "插入連結", + "IFRAME_ERROR": "URL為空或無效,無法顯示內容。", + "OPEN_ARTICLE_SEARCH": "從幫助中心插入文章", + "SUCCESS_ARTICLE_INSERTED": "文章插入成功", + "PREVIEW_LINK": "預覽文章", "CANCEL": "取消", "BACK": "返回", - "BACK_RESULTS": "Back to results" + "BACK_RESULTS": "返回結果" }, "UPGRADE_PAGE": { - "TITLE": "Help Center", - "DESCRIPTION": "Create user-friendly self-service portals. Help your users to access the articles and get support 24/7. Upgrade your subscription to enable this feature.", - "SELF_HOSTED_DESCRIPTION": "Create user-friendly self-service portals. Help your users to access the articles and get support 24/7. Please contact your administrator to enable this feature.", + "TITLE": "幫助中心", + "DESCRIPTION": "建立使用者友好的自助服務門戶。幫助您的使用者訪問文章並獲得24/7支援。升級您的訂閱以啟用此功能。", + "SELF_HOSTED_DESCRIPTION": "建立使用者友好的自助服務門戶。幫助您的使用者訪問文章並獲得24/7支援。請聯絡您的管理員以啟用此功能。", "BUTTON": { - "LEARN_MORE": "Learn more", - "UPGRADE": "Upgrade" + "LEARN_MORE": "瞭解更多", + "UPGRADE": "升級" }, "FEATURES": { "PORTALS": { - "TITLE": "Multiple portals", - "DESCRIPTION": "Create multiple help center portals for different products using the same account." + "TITLE": "多門戶支援", + "DESCRIPTION": "使用同一賬戶為不同產品建立多個幫助中心門戶。" }, "LOCALES": { - "TITLE": "Full support for locales", - "DESCRIPTION": "Localize the portal in your language. We support all locales and allow translations for every article." + "TITLE": "全面支援多語言環境", + "DESCRIPTION": "將門戶本地化為您的語言。我們支援所有語言環境,並允許為每篇文章提供翻譯。" }, "SEO": { - "TITLE": "SEO-friendly design", - "DESCRIPTION": "Customize your meta tags to improve your visibility on search engines with our SEO-friendly pages." + "TITLE": "SEO友好設計", + "DESCRIPTION": "自定義您的Meta標籤,透過我們的SEO友好頁面提高在搜尋引擎中的可見性。" }, "API": { - "TITLE": "Full API support", - "DESCRIPTION": "Use the portal as a headless CMS with third party front-end frameworks using our APIs." + "TITLE": "全面API支援", + "DESCRIPTION": "使用我們的API將門戶作為無頭CMS與第三方前端框架整合。" } } }, - "LOADING": "Loading...", + "LOADING": "載入中...", "ARTICLES_PAGE": { "ARTICLE_CARD": { "CARD": { - "VIEWS": "{count} view | {count} views", + "VIEWS": "{count} 次瀏覽 | {count} 次瀏覽", "DROPDOWN_MENU": { - "PUBLISH": "Publish", - "DRAFT": "Draft", - "ARCHIVE": "Archive", + "PUBLISH": "釋出", + "DRAFT": "草稿", + "ARCHIVE": "歸檔", "DELETE": "刪除" }, "STATUS": { - "DRAFT": "Draft", - "PUBLISHED": "Published", - "ARCHIVED": "Archived" + "DRAFT": "草稿", + "PUBLISHED": "已釋出", + "ARCHIVED": "已歸檔" }, "CATEGORY": { - "UNCATEGORISED": "Uncategorised" + "UNCATEGORISED": "未分類" } } }, "ARTICLES_HEADER": { "TABS": { - "ALL": "All articles", + "ALL": "所有文章", "MINE": "我的", - "DRAFT": "Draft", - "PUBLISHED": "Published", - "ARCHIVED": "Archived" + "DRAFT": "草稿", + "PUBLISHED": "已釋出", + "ARCHIVED": "已歸檔" }, "CATEGORY": { - "ALL": "All categories" + "ALL": "所有類別" }, "LOCALE": { - "ALL": "All locales" + "ALL": "所有語言環境" }, - "NEW_ARTICLE": "New article" + "NEW_ARTICLE": "新建文章" }, "EMPTY_STATE": { "ALL": { - "TITLE": "Write an article", - "SUBTITLE": "Write a rich article, let’s get started!", - "BUTTON_LABEL": "New article" + "TITLE": "撰寫一篇文章", + "SUBTITLE": "撰寫一篇豐富的文章,讓我們開始吧!", + "BUTTON_LABEL": "新建文章" }, "MINE": { - "TITLE": "You haven't written any articles here", - "SUBTITLE": "All articles written by you show up here for quick access." + "TITLE": "您尚未在此撰寫任何文章", + "SUBTITLE": "您撰寫的所有文章將顯示在此處以便快速訪問。" }, "DRAFT": { - "TITLE": "There are no articles in drafts", - "SUBTITLE": "Draft articles will appear here" + "TITLE": "草稿中沒有文章", + "SUBTITLE": "草稿文章將顯示在此處" }, "PUBLISHED": { - "TITLE": "There are no published articles", - "SUBTITLE": "Published articles will appear here" + "TITLE": "沒有已釋出的文章", + "SUBTITLE": "已釋出的文章將顯示在此處" }, "ARCHIVED": { - "TITLE": "There are no articles in the archive", - "SUBTITLE": "Archived articles don't show up on the portal, you can use it to mark deprecated or outdated pages" + "TITLE": "歸檔中沒有文章", + "SUBTITLE": "歸檔文章不會顯示在門戶上,您可以用它標記已棄用或過時的頁面" }, "CATEGORY": { - "TITLE": "There are no articles in this category", - "SUBTITLE": "Articles in this category will appear here" + "TITLE": "此類別中沒有文章", + "SUBTITLE": "此類別中的文章將顯示在此處" } } }, "CATEGORY_PAGE": { "CATEGORY_HEADER": { - "NEW_CATEGORY": "New category", - "EDIT_CATEGORY": "Edit category", - "CATEGORIES_COUNT": "{n} category | {n} categories", + "NEW_CATEGORY": "新建類別", + "EDIT_CATEGORY": "編輯類別", + "CATEGORIES_COUNT": "{n} 個類別 | {n} 個類別", "BREADCRUMB": { - "CATEGORY_LOCALE": "Categories ({localeCode})", - "ACTIVE_CATEGORY": "{categoryName} ({categoryCount} articles) | {categoryName} ({categoryCount} article)" + "CATEGORY_LOCALE": "類別 ({localeCode})", + "ACTIVE_CATEGORY": "{categoryName} ({categoryCount} 篇文章) | {categoryName} ({categoryCount} 篇文章)" } }, "CATEGORY_EMPTY_STATE": { - "TITLE": "No categories found", - "SUBTITLE": "Categories will appear here. You can add a category by clicking the 'New Category' button." + "TITLE": "未找到類別", + "SUBTITLE": "類別將顯示在此處。您可以點選“新建類別”按鈕新增類別。" }, "CATEGORY_CARD": { - "ARTICLES_COUNT": "{count} article | {count} articles" + "ARTICLES_COUNT": "{count} 篇文章 | {count} 篇文章" }, "CATEGORY_DIALOG": { "CREATE": { "API": { - "SUCCESS_MESSAGE": "Category created successfully", - "ERROR_MESSAGE": "Unable to create category" + "SUCCESS_MESSAGE": "類別建立成功", + "ERROR_MESSAGE": "無法建立類別" } }, "EDIT": { "API": { - "SUCCESS_MESSAGE": "Category updated successfully", - "ERROR_MESSAGE": "Unable to update category" + "SUCCESS_MESSAGE": "類別更新成功", + "ERROR_MESSAGE": "無法更新類別" } }, "DELETE": { "API": { - "SUCCESS_MESSAGE": "Category deleted successfully", - "ERROR_MESSAGE": "Unable to delete category" + "SUCCESS_MESSAGE": "類別刪除成功", + "ERROR_MESSAGE": "無法刪除類別" } }, "HEADER": { - "CREATE": "Create category", - "EDIT": "Edit category", - "DESCRIPTION": "Editing a category will update the category in the public facing portal.", - "PORTAL": "Portal", - "LOCALE": "Locale" + "CREATE": "建立類別", + "EDIT": "編輯類別", + "DESCRIPTION": "編輯類別將更新面向公眾的門戶中的類別。", + "PORTAL": "入口網站", + "LOCALE": "語言環境" }, "FORM": { "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "Category name", + "PLACEHOLDER": "類別名稱", "ERROR": "名稱為必填" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Category slug for urls", - "ERROR": "Slug is required", + "LABEL": "網址代稱", + "PLACEHOLDER": "類別的URL Slug", + "ERROR": "Slug 是必填項", "HELP_TEXT": "app.chatwoot.com/hc/{portalSlug}/{localeCode}/categories/{categorySlug}" }, "DESCRIPTION": { "LABEL": "描述資訊", - "PLACEHOLDER": "Give a short description about the category.", + "PLACEHOLDER": "給出有關該類別的簡短描述。", "ERROR": "描述為必填" } }, @@ -628,238 +648,238 @@ } }, "LOCALES_PAGE": { - "LOCALES_COUNT": "No locales available | {n} locale | {n} locales", - "NEW_LOCALE_BUTTON_TEXT": "New locale", + "LOCALES_COUNT": "沒有可用的語言環境 | {n} 個語言環境 | {n} 個語言環境", + "NEW_LOCALE_BUTTON_TEXT": "新建語言環境", "LOCALE_CARD": { - "ARTICLES_COUNT": "{count} article | {count} articles", - "CATEGORIES_COUNT": "{count} category | {count} categories", - "DEFAULT": "Default", + "ARTICLES_COUNT": "{count} 篇文章 | {count} 篇文章", + "CATEGORIES_COUNT": "{count} 個類別 | {count} 個類別", + "DEFAULT": "預設", "DROPDOWN_MENU": { - "MAKE_DEFAULT": "Make default", + "MAKE_DEFAULT": "設為預設", "DELETE": "刪除" } }, "ADD_LOCALE_DIALOG": { - "TITLE": "Add a new locale", - "DESCRIPTION": "Select the language in which this article will be written. This will be added to your list of translations, and you can add more later.", + "TITLE": "新增一個新的語言環境", + "DESCRIPTION": "選擇此文章將使用的語言。這將新增到您的翻譯列表中,您可以稍後新增更多。", "COMBOBOX": { - "PLACEHOLDER": "Select locale..." + "PLACEHOLDER": "選擇語言環境..." }, "API": { - "SUCCESS_MESSAGE": "Locale added successfully", - "ERROR_MESSAGE": "Unable to add locale. Try again." + "SUCCESS_MESSAGE": "語言環境新增成功", + "ERROR_MESSAGE": "無法新增語言環境,請重試。" } } }, "EDIT_ARTICLE_PAGE": { "HEADER": { "STATUS": { - "SAVING": "Saving...", - "SAVED": "Saved" + "SAVING": "儲存中...", + "SAVED": "儲存成功" }, - "PREVIEW": "Preview", - "PUBLISH": "Publish", - "DRAFT": "Draft", - "ARCHIVE": "Archive", - "BACK_TO_ARTICLES": "Back to articles" + "PREVIEW": "預覽", + "PUBLISH": "釋出", + "DRAFT": "草稿", + "ARCHIVE": "歸檔", + "BACK_TO_ARTICLES": "返回文章" }, "EDIT_ARTICLE": { - "MORE_PROPERTIES": "More properties", - "UNCATEGORIZED": "Uncategorized", - "EDITOR_PLACEHOLDER": "Write something..." + "MORE_PROPERTIES": "更多屬性", + "UNCATEGORIZED": "未分類", + "EDITOR_PLACEHOLDER": "寫點什麼..." }, "ARTICLE_PROPERTIES": { - "ARTICLE_PROPERTIES": "Article properties", - "META_DESCRIPTION": "Meta description", - "META_DESCRIPTION_PLACEHOLDER": "Add meta description", - "META_TITLE": "Meta title", - "META_TITLE_PLACEHOLDER": "Add meta title", - "META_TAGS": "Meta tags", - "META_TAGS_PLACEHOLDER": "Add meta tags" + "ARTICLE_PROPERTIES": "文章屬性", + "META_DESCRIPTION": "Meta描述", + "META_DESCRIPTION_PLACEHOLDER": "新增Meta描述", + "META_TITLE": "Meta標題", + "META_TITLE_PLACEHOLDER": "新增Meta標題", + "META_TAGS": "Meta標籤", + "META_TAGS_PLACEHOLDER": "新增Meta標籤" }, "API": { - "ERROR": "Error while saving article" + "ERROR": "儲存文章時出錯" } }, "PORTAL_SWITCHER": { - "NEW_PORTAL": "New portal", - "PORTALS": "Portals", - "CREATE_PORTAL": "Create and manage multiple portals", - "ARTICLES": "articles", - "DOMAIN": "domain", - "PORTAL_NAME": "Portal name" + "NEW_PORTAL": "新建門戶", + "PORTALS": "入口網站", + "CREATE_PORTAL": "建立和管理多個門戶", + "ARTICLES": "文章", + "DOMAIN": "域名", + "PORTAL_NAME": "門戶名稱" }, "CREATE_PORTAL_DIALOG": { - "TITLE": "Create new portal", - "DESCRIPTION": "Give your portal a name and create a user-friendly URL slug. You can modify both later in the settings.", + "TITLE": "建立新門戶", + "DESCRIPTION": "為您的門戶命名並建立一個使用者友好的URL Slug。您稍後可以在設定中修改它們。", "CONFIRM_BUTTON_LABEL": "建立", "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "User Guide | Chatwoot", - "MESSAGE": "Choose an name for your portal.", + "PLACEHOLDER": "使用者指南 | Chatwoot", + "MESSAGE": "為您的門戶選擇一個名稱。", "ERROR": "名稱為必填" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "user-guide", - "ERROR": "Slug is required", - "FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide" + "LABEL": "網址代稱", + "PLACEHOLDER": "使用者指南", + "ERROR": "Slug 為必填項", + "FORMAT_ERROR": "請輸入有效的 Slug,例如:user-guide" } }, "PORTAL_SETTINGS": { "FORM": { "AVATAR": { - "LABEL": "Logo", - "IMAGE_UPLOAD_ERROR": "Couldn't upload image! Try again", - "IMAGE_UPLOAD_SUCCESS": "Image added successfully. Please click on save changes to save the logo", - "IMAGE_DELETE_SUCCESS": "Logo deleted successfully", - "IMAGE_DELETE_ERROR": "Unable to delete logo", - "IMAGE_UPLOAD_SIZE_ERROR": "Image size should be less than {size}MB" + "LABEL": "頭像", + "IMAGE_UPLOAD_ERROR": "無法上傳圖片!請再試一次", + "IMAGE_UPLOAD_SUCCESS": "圖片上傳成功,請點選儲存更改以儲存Logo", + "IMAGE_DELETE_SUCCESS": "Logo刪除成功", + "IMAGE_DELETE_ERROR": "無法刪除Logo", + "IMAGE_UPLOAD_SIZE_ERROR": "圖片大小應小於 {size}MB" }, "NAME": { "LABEL": "姓名", - "PLACEHOLDER": "Portal name", + "PLACEHOLDER": "門戶名稱", "ERROR": "名稱為必填" }, "HEADER_TEXT": { - "LABEL": "Header text", - "PLACEHOLDER": "Portal header text" + "LABEL": "標題文字", + "PLACEHOLDER": "門戶標題文字" }, "PAGE_TITLE": { - "LABEL": "Page title", - "PLACEHOLDER": "Portal page title" + "LABEL": "頁面標題", + "PLACEHOLDER": "門戶頁面標題" }, "HOME_PAGE_LINK": { - "LABEL": "Home page link", - "PLACEHOLDER": "Portal home page link", - "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'." + "LABEL": "主頁連結", + "PLACEHOLDER": "門戶主頁連結", + "ERROR": "輸入有效的 URL。主頁連結必須以「http://」或「https://」開頭。" }, "SLUG": { - "LABEL": "Slug", - "PLACEHOLDER": "Portal slug" + "LABEL": "網址代稱", + "PLACEHOLDER": "門戶Slug" }, "LIVE_CHAT_WIDGET": { - "LABEL": "Live chat widget", - "PLACEHOLDER": "Select live chat widget", - "HELP_TEXT": "Select a live chat widget that will appear on your help center", - "NONE_OPTION": "No widget" + "LABEL": "線上聊天小部件", + "PLACEHOLDER": "選擇線上聊天小部件", + "HELP_TEXT": "選擇將顯示在您的幫助中心上的線上聊天小部件", + "NONE_OPTION": "沒有小部件" }, "BRAND_COLOR": { - "LABEL": "Brand color" + "LABEL": "品牌顏色" }, - "SAVE_CHANGES": "Save changes" + "SAVE_CHANGES": "儲存更改" }, "CONFIGURATION_FORM": { "CUSTOM_DOMAIN": { - "HEADER": "Custom domain", - "LABEL": "Custom domain:", - "DESCRIPTION": "You can host your portal on a custom domain. For instance, if your website is yourdomain.com and you want your portal available at docs.yourdomain.com, simply enter that in this field.", - "STATUS_DESCRIPTION": "Your custom portal will start working as soon as it is verified.", - "PLACEHOLDER": "Portal custom domain", + "HEADER": "自定義域名", + "LABEL": "自定義域名:", + "DESCRIPTION": "您可以在自定義域名上託管您的門戶。例如,如果您的網站是 yourdomain.com,並且您希望您的門戶在 docs.yourdomain.com 上可用,只需在此欄位中輸入即可。", + "STATUS_DESCRIPTION": "您的自訂入口網站將在經過驗證後立即開始工作。", + "PLACEHOLDER": "門戶自定義域名", "EDIT_BUTTON": "編輯", - "ADD_BUTTON": "Add custom domain", + "ADD_BUTTON": "新增自定義域名", "STATUS": { - "LIVE": "Live", - "PENDING": "Awaiting verification", - "ERROR": "Verification failed" + "LIVE": "實時", + "PENDING": "等待驗證", + "ERROR": "驗證失敗" }, "DIALOG": { - "ADD_HEADER": "Add custom domain", - "EDIT_HEADER": "Edit custom domain", - "ADD_CONFIRM_BUTTON_LABEL": "Add domain", - "EDIT_CONFIRM_BUTTON_LABEL": "Update domain", - "LABEL": "Custom domain", - "PLACEHOLDER": "Portal custom domain", - "ERROR": "Custom domain is required", - "FORMAT_ERROR": "Please enter a valid domain URL e.g. docs.yourdomain.com" + "ADD_HEADER": "新增自定義域名", + "EDIT_HEADER": "編輯自定義域名", + "ADD_CONFIRM_BUTTON_LABEL": "新增域名", + "EDIT_CONFIRM_BUTTON_LABEL": "更新域名", + "LABEL": "自定義域名", + "PLACEHOLDER": "門戶自定義域名", + "ERROR": "自定義域名是必填項", + "FORMAT_ERROR": "請輸入有效的網域 URL,例如docs.yourdomain.com" }, "DNS_CONFIGURATION_DIALOG": { - "HEADER": "DNS configuration", - "DESCRIPTION": "Log in to the account you have with your DNS provider, and add a CNAME record for subdomain pointing to chatwoot.help", - "COPY": "Successfully copied CNAME", + "HEADER": "DNS配置", + "DESCRIPTION": "登入您的 DNS 提供商賬戶,並新增一個指向 chatwoot.help 的子域名的 CNAME 記錄", + "COPY": "已成功複製 CNAME", "SEND_INSTRUCTIONS": { - "HEADER": "Send instructions", - "DESCRIPTION": "If you would prefer to have someone from your development team to handle this step, you can enter email address below, and we will send them the required instructions.", - "PLACEHOLDER": "Enter their email", - "ERROR": "Enter a valid email address", + "HEADER": "發送指令", + "DESCRIPTION": "如果您希望讓您的開發團隊中的人員來處理此步驟,您可以在下面輸入電子郵件地址,我們將向他們發送所需的說明。", + "PLACEHOLDER": "輸入他們的電子郵件", + "ERROR": "輸入有效的電子郵件地址", "SEND_BUTTON": "發送" } } }, "DELETE_PORTAL": { - "BUTTON": "Delete {portalName}", - "HEADER": "Delete portal", - "DESCRIPTION": "Permanently delete this portal. This action is irreversible", + "BUTTON": "刪除 {portalName}", + "HEADER": "刪除門戶", + "DESCRIPTION": "永久刪除此門戶。此操作不可逆", "DIALOG": { - "HEADER": "Sure you want to delete {portalName}?", - "DESCRIPTION": "This is a permanent action that cannot be reversed.", + "HEADER": "確定要刪除 {portalName} 嗎?", + "DESCRIPTION": "這是一個永久操作,無法撤銷。", "CONFIRM_BUTTON_LABEL": "刪除" } }, - "EDIT_CONFIGURATION": "Edit configuration" + "EDIT_CONFIGURATION": "編輯配置" }, "API": { "CREATE_PORTAL": { - "SUCCESS_MESSAGE": "Portal created successfully", - "ERROR_MESSAGE": "Unable to create portal" + "SUCCESS_MESSAGE": "門戶建立成功", + "ERROR_MESSAGE": "無法建立門戶" }, "UPDATE_PORTAL": { - "SUCCESS_MESSAGE": "Portal updated successfully", - "ERROR_MESSAGE": "Unable to update portal" + "SUCCESS_MESSAGE": "門戶更新成功", + "ERROR_MESSAGE": "無法更新門戶" } } }, "PDF_UPLOAD": { - "TITLE": "Upload PDF Document", - "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI", - "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select", - "SELECT_FILE": "Select PDF File", - "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)", - "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...", + "TITLE": "上傳PDF文檔", + "DESCRIPTION": "上傳 PDF 文檔,利用 AI 自動產生常見問題解答", + "DRAG_DROP_TEXT": "將您的 PDF 檔案拖放到此處,或按一下以選擇", + "SELECT_FILE": "選擇 PDF 檔案", + "ADDITIONAL_CONTEXT_LABEL": "其他上下文(可選)", + "ADDITIONAL_CONTEXT_PLACEHOLDER": "提供常見問題產生的任何其他上下文或說明...", "UPLOADING": "上傳中", - "UPLOAD": "Upload & Process", + "UPLOAD": "上傳和進度", "CANCEL": "取消", - "ERROR_INVALID_TYPE": "Please select a valid PDF file", - "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB", - "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again." + "ERROR_INVALID_TYPE": "請選擇一個有效的 PDF 檔案", + "ERROR_FILE_TOO_LARGE": "檔案大小必須小於 512MB", + "ERROR_UPLOAD_FAILED": "上傳 PDF 失敗。請重試。" }, "PDF_DOCUMENTS": { - "TITLE": "PDF Documents", - "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them", - "UPLOAD_PDF": "Upload PDF", - "UPLOAD_FIRST_PDF": "Upload your first PDF", - "UPLOADED_BY": "Uploaded by", - "GENERATE_FAQS": "Generate FAQs", - "GENERATING": "Generating...", - "CONFIRM_DELETE": "Are you sure you want to delete {filename}?", + "TITLE": "PDF 文件", + "DESCRIPTION": "管理上傳的 PDF 文件並從它們生成常見問題", + "UPLOAD_PDF": "上傳 PDF", + "UPLOAD_FIRST_PDF": "上傳您的第一個PDF", + "UPLOADED_BY": "上傳者", + "GENERATE_FAQS": "生成常見問題", + "GENERATING": "生成中...", + "CONFIRM_DELETE": "您確定要刪除 {filename}?", "EMPTY_STATE": { - "TITLE": "No PDF documents yet", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI" + "TITLE": "尚無PDF文件", + "DESCRIPTION": "上傳 PDF 文件以使用 AI 自動生成常見問題內容" }, "STATUS": { - "UPLOADED": "Ready", - "PROCESSING": "Processing", + "UPLOADED": "已就緒", + "PROCESSING": "處理中", "PROCESSED": "已完成", - "FAILED": "Failed" + "FAILED": "失敗" } }, "CONTENT_GENERATION": { - "TITLE": "Content Generation", - "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI", - "UPLOAD_TITLE": "Upload PDF Document", - "DRAG_DROP": "Drag and drop your PDF file here, or click to select", - "SELECT_FILE": "Select PDF File", - "UPLOADING": "Processing document...", - "UPLOAD_SUCCESS": "Document processed successfully!", - "UPLOAD_ERROR": "Failed to upload document. Please try again.", - "INVALID_FILE_TYPE": "Please select a valid PDF file", - "FILE_TOO_LARGE": "File size must be less than 512MB", - "GENERATED_CONTENT": "Generated FAQ Content", - "PUBLISH_SELECTED": "Publish Selected", - "PUBLISHING": "Publishing...", - "FROM_DOCUMENT": "From document", - "NO_CONTENT": "No generated content available. Upload a PDF document to get started.", - "LOADING": "Loading generated content..." + "TITLE": "內容生成", + "DESCRIPTION": "上傳 PDF 文件以使用 AI 自動生成常見問題內容", + "UPLOAD_TITLE": "上傳 PDF 文件", + "DRAG_DROP": "拖放您的 PDF 檔案到此處,或單擊以選擇", + "SELECT_FILE": "選擇 PDF 檔案", + "UPLOADING": "正在處理文件...", + "UPLOAD_SUCCESS": "文件處理成功!", + "UPLOAD_ERROR": "上傳文件失敗。請重試。", + "INVALID_FILE_TYPE": "請選擇一個有效的 PDF 檔案", + "FILE_TOO_LARGE": "檔案大小必須小於 512MB", + "GENERATED_CONTENT": "生成常見問題", + "PUBLISH_SELECTED": "釋出所選內容", + "PUBLISHING": "釋出中...", + "FROM_DOCUMENT": "來自文件", + "NO_CONTENT": "沒有可用的生成內容。上傳 PDF 文件即可開始。", + "LOADING": "正在載入生成的內容..." } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/inbox.json b/app/javascript/dashboard/i18n/locale/zh_TW/inbox.json index 02383f7be..d8307e382 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/inbox.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/inbox.json @@ -1,16 +1,16 @@ { "INBOX": { "LIST": { - "TITLE": "My Inbox", - "DISPLAY_DROPDOWN": "Display", - "LOADING": "Fetching notifications", - "404": "There are no active notifications in this group.", - "NO_NOTIFICATIONS": "No notifications", - "NOTE": "Notifications from all subscribed inboxes", - "NO_MESSAGES_AVAILABLE": "Oops! Not able to fetch messages", - "SNOOZED_UNTIL": "Snoozed until", - "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", - "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week" + "TITLE": "我的收件箱", + "DISPLAY_DROPDOWN": "顯示", + "LOADING": "正在獲取通知", + "404": "此組中沒有活躍的通知。", + "NO_NOTIFICATIONS": "沒有通知", + "NOTE": "來自所有訂閱收件箱的通知", + "NO_MESSAGES_AVAILABLE": "哎呀!無法獲取訊息", + "SNOOZED_UNTIL": "推遲到", + "SNOOZED_UNTIL_TOMORROW": "推遲到明天", + "SNOOZED_UNTIL_NEXT_WEEK": "推遲到下週" }, "ACTION_HEADER": { "SNOOZE": "擱置通知", @@ -18,26 +18,26 @@ "BACK": "返回" }, "TYPES": { - "CONVERSATION_MENTION": "You have been mentioned in a conversation", - "CONVERSATION_CREATION": "New conversation created", - "CONVERSATION_ASSIGNMENT": "A conversation has been assigned to you", - "ASSIGNED_CONVERSATION_NEW_MESSAGE": "New message in an assigned conversation", - "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "New message in a conversation you are participating in", - "SLA_MISSED_FIRST_RESPONSE": "SLA target first response missed for conversation", - "SLA_MISSED_NEXT_RESPONSE": "SLA target next response missed for conversation", - "SLA_MISSED_RESOLUTION": "SLA target resolution missed for conversation" + "CONVERSATION_MENTION": "您被提及在對話中", + "CONVERSATION_CREATION": "新對話已建立", + "CONVERSATION_ASSIGNMENT": "對話已分配給您", + "ASSIGNED_CONVERSATION_NEW_MESSAGE": "分配的對話中有新訊息", + "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "您參與的對話中有新訊息", + "SLA_MISSED_FIRST_RESPONSE": "對話的首次響應SLA目標未達成", + "SLA_MISSED_NEXT_RESPONSE": "對話的下次響應SLA目標未達成", + "SLA_MISSED_RESOLUTION": "對話的解決SLA目標未達成" }, "TYPES_NEXT": { - "CONVERSATION_MENTION": "Mentioned", - "CONVERSATION_ASSIGNMENT": "Assigned to you", - "CONVERSATION_CREATION": "New Conversation", - "SLA_MISSED_FIRST_RESPONSE": "SLA breach", - "SLA_MISSED_NEXT_RESPONSE": "SLA breach", - "SLA_MISSED_RESOLUTION": "SLA breach", + "CONVERSATION_MENTION": "被提及", + "CONVERSATION_ASSIGNMENT": "分配給您", + "CONVERSATION_CREATION": "新對話", + "SLA_MISSED_FIRST_RESPONSE": "SLA違約", + "SLA_MISSED_NEXT_RESPONSE": "SLA違約", + "SLA_MISSED_RESOLUTION": "SLA違約", "PARTICIPATING_CONVERSATION_NEW_MESSAGE": "新訊息", "ASSIGNED_CONVERSATION_NEW_MESSAGE": "新訊息", - "SNOOZED_UNTIL": "Snoozed for {time}", - "SNOOZED_ENDS": "Snooze ended" + "SNOOZED_UNTIL": "推遲至{time}", + "SNOOZED_ENDS": "推遲結束" }, "NO_CONTENT": "沒有可用內容", "MENU_ITEM": { @@ -50,45 +50,45 @@ "DELETE_ALL_READ": "標記為未讀取已讀取" }, "DISPLAY_MENU": { - "SORT": "Sort", - "DISPLAY": "Display :", + "SORT": "排序", + "DISPLAY": "顯示:", "SORT_OPTIONS": { - "NEWEST": "Newest", - "OLDEST": "Oldest", + "NEWEST": "最新", + "OLDEST": "最舊", "PRIORITY": "優先程度" }, "DISPLAY_OPTIONS": { "SNOOZED": "擱置", - "READ": "Read", + "READ": "已讀", "LABELS": "標籤", - "CONVERSATION_ID": "Conversation ID" + "CONVERSATION_ID": "對話ID" } }, "ALERTS": { - "MARK_AS_READ": "Notification marked as read", - "MARK_AS_UNREAD": "Notification marked as unread", - "SNOOZE": "Notification snoozed", - "DELETE": "Notification deleted", - "MARK_ALL_READ": "All notifications marked as read", - "DELETE_ALL": "All notifications deleted", - "DELETE_ALL_READ": "All read notifications deleted" + "MARK_AS_READ": "通知標記為已讀", + "MARK_AS_UNREAD": "通知標記為未讀", + "SNOOZE": "通知已推遲", + "DELETE": "通知已刪除", + "MARK_ALL_READ": "所有通知標記為已讀", + "DELETE_ALL": "所有通知已刪除", + "DELETE_ALL_READ": "所有已讀通知已刪除" }, "REAUTHORIZE": { - "TITLE": "Reauthorization Required", - "DESCRIPTION": "Your WhatsApp connection has expired. Please reconnect to continue receiving and sending messages.", - "BUTTON_TEXT": "Reconnect WhatsApp", - "LOADING_FACEBOOK": "Loading Facebook SDK...", - "SUCCESS": "WhatsApp reconnected successfully", - "ERROR": "Failed to reconnect WhatsApp. Please try again.", - "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID is not configured. Please contact your administrator.", - "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp Configuration ID is not configured. Please contact your administrator.", - "CONFIGURATION_ERROR": "Configuration error occurred during reauthorization.", - "FACEBOOK_LOAD_ERROR": "Failed to load Facebook SDK. Please try again.", + "TITLE": "需要重新授權", + "DESCRIPTION": "您的 WhatsApp 連線已過期。請重新連線以繼續接收和發送訊息。", + "BUTTON_TEXT": "重新連線 WhatsApp", + "LOADING_FACEBOOK": "載入 Facebook SDK...", + "SUCCESS": "WhatsApp 重新連線成功", + "ERROR": "無法重新連線 WhatsApp。請再試一次。", + "WHATSAPP_APP_ID_MISSING": "WhatsApp ID未配置。請聯絡您的管理員。", + "WHATSAPP_CONFIG_ID_MISSING": "未配置 WhatsApp 設定 ID。請聯絡您的管理員。", + "CONFIGURATION_ERROR": "重新授權時發生配置錯誤。", + "FACEBOOK_LOAD_ERROR": "無法載入 Facebook SDK。請重試。", "TROUBLESHOOTING": { - "TITLE": "Troubleshooting", - "POPUP_BLOCKED": "Ensure pop-ups are allowed for this site", - "COOKIES": "Third-party cookies must be enabled", - "ADMIN_ACCESS": "You need admin access to the WhatsApp Business Account" + "TITLE": "疑難解答", + "POPUP_BLOCKED": "確保此站點允許彈出視窗", + "COOKIES": "必須啟用第三方cookie", + "ADMIN_ACCESS": "您需要管理員許可權才能訪問 WhatsApp Business 賬戶" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json index 9d33efd0b..bd56a417a 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json @@ -3,6 +3,9 @@ "HEADER": "收件匣", "DESCRIPTION": "A channel is the mode of communication your customer chooses to interact with you. An inbox is where you manage interactions for a specific channel. It can include communications from various sources such as email, live chat, and social media.", "LEARN_MORE": "Learn more about inboxes", + "COUNT": "{n} inbox | {n} inboxes", + "SEARCH_PLACEHOLDER": "Search inboxes...", + "NO_RESULTS": "No inboxes found matching your search", "RECONNECTION_REQUIRED": "Your inbox is disconnected. You won't receive new messages until you reauthorize it.", "CLICK_TO_RECONNECT": "Click here to reconnect.", "WHATSAPP_REGISTRATION_INCOMPLETE": "Your WhatsApp Business registration isn’t complete. Please check your display name status in Meta Business Manager before reconnecting.", @@ -575,7 +578,7 @@ "SUBTITLE": "Use only the configured business name as the sender name in the email header." }, "BUSINESS_NAME": { - "BUTTON_TEXT": "+ Configure your business name", + "BUTTON_TEXT": "Configure your business name", "PLACEHOLDER": "Enter your business name", "SAVE_BUTTON_TEXT": "Save" } @@ -589,8 +592,10 @@ "DISABLED": "已停用" }, "LOCK_TO_SINGLE_CONVERSATION": { - "ENABLED": "已啟用", - "DISABLED": "已停用" + "ENABLED": "Reopen same conversation", + "DISABLED": "Create new conversations", + "ENABLED_DESCRIPTION": "When a contact messages again, the previous conversation will be reopened.", + "DISABLED_DESCRIPTION": "A new conversation will be created each time after the previous one is resolved." }, "ENABLE_HMAC": { "LABEL": "啟用" @@ -625,6 +630,8 @@ "ACCOUNT_HEALTH": "Account Health", "CSAT": "顧客滿意度得分(CSAT)" }, + "CHANNEL_PREFERENCES": "Channel Preferences", + "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { "TITLE": "Manage your WhatsApp account", "DESCRIPTION": "Review your WhatsApp account status, messaging limits, and quality. Update settings or resolve issues if needed", @@ -678,6 +685,16 @@ "SANDBOX": "Sandbox", "LIVE": "Live" } + }, + "WEBHOOK": { + "TITLE": "Webhook 設定", + "DESCRIPTION": "您的 WhatsApp Business 帳號需要設定 Webhook URL,才能接收顧客傳送的訊息", + "ACTION_REQUIRED": "Webhook 尚未設定", + "REGISTER_BUTTON": "註冊 Webhook", + "REGISTER_SUCCESS": "Webhook 註冊成功", + "REGISTER_ERROR": "Webhook 註冊失敗,請再試一次。", + "CONFIGURED_SUCCESS": "Webhook 設定成功", + "URL_MISMATCH": "Webhook URL 不符" } }, "SETTINGS": "設定", @@ -708,8 +725,8 @@ "SENDER_NAME_SECTION_TEXT": "Enable/Disable showing Agent's name in email, if disabled it will show business name", "ENABLE_CONTINUITY_VIA_EMAIL": "Enable conversation continuity via email", "ENABLE_CONTINUITY_VIA_EMAIL_SUB_TEXT": "Conversations will continue over email if the contact email address is available.", - "LOCK_TO_SINGLE_CONVERSATION": "Lock to single conversation", - "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Enable or disable multiple conversations for the same contact in this inbox", + "LOCK_TO_SINGLE_CONVERSATION": "Conversation Routing", + "LOCK_TO_SINGLE_CONVERSATION_SUB_TEXT": "Configure conversation creation for existing contacts", "INBOX_UPDATE_TITLE": "收件匣設定", "INBOX_UPDATE_SUB_TEXT": "更新收件匣設定", "AUTO_ASSIGNMENT_SUB_TEXT": "啟用或停用此收件匣客服的對話自動分配。", @@ -758,6 +775,7 @@ "LABEL": "Help Center", "PLACEHOLDER": "Select Help Center", "SELECT_PLACEHOLDER": "Select Help Center", + "NONE": "無", "REMOVE": "Remove Help Center", "SUB_TEXT": "Attach a Help Center with the inbox" }, @@ -766,6 +784,53 @@ "MAX_ASSIGNMENT_LIMIT_RANGE_ERROR": "Please enter a value greater than 0", "MAX_ASSIGNMENT_LIMIT_SUB_TEXT": "Limit the maximum number of conversations from this inbox that can be auto assigned to an agent" }, + "ASSIGNMENT": { + "TITLE": "Conversation Assignment", + "DESCRIPTION": "Automatically assign incoming conversations to available agents based on assignment policies", + "ENABLE_AUTO_ASSIGNMENT": "Enable automatic conversation assignment", + "DEFAULT_RULES_TITLE": "Default assignment rules", + "DEFAULT_RULES_DESCRIPTION": "Using the default assignment behavior for all conversations", + "DEFAULT_RULE_1": "Earliest created conversations first", + "DEFAULT_RULE_2": "Round robin distribution", + "CUSTOMIZE_WITH_POLICY": "Customize with assignment policy", + "USING_POLICY": "Using custom assignment policy for this inbox", + "CUSTOMIZE_POLICY": "Customize with assignment policy", + "DELETE_POLICY": "Delete policy", + "POLICY_LABEL": "Assignment policy", + "ASSIGNMENT_ORDER_LABEL": "Assignment Order", + "ASSIGNMENT_METHOD_LABEL": "Assignment Method", + "POLICY_STATUS": { + "ACTIVE": "Active", + "INACTIVE": "Inactive" + }, + "PRIORITY": { + "EARLIEST_CREATED": "Earliest created", + "LONGEST_WAITING": "Longest waiting" + }, + "METHOD": { + "ROUND_ROBIN": "Round robin", + "BALANCED": "Balanced assignment" + }, + "UPGRADE_PROMPT": "Custom assignment policies are available on the Business plan", + "UPGRADE_TO_BUSINESS": "Upgrade to Business", + "DEFAULT_POLICY_LINKED": "Default policy linked", + "DEFAULT_POLICY_DESCRIPTION": "Link a custom assignment policy to customize how conversations are assigned to agents in this inbox.", + "LINK_EXISTING_POLICY": "Link existing policy", + "CREATE_NEW_POLICY": "Create new policy", + "NO_POLICIES": "No assignment policies found", + "VIEW_ALL_POLICIES": "View all policies", + "CURRENT_BEHAVIOR": "Currently using default assignment behavior:", + "LINK_SUCCESS": "Assignment policy linked successfully", + "LINK_ERROR": "Failed to link assignment policy" + }, + "ASSIGNMENT_POLICY": { + "DELETE_CONFIRM_TITLE": "Delete assignment policy?", + "DELETE_CONFIRM_MESSAGE": "Are you sure you want to remove this assignment policy from this inbox? The inbox will revert to default assignment rules.", + "CANCEL": "取消", + "CONFIRM_DELETE": "刪除", + "DELETE_SUCCESS": "Assignment policy removed successfully", + "DELETE_ERROR": "Failed to remove assignment policy" + }, "FACEBOOK_REAUTHORIZE": { "TITLE": "重新授權", "SUBTITLE": "Your Facebook connection has expired, please reconnect your Facebook page to continue services", @@ -837,6 +902,20 @@ "CONFIRM": "Create new template", "CANCEL": "返回" }, + "UTILITY_ANALYZER": { + "ACTION": "Check utility fit", + "HELPER_NOTE": "Check this message before submission to improve Utility fit. The system creates a dedicated CSAT template with buttons for reporting and submits it as Utility; Meta may still reclassify it as Marketing based on content.", + "RESULT_LABEL": "Meta category prediction", + "GUIDANCE_NOTE": "This is a guidance check, not a guarantee of Meta approval.", + "SUGGESTION_LABEL": "Suggested utility-safe rewrite", + "APPLY": "Use this rewrite", + "ERROR_MESSAGE": "Couldn't analyze the message. Please try again.", + "CLASSIFICATION": { + "LIKELY_UTILITY": "Likely Utility", + "LIKELY_MARKETING": "Likely Marketing", + "UNCLEAR": "Needs clarification" + } + }, "SURVEY_RULE": { "LABEL": "Survey rule", "DESCRIPTION_PREFIX": "Send the survey if the conversation", @@ -848,7 +927,7 @@ "SELECT_PLACEHOLDER": "select labels" }, "NOTE": "Note: CSAT surveys are sent only once per conversation", - "WHATSAPP_NOTE": "Note: We will create a template and send it for WhatsApp approval. After being approved, surveys will be sent only once per conversation as per the survey rule.", + "WHATSAPP_NOTE": "Note: When you save, the system creates a dedicated CSAT template in WhatsApp (used to capture rating and feedback in reports) and submits it as Utility for approval. Meta may still classify it as Marketing based on content. After approval, surveys are sent only once per conversation as per the survey rule.", "API": { "SUCCESS_MESSAGE": "CSAT settings updated successfully", "ERROR_MESSAGE": "We couldn't update CSAT settings. Please try again later." @@ -864,9 +943,11 @@ "UNAVAILABLE_MESSAGE_LABEL": "Unavailable message for visitors", "TOGGLE_HELP": "Enabling business availability will show the available hours on live chat widget even if all the agents are offline. Outside available hours visitors can be warned with a message and a pre-chat form.", "DAY": { + "DAY": "Day", + "AVAILABILITY": "有效的", + "HOURS": "Hours", "ENABLE": "Enable availability for this day", "UNAVAILABLE": "無法使用", - "HOURS": "小時", "VALIDATION_ERROR": "開始時間必須在關閉時間之前", "CHOOSE": "選擇" }, @@ -973,11 +1054,12 @@ "IN_A_DAY": "一天內" }, "WIDGET_COLOR_LABEL": "視窗小元件顏色", - "WIDGET_BUBBLE_POSITION_LABEL": "Widget Bubble Position", - "WIDGET_BUBBLE_TYPE_LABEL": "Widget Bubble Type", + "WIDGET_BUBBLE": "Bubble", + "WIDGET_BUBBLE_POSITION_LABEL": "Position:", + "WIDGET_BUBBLE_TYPE_LABEL": "類別:", "WIDGET_BUBBLE_LAUNCHER_TITLE": { "DEFAULT": "與我們對話", - "LABEL": "Widget Bubble Launcher Title", + "LABEL": "Launcher Title", "PLACE_HOLDER": "與我們對話" }, "UPDATE": { @@ -1002,7 +1084,7 @@ }, "WIDGET_SCREEN": { "DEFAULT": "Default", - "CHAT": "Chat" + "CHAT": "Chat mode" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "通常在幾分鐘內回覆", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/index.js b/app/javascript/dashboard/i18n/locale/zh_TW/index.js index 213387d0c..33e7851b0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/index.js +++ b/app/javascript/dashboard/i18n/locale/zh_TW/index.js @@ -8,6 +8,7 @@ import bulkActions from './bulkActions.json'; import campaign from './campaign.json'; import cannedMgmt from './cannedMgmt.json'; import chatlist from './chatlist.json'; +import companies from './companies.json'; import components from './components.json'; import contact from './contact.json'; import contactFilters from './contactFilters.json'; @@ -47,6 +48,7 @@ export default { ...campaign, ...cannedMgmt, ...chatlist, + ...companies, ...components, ...contact, ...contactFilters, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrationApps.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrationApps.json index 83e385079..e18711ae0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrationApps.json @@ -3,6 +3,9 @@ "FETCHING": "Fetching Integrations", "NO_HOOK_CONFIGURED": "There are no {integrationId} integrations configured in this account.", "HEADER": "Applications", + "COUNT": "{n} integration | {n} integrations", + "SEARCH_PLACEHOLDER": "Search...", + "NO_RESULTS": "No results found matching your search", "STATUS": { "ENABLED": "已啟用", "DISABLED": "已停用" @@ -31,6 +34,7 @@ "LIST": { "FETCHING": "Fetching integration hooks", "INBOX": "收件匣", + "ACTIONS": "操作", "DELETE": { "BUTTON_TEXT": "刪除" } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json index feb3146ed..a50a0d3e2 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json @@ -1,6 +1,7 @@ { "INTEGRATION_SETTINGS": { "SHOPIFY": { + "HEADER": "Shopify", "DELETE": { "TITLE": "Delete Shopify Integration", "MESSAGE": "Are you sure you want to delete the Shopify integration?" @@ -19,6 +20,8 @@ "DESCRIPTION": "Chatwoot integrates with multiple tools and services to improve your team's efficiency. Explore the list below to configure your favorite apps.", "LEARN_MORE": "Learn more about integrations", "LOADING": "Fetching integrations", + "SEARCH_PLACEHOLDER": "Search integrations...", + "NO_RESULTS": "No integrations found matching your search", "CAPTAIN": { "DISABLED": "Captain is not enabled on your account.", "CLICK_HERE_TO_CONFIGURE": "Click here to configure", @@ -28,6 +31,17 @@ "WEBHOOK": { "SUBSCRIBED_EVENTS": "Subscribed Events", "LEARN_MORE": "Learn more about webhooks", + "SECRET": { + "LABEL": "Secret", + "COPY": "Copy secret to clipboard", + "COPY_SUCCESS": "Secret copied to clipboard", + "TOGGLE": "Toggle secret visibility", + "CREATED_DESC": "Your webhook has been created. Use the secret below to verify webhook signatures. Please copy it now — you can also find it later in the webhook edit form.", + "DONE": "Done" + }, + "COUNT": "{n} webhook | {n} webhooks", + "SEARCH_PLACEHOLDER": "Search webhooks...", + "NO_RESULTS": "No webhooks found matching your search", "FORM": { "CANCEL": "取消", "DESC": "Webhook 事件為您提供了有關 Chatwoot 帳戶中發生的事情的即時資訊。請輸入一個有效的URL來配置回呼。", @@ -104,6 +118,7 @@ } }, "SLACK": { + "HEADER": "Slack", "DELETE": "刪除", "DELETE_CONFIRMATION": { "TITLE": "Delete the integration", @@ -145,7 +160,29 @@ "EXPAND": "Expand", "MAKE_FRIENDLY": "Change message tone to friendly", "MAKE_FORMAL": "Use formal tone", - "SIMPLIFY": "Simplify" + "SIMPLIFY": "Simplify", + "CONFIDENT": "Use confident tone", + "PROFESSIONAL": "Use professional tone", + "CASUAL": "Use casual tone", + "STRAIGHTFORWARD": "Use straightforward tone" + }, + "REPLY_OPTIONS": { + "IMPROVE_REPLY": "Improve reply", + "IMPROVE_REPLY_SELECTION": "Improve the selection", + "CHANGE_TONE": { + "TITLE": "Change tone", + "OPTIONS": { + "PROFESSIONAL": "Professional", + "CASUAL": "Casual", + "STRAIGHTFORWARD": "Straightforward", + "CONFIDENT": "Confident", + "FRIENDLY": "Friendly" + } + }, + "GRAMMAR": "Fix grammar & spelling", + "SUGGESTION": "Suggest a reply", + "SUMMARIZE": "Summarize the conversation", + "ASK_COPILOT": "Ask Copilot" }, "ASSISTANCE_MODAL": { "DRAFT_TITLE": "Draft content", @@ -201,12 +238,16 @@ "SIDEBAR_TXT": "

Dashboard Apps

Dashboard Apps allow organizations to embed an application inside the Chatwoot dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that inside the dashboard to provide user information, their orders, or their previous payment history.

When you embed your application using the dashboard in Chatwoot, your application will get the context of the conversation and contact as a window event. Implement a listener for the message event on your page to receive the context.

To add a new dashboard app, click on the button 'Add a new dashboard app'.

", "DESCRIPTION": "Dashboard Apps allow organizations to embed an application inside the dashboard to provide the context for customer support agents. This feature allows you to create an application independently and embed that to provide user information, their orders, or their previous payment history.", "LEARN_MORE": "Learn more about Dashboard Apps", + "COUNT": "{n} dashboard app | {n} dashboard apps", + "SEARCH_PLACEHOLDER": "Search dashboard apps...", + "NO_RESULTS": "No dashboard apps found matching your search", "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", "TABLE_HEADER": { "NAME": "姓名", - "ENDPOINT": "Endpoint" + "ENDPOINT": "Endpoint", + "ACTIONS": "操作" }, "EDIT_TOOLTIP": "編輯應用程式", "DELETE_TOOLTIP": "刪除應用程式" @@ -243,6 +284,7 @@ } }, "LINEAR": { + "HEADER": "Linear", "ADD_OR_LINK_BUTTON": "Create/Link Linear Issue", "LOADING": "Fetching linear issues...", "LOADING_ERROR": "There was an error fetching the linear issues, please try again", @@ -337,6 +379,7 @@ } }, "NOTION": { + "HEADER": "Notion", "DELETE": { "TITLE": "Are you sure you want to delete the Notion integration?", "MESSAGE": "Deleting this integration will remove access to your Notion workspace and stop all related functionality.", @@ -406,6 +449,7 @@ "CANCEL_ANYTIME": "You can change or cancel your plan anytime" }, "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "Captain AI is only available in the Enterprise plans.", "UPGRADE_PROMPT": "Upgrade your plan to get access to our assistants, copilot and more.", "ASK_ADMIN": "Please reach out to your administrator for the upgrade." }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/labelsMgmt.json index 472803b4d..44815c8fb 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/labelsMgmt.json @@ -5,6 +5,9 @@ "LOADING": "正在獲取標籤", "DESCRIPTION": "Labels help you categorize and prioritize conversations and leads. You can assign a label to a conversation or contact using the side panel.", "LEARN_MORE": "Learn more about labels", + "COUNT": "{n} label | {n} labels", + "SEARCH_PLACEHOLDER": "搜尋標籤...", + "NO_RESULTS": "No labels found matching your search", "SEARCH_404": "没有任何項目符合此查詢", "LIST": { "404": "此帳戶中没有可用的標籤。", @@ -13,7 +16,8 @@ "TABLE_HEADER": { "NAME": "姓名", "DESCRIPTION": "描述資訊", - "COLOR": "顏色" + "COLOR": "顏色", + "ACTION": "操作" } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/login.json b/app/javascript/dashboard/i18n/locale/zh_TW/login.json index 63169e05b..ed9850494 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/login.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/login.json @@ -2,8 +2,8 @@ "LOGIN": { "TITLE": "登入到 Chatwoot", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "example{'@'}companyname.com", + "LABEL": "電子郵件", + "PLACEHOLDER": "例項 {'@'}companyname.com", "ERROR": "請輸入一個有效的電子信箱" }, "PASSWORD": { @@ -11,30 +11,30 @@ "PLACEHOLDER": "密碼" }, "API": { - "SUCCESS_MESSAGE": "Login successful", - "ERROR_MESSAGE": "Could not connect to Woot server. Please try again.", - "UNAUTH": "Username or password is incorrect. Please try again." + "SUCCESS_MESSAGE": "登入成功", + "ERROR_MESSAGE": "無法連線Woot伺服器,請稍後再試", + "UNAUTH": "使用者名稱或密碼不正確,請重試。" }, "OAUTH": { - "GOOGLE_LOGIN": "Login with Google", - "BUSINESS_ACCOUNTS_ONLY": "Please use your company email address to login", - "NO_ACCOUNT_FOUND": "We couldn't find an account for your email address." + "GOOGLE_LOGIN": "使用Google登入", + "BUSINESS_ACCOUNTS_ONLY": "請使用您的公司電子郵件地址登入", + "NO_ACCOUNT_FOUND": "我們找不到您的電子郵件地址的帳戶。" }, "FORGOT_PASSWORD": "忘記密碼了?", "CREATE_NEW_ACCOUNT": "建立新帳戶", "SUBMIT": "登入", "SAML": { - "LABEL": "Login via SSO", - "TITLE": "Initiate Single Sign-on (SSO)", - "SUBTITLE": "Enter your work email to access your organization", - "BACK_TO_LOGIN": "Login via Password", + "LABEL": "透過 SSO 登入", + "TITLE": "啟動單一登入 (SSO)", + "SUBTITLE": "輸入您的工作電子郵件以存取您的組織", + "BACK_TO_LOGIN": "透過密碼登入", "WORK_EMAIL": { - "LABEL": "Work Email", - "PLACEHOLDER": "Enter your work email" + "LABEL": "工作信箱", + "PLACEHOLDER": "輸入您的工作電子郵件" }, - "SUBMIT": "Continue with SSO", + "SUBMIT": "繼續使用單一登入", "API": { - "ERROR_MESSAGE": "SSO authentication failed. Please check your credentials and try again." + "ERROR_MESSAGE": "SSO 身份驗證失敗。請檢查您的憑證並重試。" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/macros.json b/app/javascript/dashboard/i18n/locale/zh_TW/macros.json index cb3ed1194..89ba79791 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/macros.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/macros.json @@ -3,9 +3,12 @@ "HEADER": "Macros", "DESCRIPTION": "A macro is a set of saved actions that help customer service agents easily complete tasks. The agents can define a set of actions like tagging a conversation with a label, sending an email transcript, updating a custom attribute, etc., and they can run these actions in a single click.", "LEARN_MORE": "Learn more about macros", + "COUNT": "{n} macro | {n} macros", "HEADER_BTN_TXT": "Add a new macro", "HEADER_BTN_TXT_SAVE": "Save macro", "LOADING": "Fetching macros", + "SEARCH_PLACEHOLDER": "Search macros...", + "NO_RESULTS": "No macros found matching your search", "ERROR": "Something went wrong. Please try again", "ORDER_INFO": "Macros will run in the order you add your actions. You can rearrange them by dragging them by the handle beside each node.", "ADD": { @@ -29,7 +32,8 @@ "NAME": "姓名", "CREATED BY": "Created by", "LAST_UPDATED_BY": "Last updated by", - "VISIBILITY": "Visibility" + "VISIBILITY": "Visibility", + "ACTIONS": "操作" }, "404": "No macros found" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/mfa.json b/app/javascript/dashboard/i18n/locale/zh_TW/mfa.json index f584d7110..728deecbc 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/mfa.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/mfa.json @@ -1,7 +1,7 @@ { "MFA_SETTINGS": { "TITLE": "Two-Factor Authentication", - "SUBTITLE": "Secure your account with TOTP-based authentication", + "SUBTITLE": "Protect your account from unauthorized access with TOTP-based authentication. This adds an extra layer of security to your account.", "DESCRIPTION": "Add an extra layer of security to your account using a time-based one-time password (TOTP)", "STATUS_TITLE": "Authentication Status", "STATUS_DESCRIPTION": "Manage your two-factor authentication settings and backup recovery codes", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/report.json b/app/javascript/dashboard/i18n/locale/zh_TW/report.json index 3f36b9ef5..1363948ad 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/report.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/report.json @@ -3,7 +3,7 @@ "HEADER": "對話", "LOADING_CHART": "正在載入图表數據...", "NO_ENOUGH_DATA": "我們没有收到足夠的數據來生成報表,請稍後再試。", - "DOWNLOAD_AGENT_REPORTS": "下載客服報告", + "DOWNLOAD_CONVERSATION_REPORTS": "Download conversation reports", "DATA_FETCHING_FAILED": "Failed to fetch data, please try again later.", "SUMMARY_FETCHING_FAILED": "Failed to fetch summary, please try again later.", "METRICS": { @@ -128,11 +128,16 @@ }, "AGENT_REPORTS": { "HEADER": "客服總覽", - "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent’s name to learn more.", + "DESCRIPTION": "Easily track agent performance with key metrics such as conversations, response times, resolution times, and resolved cases. Click an agent's name to learn more.", "LOADING_CHART": "正在載入图表數據...", "NO_ENOUGH_DATA": "我們没有收到足夠的數據來生成報表,請稍後再試。", "DOWNLOAD_AGENT_REPORTS": "下載客服報告", "FILTER_DROPDOWN_LABEL": "選擇客服", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "AGENTS": "搜尋客服" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "對話", @@ -201,6 +206,11 @@ "NO_ENOUGH_DATA": "我們没有收到足夠的數據來生成報表,請稍後再試。", "DOWNLOAD_LABEL_REPORTS": "Download label reports", "FILTER_DROPDOWN_LABEL": "Select Label", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "LABELS": "搜尋標籤" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "對話", @@ -271,6 +281,11 @@ "FILTER_DROPDOWN_LABEL": "選擇收件匣", "ALL_INBOXES": "All Inboxes", "SEARCH_INBOX": "Search Inbox", + "FILTERS": { + "INPUT_PLACEHOLDER": { + "INBOXES": "Search inboxes" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "對話", @@ -334,11 +349,19 @@ }, "TEAM_REPORTS": { "HEADER": "Team Overview", - "DESCRIPTION": "Get a snapshot of your team’s performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", + "DESCRIPTION": "Get a snapshot of your team's performance with essential metrics, including conversations, response times, resolution times, and resolved cases. Click a team name for more details.", "LOADING_CHART": "正在載入图表數據...", "NO_ENOUGH_DATA": "我們没有收到足夠的數據來生成報表,請稍後再試。", "DOWNLOAD_TEAM_REPORTS": "Download team reports", "FILTER_DROPDOWN_LABEL": "Select Team", + "FILTERS": { + "ADD_FILTER": "添加查詢條件", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "TEAMS": "搜尋團隊" + } + }, "METRICS": { "CONVERSATIONS": { "NAME": "對話", @@ -402,22 +425,48 @@ }, "CSAT_REPORTS": { "HEADER": "CSAT Reports", - "NO_RECORDS": "There are no CSAT survey responses available.", + "NO_RECORDS": "No responses yet", + "NO_RECORDS_DESCRIPTION": "CSAT survey responses will appear here once customers start providing feedback.", "DOWNLOAD": "Download CSAT Reports", "DOWNLOAD_FAILED": "Failed to download CSAT Reports", "FILTERS": { + "ADD_FILTER": "添加查詢條件", + "CLEAR_ALL": "Clear all", + "NO_FILTER": "No filters available", + "INPUT_PLACEHOLDER": { + "AGENTS": "搜尋客服", + "INBOXES": "Search inboxes", + "TEAMS": "搜尋團隊", + "RATINGS": "Search ratings" + }, "AGENTS": { - "PLACEHOLDER": "Choose Agents" + "LABEL": "客服" + }, + "INBOXES": { + "LABEL": "收件匣" + }, + "TEAMS": { + "LABEL": "Team" + }, + "RATINGS": { + "LABEL": "Rating" } }, "TABLE": { "HEADER": { "CONTACT_NAME": "聯絡人", - "AGENT_NAME": "Assigned agent", + "AGENT_NAME": "客服", "RATING": "Rating", - "FEEDBACK_TEXT": "Feedback comment" - } + "FEEDBACK_TEXT": "Feedback comment", + "CONVERSATION": "對話", + "CUSTOMER": "Customer", + "RESPONSE": "Response", + "HANDLED_BY": "Handled by" + }, + "UNKNOWN_CUSTOMER": "Unknown customer" }, + "NO_AGENT": "No assigned agent", + "NO_FEEDBACK": "No feedback provided", "METRIC": { "TOTAL_RESPONSES": { "LABEL": "Total responses", @@ -430,6 +479,25 @@ "RESPONSE_RATE": { "LABEL": "Response rate", "TOOLTIP": "Total number of responses / Total number of CSAT survey messages sent * 100" + }, + "RATING_DISTRIBUTION": "Rating distribution" + }, + "REVIEW_NOTES": { + "TITLE": "Review notes", + "PLACEHOLDER": "Add review notes about this rating...", + "SAVE": "Save", + "CANCEL": "取消", + "SAVING": "Saving...", + "SAVED": "Notes saved successfully", + "SAVE_ERROR": "Failed to save notes", + "UPDATED_BY": "Updated by {name} {time}", + "UPDATED_BY_LABEL": "Updated by", + "PAYWALL": { + "TITLE": "Upgrade to add review notes", + "AVAILABLE_ON": "The review notes feature is only available in the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Add internal context to every CSAT response with review notes. Capture what really happened, spot patterns faster, and make better decisions from your feedback.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" } } }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/resetPassword.json b/app/javascript/dashboard/i18n/locale/zh_TW/resetPassword.json index 19be04308..4eebba2e0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/resetPassword.json @@ -1,16 +1,16 @@ { "RESET_PASSWORD": { - "TITLE": "Reset password", - "DESCRIPTION": "Enter the email address you use to log in to Chatwoot to get the password reset instructions.", - "GO_BACK_TO_LOGIN": "If you want to go back to the login page,", + "TITLE": "重置密碼", + "DESCRIPTION": "輸入您用來登入到Chatwoot 的電子郵件地址,獲取密碼重置說明。", + "GO_BACK_TO_LOGIN": "回到登入頁面", "EMAIL": { - "LABEL": "Email", + "LABEL": "電子郵件", "PLACEHOLDER": "請輸入您的電子信箱.", "ERROR": "請輸入一個有效的電子信箱." }, "API": { "SUCCESS_MESSAGE": "密碼重置連結已發送到您的電子信箱.", - "ERROR_MESSAGE": "Could not connect to Woot server. Please try again." + "ERROR_MESSAGE": "無法連線 Woot 伺服器,請稍後再試。" }, "SUBMIT": "送出" } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/search.json b/app/javascript/dashboard/i18n/locale/zh_TW/search.json index 2c46086f0..1e1c0063d 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/search.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/search.json @@ -1,68 +1,68 @@ { "SEARCH": { "TABS": { - "ALL": "All results", + "ALL": "所有結果", "CONTACTS": "聯絡人", "CONVERSATIONS": "對話", "MESSAGES": "訊息", - "ARTICLES": "Articles" + "ARTICLES": "文章" }, "SECTION": { "CONTACTS": "聯絡人", "CONVERSATIONS": "對話", "MESSAGES": "訊息", - "ARTICLES": "Articles" + "ARTICLES": "文章" }, - "VIEW_MORE": "View more", - "LOAD_MORE": "Load more", - "SEARCHING_DATA": "Searching", - "LOADING_DATA": "Loading", - "EMPTY_STATE": "No {item} found for query '{query}'", + "VIEW_MORE": "檢視更多", + "LOAD_MORE": "載入更多", + "SEARCHING_DATA": "搜尋中", + "LOADING_DATA": "載入中", + "EMPTY_STATE": "未找到與查詢 '{query}' 相關的 {item}", "EMPTY_STATE_FULL": "查無 {query} 條件的結果", - "PLACEHOLDER_KEYBINDING": "/to focus", - "INPUT_PLACEHOLDER": "Type 3 or more characters to search", - "RECENT_SEARCHES": "Recent searches", - "CLEAR_ALL": "Clear all", - "MOST_RECENT": "Most recent", - "EMPTY_STATE_DEFAULT": "Search by conversation id, email, phone number, messages for better search results. ", + "PLACEHOLDER_KEYBINDING": "/聚焦搜尋框", + "INPUT_PLACEHOLDER": "輸入 3 個或更多字元以進行搜尋", + "RECENT_SEARCHES": "最近搜尋", + "CLEAR_ALL": "清除全部", + "MOST_RECENT": "最新", + "EMPTY_STATE_DEFAULT": "透過會話 Id、電子郵件、電話號碼、訊息等進行搜尋以獲得更好的搜尋結果。 ", "BOT_LABEL": "機器人", - "READ_MORE": "Read more", - "READ_LESS": "Read less", - "WROTE": "wrote:", - "FROM": "From", - "EMAIL": "Email", + "READ_MORE": "檢視更多", + "READ_LESS": "少讀", + "WROTE": "寫道:", + "FROM": "來自", + "EMAIL": "電子郵件", "EMAIL_SUBJECT": "主旨", - "PRIVATE": "Private note", - "TRANSCRIPT": "Transcript", - "CREATED_AT": "created {time}", - "UPDATED_AT": "updated {time}", + "PRIVATE": "私人備註", + "TRANSCRIPT": "對話記錄", + "CREATED_AT": "建立於 {time}", + "UPDATED_AT": "更新於 {time}", "SORT_BY": { - "RELEVANCE": "Relevance" + "RELEVANCE": "相關性" }, "DATE_RANGE": { "LAST_7_DAYS": "最近7天", "LAST_30_DAYS": "最近30天", "LAST_60_DAYS": "最近60天", "LAST_90_DAYS": "最近90天", - "CUSTOM_RANGE": "Custom range:", - "CREATED_BETWEEN": "Created between", - "AND": "and", + "CUSTOM_RANGE": "自訂範圍:", + "CREATED_BETWEEN": "建立於以下期間", + "AND": "和", "APPLY": "套用", - "BEFORE_DATE": "Before {date}", - "AFTER_DATE": "After {date}", - "TIME_RANGE": "Filter by time", - "CLEAR_FILTER": "Clear filter" + "BEFORE_DATE": "{date}", + "AFTER_DATE": "{date}之後", + "TIME_RANGE": "按時間篩選", + "CLEAR_FILTER": "清除篩選條件" }, "FILTERS": { - "FILTER_MESSAGE": "Filter messages by:", + "FILTER_MESSAGE": "篩選郵件的依據:", "FROM": "發送者", "IN": "收件匣", "AGENTS": "客服", "CONTACTS": "聯絡人", "INBOXES": "收件匣", "NO_AGENTS": "查無客服", - "NO_CONTACTS": "Start by searching to see results", - "NO_INBOXES": "No inboxes found" + "NO_CONTACTS": "透過搜尋開始查看結果", + "NO_INBOXES": "未找到收件匣" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/setNewPassword.json b/app/javascript/dashboard/i18n/locale/zh_TW/setNewPassword.json index 2707523dd..c195bafc2 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/setNewPassword.json @@ -1,22 +1,22 @@ { "SET_NEW_PASSWORD": { - "TITLE": "Set new password", + "TITLE": "設定新密碼", "PASSWORD": { "LABEL": "密碼", "PLACEHOLDER": "密碼", "ERROR": "密碼太短了." }, "CONFIRM_PASSWORD": { - "LABEL": "Confirm password", + "LABEL": "請重新輸入一次密碼", "PLACEHOLDER": "確認密碼", "ERROR": "密碼不匹配." }, "API": { "SUCCESS_MESSAGE": "成功修改密碼.", - "ERROR_MESSAGE": "Could not connect to Woot server. Please try again." + "ERROR_MESSAGE": "無法連線Woot伺服器,請稍後再試" }, "CAPTCHA": { - "ERROR": "Verification expired. Please solve captcha again." + "ERROR": "驗證碼過期。請重新獲取" }, "SUBMIT": "送出" } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json index 62ef9a06a..0f64c2e94 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json @@ -273,7 +273,8 @@ "FILE_BUBBLE": { "DOWNLOAD": "下載", "UPLOADING": "上傳中...", - "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available." + "INSTAGRAM_STORY_UNAVAILABLE": "This story is no longer available.", + "INSTAGRAM_STORY_REPLY": "Replied to your story:" }, "LOCATION_BUBBLE": { "SEE_ON_MAP": "See on map" @@ -378,7 +379,57 @@ "INFO_SHORT": "Automatically mark offline when you aren't using the app." }, "DOCS": "Read docs", - "SECURITY": "Security" + "SECURITY": "Security", + "CAPTAIN_AI": "Captain", + "CONVERSATION_WORKFLOW": "Conversation Workflow" + }, + "CAPTAIN_SETTINGS": { + "TITLE": "Captain Settings", + "DESCRIPTION": "Configure your AI models and features for Captain. Captain follows a credit based billing, you will be charged credits for every action Captain takes based on the model selected.", + "LOADING": "Loading Captain configuration...", + "LINK_TEXT": "Learn more about Captain Credits", + "NOT_ENABLED": "Captain is not enabled for your account. Please upgrade your plan to access Captain features.", + "MODEL_CONFIG": { + "TITLE": "Model Configuration", + "DESCRIPTION": "Select AI models for different features.", + "SELECT_MODEL": "Select model", + "CREDITS_PER_MESSAGE": "{credits} credit/message", + "COMING_SOON": "Coming soon", + "EDITOR": { + "TITLE": "Editor Features", + "DESCRIPTION": "Powers smart compose, grammar corrections, tone adjustments, and content enhancement in your message editor." + }, + "ASSISTANT": { + "TITLE": "Assistant", + "DESCRIPTION": "Handles automated responses, conversation summaries, and intelligent reply suggestions for customer interactions." + }, + "COPILOT": { + "TITLE": "Co-pilot", + "DESCRIPTION": "Provides real-time contextual suggestions, knowledge base recommendations, and proactive insights during conversations." + } + }, + "FEATURES": { + "TITLE": "Features", + "DESCRIPTION": "Enable or disable AI-powered features.", + "AUDIO_TRANSCRIPTION": { + "TITLE": "Audio Transcription", + "DESCRIPTION": "Automatically convert voice messages and call recordings into searchable text transcripts." + }, + "HELP_CENTER_SEARCH": { + "TITLE": "Help Center Search Indexing", + "DESCRIPTION": "Use AI for context aware search inside your help center articles." + }, + "LABEL_SUGGESTION": { + "TITLE": "Label Suggestion", + "DESCRIPTION": "Automatically suggest relevant labels and tags for conversations based on content analysis and context.", + "MODEL_TITLE": "Label Suggestion Model", + "MODEL_DESCRIPTION": "Select the AI model to use for analyzing conversations and suggesting appropriate labels" + } + }, + "API": { + "SUCCESS": "Captain settings updated successfully.", + "ERROR": "Failed to update Captain settings. Please try again." + } }, "BILLING_SETTINGS": { "TITLE": "帳單", @@ -506,6 +557,58 @@ } } }, + "CONVERSATION_WORKFLOW": { + "INDEX": { + "HEADER": { + "TITLE": "Conversation Workflows", + "DESCRIPTION": "Configure rules and required fields for conversation resolution." + } + }, + "REQUIRED_ATTRIBUTES": { + "TITLE": "Attributes required on resolution", + "DESCRIPTION": "When resolving a conversation, agents will be prompted to fill these attributes if they haven't yet.", + "NO_ATTRIBUTES": "No attributes added yet", + "ADD": { + "TITLE": "Add Attributes", + "SEARCH_PLACEHOLDER": "Search attributes" + }, + "SAVE": { + "SUCCESS": "Required attributes updated", + "ERROR": "Could not update required attributes, please try again" + }, + "MODAL": { + "TITLE": "解決對話", + "DESCRIPTION": "Please fill in the following custom attributes before resolving this conversation", + "ACTIONS": { + "RESOLVE": "解決對話", + "CANCEL": "取消" + }, + "PLACEHOLDERS": { + "TEXT": "Write a note...", + "NUMBER": "Enter a number", + "LINK": "Add a link", + "DATE": "Pick a date", + "LIST": "Select an option" + }, + "CHECKBOX": { + "YES": "是", + "NO": "否" + } + }, + "PAYWALL": { + "TITLE": "Upgrade to use required attributes", + "AVAILABLE_ON": "The required conversation attributes feature is available on the Business and Enterprise plans.", + "UPGRADE_PROMPT": "Upgrade your plan to prompt agents to fill required attributes before conversation resolution.", + "UPGRADE_NOW": "Upgrade now", + "CANCEL_ANYTIME": "You can change or cancel your plan anytime" + }, + "ENTERPRISE_PAYWALL": { + "AVAILABLE_ON": "The required conversation attributes feature is available on the paid plans.", + "UPGRADE_PROMPT": "Upgrade to a paid plan to enforce required attributes before conversation resolution.", + "ASK_ADMIN": "Please reach out to your administrator for the upgrade." + } + } + }, "CREATE_ACCOUNT": { "NO_ACCOUNT_WARNING": "Uh oh! We could not find any Chatwoot accounts. Please create a new account to continue.", "NEW_ACCOUNT": "新帳戶", @@ -591,7 +694,8 @@ "CREATE_BUTTON": "Create policy", "API": { "SUCCESS_MESSAGE": "Assignment policy created successfully", - "ERROR_MESSAGE": "Failed to create assignment policy" + "ERROR_MESSAGE": "Failed to create assignment policy", + "INBOX_LINKED": "Inbox has been linked to the policy" } }, "EDIT": { @@ -605,6 +709,12 @@ "CONFIRM_BUTTON_LABEL": "Continue", "CANCEL_BUTTON_LABEL": "取消" }, + "INBOX_LINK_PROMPT": { + "TITLE": "Link inbox to policy", + "DESCRIPTION": "Would you like to link this inbox to the assignment policy?", + "LINK_BUTTON": "Link inbox", + "CANCEL_BUTTON": "Skip" + }, "API": { "SUCCESS_MESSAGE": "Assignment policy updated successfully", "ERROR_MESSAGE": "Failed to update assignment policy" @@ -643,7 +753,9 @@ }, "BALANCED": { "LABEL": "Balanced", - "DESCRIPTION": "Assign conversations based on available capacity." + "DESCRIPTION": "Assign conversations based on available capacity.", + "PREMIUM_MESSAGE": "Upgrade to access balanced assignment and agent capacity management.", + "PREMIUM_BADGE": "Premium" } }, "ASSIGNMENT_PRIORITY": { @@ -729,6 +841,20 @@ "SUCCESS_MESSAGE": "Agent removed from policy successfully", "ERROR_MESSAGE": "Failed to remove agent from policy" } + }, + "INBOX_LIMIT_API": { + "ADD": { + "SUCCESS_MESSAGE": "Inbox limit added successfully", + "ERROR_MESSAGE": "Failed to add inbox limit" + }, + "UPDATE": { + "SUCCESS_MESSAGE": "Inbox limit updated successfully", + "ERROR_MESSAGE": "Failed to update inbox limit" + }, + "DELETE": { + "SUCCESS_MESSAGE": "Inbox limit deleted successfully", + "ERROR_MESSAGE": "Failed to delete inbox limit" + } } }, "FORM": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/signup.json b/app/javascript/dashboard/i18n/locale/zh_TW/signup.json index 41a645e64..67087743f 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/signup.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/signup.json @@ -1,6 +1,7 @@ { "REGISTER": { "TRY_WOOT": "Create an account", + "GET_STARTED": "Get started with Chatwoot", "TITLE": "註冊", "TESTIMONIAL_HEADER": "All it takes is one step to move forward", "TESTIMONIAL_CONTENT": "You're one step away from engaging your customers, retaining them and finding new ones.", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/sla.json b/app/javascript/dashboard/i18n/locale/zh_TW/sla.json index 57605f081..f4dc28a54 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/sla.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/sla.json @@ -5,7 +5,12 @@ "ADD_ACTION_LONG": "Create a new SLA Policy", "DESCRIPTION": "Service Level Agreements (SLAs) are contracts that define clear expectations between your team and customers. They establish standards for response and resolution times, creating a framework for accountability and ensures a consistent, high-quality experience.", "LEARN_MORE": "Learn more about SLA", + "COUNT": "{n} SLA | {n} SLAs", "LOADING": "Fetching SLAs", + "SEARCH_PLACEHOLDER": "Search SLA...", + "SEARCH": { + "NO_RESULTS": "No SLA found matching your search" + }, "PAYWALL": { "TITLE": "Upgrade to create SLAs", "AVAILABLE_ON": "The SLA feature is only available in the Business and Enterprise plans.", @@ -20,14 +25,18 @@ }, "LIST": { "404": "There are no SLAs available in this account.", + "TABLE_HEADER": { + "SLA": "服務水準協議(SLA)", + "BUSINESS_HOURS": "Business hours" + }, "EMPTY": { "TITLE_1": "Enterprise P0", "DESC_1": "Issues raised by enterprise customers, that require immediate attention.", "TITLE_2": "Enterprise P1", "DESC_2": "Issues raised by enterprise customers, that needs to be acknowledged quickly." }, - "BUSINESS_HOURS_ON": "Business hours on", - "BUSINESS_HOURS_OFF": "Business hours off", + "BUSINESS_HOURS_ON": "Turned on", + "BUSINESS_HOURS_OFF": "Turned off", "RESPONSE_TYPES": { "FRT": "First response time threshold", "NRT": "Next response time threshold", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/snooze.json b/app/javascript/dashboard/i18n/locale/zh_TW/snooze.json new file mode 100644 index 000000000..4b380fdef --- /dev/null +++ b/app/javascript/dashboard/i18n/locale/zh_TW/snooze.json @@ -0,0 +1,72 @@ +{ + "SNOOZE_PARSER": { + "UNITS": { + "MINUTE": "minute", + "MINUTES": "minutes", + "HOUR": "hour", + "HOURS": "小時", + "DAY": "day", + "DAYS": "days", + "WEEK": "week", + "WEEKS": "weeks", + "MONTH": "month", + "MONTHS": "months", + "YEAR": "month", + "YEARS": "years" + }, + "HALF": "half", + "NEXT": "next", + "THIS": "this", + "AT": "at", + "IN": "in", + "FROM_NOW": "from now", + "NEXT_YEAR": "next year", + "MERIDIEM": { + "AM": "am", + "PM": "pm" + }, + "RELATIVE": { + "TOMORROW": "明天", + "DAY_AFTER_TOMORROW": "day after tomorrow", + "NEXT_WEEK": "下週", + "NEXT_MONTH": "next month", + "THIS_WEEKEND": "this weekend", + "NEXT_WEEKEND": "next weekend" + }, + "TIME_OF_DAY": { + "MORNING": "morning", + "AFTERNOON": "afternoon", + "EVENING": "evening", + "NIGHT": "night", + "NOON": "noon", + "MIDNIGHT": "midnight" + }, + "WORD_NUMBERS": { + "ONE": "one", + "TWO": "two", + "THREE": "three", + "FOUR": "four", + "FIVE": "five", + "SIX": "six", + "SEVEN": "seven", + "EIGHT": "eight", + "NINE": "nine", + "TEN": "ten", + "TWELVE": "twelve", + "FIFTEEN": "fifteen", + "TWENTY": "twenty", + "THIRTY": "thirty" + }, + "ORDINALS": { + "FIRST": "first", + "SECOND": "second", + "THIRD": "third", + "FOURTH": "fourth", + "FIFTH": "fifth" + }, + "OF": "of", + "AFTER": "after", + "WEEK": "week", + "DAY": "day" + } +} diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/teamsSettings.json b/app/javascript/dashboard/i18n/locale/zh_TW/teamsSettings.json index 518557287..637ec5a57 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/teamsSettings.json @@ -5,6 +5,9 @@ "LOADING": "Fetching teams", "DESCRIPTION": "Teams allow you to organize agents into groups based on their responsibilities. An agent can belong to multiple teams. When working collaboratively, you can assign conversations to specific teams.", "LEARN_MORE": "Learn more about teams", + "COUNT": "{n} team | {n} teams", + "SEARCH_PLACEHOLDER": "搜尋團隊...", + "NO_RESULTS": "No teams found matching your search", "LIST": { "404": "There are no teams created on this account.", "EDIT_TEAM": "編輯團隊", @@ -65,7 +68,7 @@ }, "AGENTS": { "AGENT": "客服", - "EMAIL": "電子信箱", + "EMAIL": "Email", "BUTTON_TEXT": "新增客服", "ADD_AGENTS": "正在將客服加入到你的團隊...", "SELECT": "選擇", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/whatsappTemplates.json b/app/javascript/dashboard/i18n/locale/zh_TW/whatsappTemplates.json index cf28312dc..293701544 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/whatsappTemplates.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/whatsappTemplates.json @@ -1,47 +1,47 @@ { "WHATSAPP_TEMPLATES": { "MODAL": { - "TITLE": "Whatsapp Templates", - "SUBTITLE": "Select the whatsapp template you want to send", - "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}" + "TITLE": "Whatsapp 模板列表", + "SUBTITLE": "請選擇想要傳送的 Whatsapp 訊息模板", + "TEMPLATE_SELECTED_SUBTITLE": "配置範本:{templateName}" }, "PICKER": { - "SEARCH_PLACEHOLDER": "Search Templates", - "NO_TEMPLATES_FOUND": "No templates found for", - "HEADER": "Header", - "BODY": "Body", - "FOOTER": "Footer", - "BUTTONS": "Buttons", - "CATEGORY": "Category", - "MEDIA_CONTENT": "Media Content", - "MEDIA_CONTENT_FALLBACK": "media content", - "NO_TEMPLATES_AVAILABLE": "No WhatsApp templates available. Click refresh to sync templates from WhatsApp.", - "REFRESH_BUTTON": "Refresh templates", - "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.", - "REFRESH_ERROR": "Failed to refresh templates. Please try again.", + "SEARCH_PLACEHOLDER": "查詢模板", + "NO_TEMPLATES_FOUND": "沒有找到對應的模版", + "HEADER": "標題", + "BODY": "正文", + "FOOTER": "頁腳", + "BUTTONS": "按鈕", + "CATEGORY": "類別", + "MEDIA_CONTENT": "媒體內容", + "MEDIA_CONTENT_FALLBACK": "媒體內容", + "NO_TEMPLATES_AVAILABLE": "沒有可用的 WhatsApp 範本。點擊重新整理以從 WhatsApp 同步範本。", + "REFRESH_BUTTON": "刷新模板", + "REFRESH_SUCCESS": "已啟動模板刷新。更新可能需要幾分鐘的時間。 ", + "REFRESH_ERROR": "刷新範本失敗。請重試。 ", "LABELS": { - "LANGUAGE": "Language", - "TEMPLATE_BODY": "Template Body", - "CATEGORY": "Category" + "LANGUAGE": "語言", + "TEMPLATE_BODY": "模板內容", + "CATEGORY": "類別" } }, "PARSER": { - "VARIABLES_LABEL": "Variables", - "LANGUAGE": "Language", - "CATEGORY": "Category", - "VARIABLE_PLACEHOLDER": "Enter {variable} value", - "GO_BACK_LABEL": "Go Back", - "SEND_MESSAGE_LABEL": "Send Message", - "FORM_ERROR_MESSAGE": "Please fill all variables before sending", - "MEDIA_HEADER_LABEL": "{type} Header", - "OTP_CODE": "Enter 4-8 digit OTP", - "EXPIRY_MINUTES": "Enter expiry minutes", - "BUTTON_PARAMETERS": "Button Parameters", - "BUTTON_LABEL": "Button {index}", - "COUPON_CODE": "Enter coupon code (max 15 chars)", - "MEDIA_URL_LABEL": "Enter {type} URL", - "DOCUMENT_NAME_PLACEHOLDER": "Enter document filename (e.g., Invoice_2025.pdf)", - "BUTTON_PARAMETER": "Enter button parameter" + "VARIABLES_LABEL": "引數", + "LANGUAGE": "語言", + "CATEGORY": "類別", + "VARIABLE_PLACEHOLDER": "請填寫 {variable}", + "GO_BACK_LABEL": "返回", + "SEND_MESSAGE_LABEL": "傳送訊息", + "FORM_ERROR_MESSAGE": "你必須填寫所有引數才能傳送", + "MEDIA_HEADER_LABEL": "{type} 標題", + "OTP_CODE": "輸入 4 到 8 位數的一次性密碼", + "EXPIRY_MINUTES": "輸入到期分鐘", + "BUTTON_PARAMETERS": "按鈕參數", + "BUTTON_LABEL": "按鈕{index}", + "COUPON_CODE": "輸入優惠券代碼(最多 15 個字元)", + "MEDIA_URL_LABEL": "輸入 {type} URL", + "DOCUMENT_NAME_PLACEHOLDER": "輸入文件檔案名稱(例如 Invoice_2025.pdf)", + "BUTTON_PARAMETER": "輸入按鈕參數" } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/yearInReview.json b/app/javascript/dashboard/i18n/locale/zh_TW/yearInReview.json index 14dc66f2f..f75991ddd 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/yearInReview.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/yearInReview.json @@ -1,64 +1,64 @@ { "YEAR_IN_REVIEW": { - "TITLE": "Year in Review", - "LOADING": "Loading your year in review...", - "ERROR": "Failed to load year in review", + "TITLE": "年度回顧", + "LOADING": "正在載入您的年度回顧...", + "ERROR": "無法載入年度回顧", "CLOSE": "關閉", "CONVERSATIONS": { - "TITLE": "You have handled", - "SUBTITLE": "對話", - "FALLBACK": "This year wasn't about the numbers. It was about showing up.", + "TITLE": "您已處理", + "SUBTITLE": "則對話", + "FALLBACK": "今年不只是數字,而是每一次你都在場。", "COMPARISON": { - "0_50": "You showed up, and that's how every good inbox begins.", - "50_100": "You kept the replies flowing and the conversations alive.", - "100_500": "You handled serious volume and kept everything on track.", - "500_2000": "You kept things moving while the volume kept climbing.", - "2000_10000": "You ran high traffic through your inbox without breaking a sweat.", - "10000_PLUS": "That's a full city of customers knocking on your door. You made it look effortless." + "0_50": "你出現了,而這正是每個優秀收件匣的開始。", + "50_100": "你讓回覆持續流動,讓每段對話保持活力。", + "100_500": "你處理了相當可觀的量,並讓一切保持正軌。", + "500_2000": "即使對話量持續攀升,你仍然讓一切順利運轉。", + "2000_10000": "高流量湧入收件匣,但你依舊從容應對。", + "10000_PLUS": "像是一整座城市的顧客都在敲門,而你讓這一切看起來毫不費力。" } }, "BUSIEST_DAY": { - "TITLE": "Your busiest day was", - "MESSAGE": "{count} conversations that day.", + "TITLE": "您最忙碌的一天是", + "MESSAGE": "當天共有 {count} 則對話。", "COMPARISON": { - "0_5": "A warm-up lap that barely woke the inbox.", - "5_10": "Enough action to justify a second cup of coffee.", - "10_25": "Things got busy and the inbox stayed on its toes.", - "25_50": "A proper rush that barely broke a sweat.", - "50_100": "Controlled chaos, handled like a normal Tuesday.", - "100_500": "Absolute dumpster fire, somehow still shipping replies.", - "500_PLUS": "The inbox lost all chill and never slowed down." + "0_5": "像是熱身圈,才剛讓收件匣醒過來。", + "5_10": "忙到值得再來一杯咖啡。", + "10_25": "事情開始變多,但收件匣依然穩穩接住。", + "25_50": "一波扎實的忙碌時段,但你依然從容。", + "50_100": "可控的混亂,被你處理得像普通星期二一樣。", + "100_500": "簡直一團混亂,但你還是持續把回覆送出去。", + "500_PLUS": "收件匣徹底失控,但你從未掉速。" } }, "PERSONALITY": { - "TITLE": "Your support personality is", + "TITLE": "您的客服人格是", "MESSAGES": { - "SWIFT_HELPER": "You replied in {time} on average. Faster than most notifications.", - "QUICK_RESPONDER": "You replied in {time} on average. The inbox barely waited.", - "STEADY_SUPPORT": "You replied in {time} on average. Calm pace, solid replies.", - "THOUGHTFUL_ADVISOR": "You replied in {time} on average. Took the time to get it right." + "SWIFT_HELPER": "您的平均回覆時間為 {time}。比大多數通知還快。", + "QUICK_RESPONDER": "您的平均回覆時間為 {time}。收件匣幾乎不用等待。", + "STEADY_SUPPORT": "您的平均回覆時間為 {time}。節奏穩定,回覆扎實。", + "THOUGHTFUL_ADVISOR": "您的平均回覆時間為 {time}。願意花時間把事情做對。" } }, "THANK_YOU": { - "TITLE": "Congratulations on surviving the inbox of {year}.", - "MESSAGE": "Thank you for your incredible dedication to supporting customers throughout this year. Your hard work has made a real difference, and we're grateful to have you on this journey. Here's to making {nextYear} even better together!" + "TITLE": "恭喜您撐過了 {year} 年的收件匣。", + "MESSAGE": "感謝您這一年來持續為客戶提供出色的支援。您的努力帶來了真正的改變,我們很高興能與您一起走過這段旅程。讓我們一起讓 {nextYear} 變得更好!" }, "SHARE_MODAL": { - "TITLE": "Share Your Year in Review", - "PREPARING": "Preparing your image...", + "TITLE": "分享您的年度回顧", + "PREPARING": "正在準備您的圖片...", "DOWNLOAD": "下載", - "SHARE_TITLE": "My {year} Year in Review", - "SHARE_TEXT": "Check out my {year} Year in Review with Chatwoot!", - "BRANDING": "Made with Chatwoot" + "SHARE_TITLE": "我的 {year} 年度回顧", + "SHARE_TEXT": "來看看我在 Chatwoot 的 {year} 年度回顧!", + "BRANDING": "使用 Chatwoot 製作" }, "BANNER": { - "TITLE": "Your {year} Year in Review is here", - "BUTTON": "See your impact" + "TITLE": "您的 {year} 年度回顧來了", + "BUTTON": "看看您的影響力" }, "NAVIGATION": { - "PREVIOUS": "Previous", - "NEXT": "Next", - "SHARE": "Share conversation" + "PREVIOUS": "上一頁", + "NEXT": "下一頁", + "SHARE": "分享" } } } diff --git a/app/javascript/survey/i18n/locale/zh_TW.json b/app/javascript/survey/i18n/locale/zh_TW.json index 29a4ddd22..057971308 100644 --- a/app/javascript/survey/i18n/locale/zh_TW.json +++ b/app/javascript/survey/i18n/locale/zh_TW.json @@ -7,7 +7,7 @@ }, "FEEDBACK": { "LABEL": "有什麼想法想分享嗎?", - "PLACEHOLDER": "Your feedback (optional)", + "PLACEHOLDER": "您的反饋(可選)", "BUTTON_TEXT": "提交反饋" }, "API": { @@ -15,5 +15,5 @@ "ERROR_MESSAGE": "無法連接伺服器,請稍後再試" } }, - "POWERED_BY": "Powered by Chatwoot" + "POWERED_BY": "由 Chatwoot 支援" } diff --git a/app/javascript/widget/i18n/locale/bg.json b/app/javascript/widget/i18n/locale/bg.json index c26a30565..369caa46a 100644 --- a/app/javascript/widget/i18n/locale/bg.json +++ b/app/javascript/widget/i18n/locale/bg.json @@ -8,46 +8,46 @@ "SUBMIT": "Изпращане" }, "MESSAGE_BUBBLE": { - "RETRY": "Send message again", - "ERROR_MESSAGE": "Couldn't send, try again" + "RETRY": "Изпратете съобщението отново", + "ERROR_MESSAGE": "Неуспешно изпращане, опитайте отново" } }, "THUMBNAIL": { "AUTHOR": { - "NOT_AVAILABLE": "Not available" + "NOT_AVAILABLE": "Няма информация" } }, "TEAM_AVAILABILITY": { "ONLINE": "На линия сме", "OFFLINE": "В момента не сме на линия", - "BACK_AS_SOON_AS_POSSIBLE": "We will be back as soon as possible" + "BACK_AS_SOON_AS_POSSIBLE": "Ще се върнем възможно най-скоро" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Обикновено отговаряме до няколко минути", "IN_A_FEW_HOURS": "Обикновено отговаряме до няколко часа", "IN_A_DAY": "Обикновено отговаряме до един ден", - "BACK_IN_HOURS": "We will be back online in {n} hour | We will be back online in {n} hours", - "BACK_IN_MINUTES": "We will be back online in {time} minutes", - "BACK_AT_TIME": "We will be back online at {time}", - "BACK_ON_DAY": "We will be back online on {day}", - "BACK_TOMORROW": "We will be back online tomorrow", - "BACK_IN_SOME_TIME": "We will be back online in some time" + "BACK_IN_HOURS": "Ще бъдем онлайн след {n} час | Ще бъдем онлайн след {n} часа", + "BACK_IN_MINUTES": "Ще бъдем онлайн след {time} минути", + "BACK_AT_TIME": "Ще бъдем онлайн в {time}", + "BACK_ON_DAY": "Ще бъдем онлайн в {day}", + "BACK_TOMORROW": "Ще бъдем онлайн утре", + "BACK_IN_SOME_TIME": "Ще бъдем онлайн след известно време" }, "DAY_NAMES": { - "SUNDAY": "Sunday", - "MONDAY": "Monday", - "TUESDAY": "Tuesday", - "WEDNESDAY": "Wednesday", - "THURSDAY": "Thursday", - "FRIDAY": "Friday", - "SATURDAY": "Saturday" + "SUNDAY": "Неделя", + "MONDAY": "Понеделник", + "TUESDAY": "Вторник", + "WEDNESDAY": "Сряда", + "THURSDAY": "Четвъртък", + "FRIDAY": "Петък", + "SATURDAY": "Събота" }, "START_CONVERSATION": "Започнете разговор", - "END_CONVERSATION": "End Conversation", - "CONTINUE_CONVERSATION": "Continue conversation", - "YOU": "You", + "END_CONVERSATION": "Приключване на разговора", + "CONTINUE_CONVERSATION": "Продължете разговора", + "YOU": "Вие", "START_NEW_CONVERSATION": "Започнете нов разговор", - "VIEW_UNREAD_MESSAGES": "You have unread messages", + "VIEW_UNREAD_MESSAGES": "Имате непрочетени съобщения", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "Вижте новите съобщения", "CLOSE_MESSAGES_BUTTON": "Затвори", @@ -58,7 +58,7 @@ "LABEL": "Чатете с нас" }, "POWERED_BY": "Осъществено от Chatwoot", - "EMAIL_PLACEHOLDER": "Моля, въведете имейла адреса си", + "EMAIL_PLACEHOLDER": "Моля, въведете имейл адреса си", "CHAT_PLACEHOLDER": "Напишете вашето съобщение", "TODAY": "Днес", "YESTERDAY": "Вчера", @@ -72,17 +72,17 @@ "EMAIL_ADDRESS": { "LABEL": "Имейл адрес", "PLACEHOLDER": "Моля, въведете имейл адреса си", - "REQUIRED_ERROR": "Email Address is required", - "VALID_ERROR": "Please enter a valid email address" + "REQUIRED_ERROR": "Имейл адресът е задължителен", + "VALID_ERROR": "Моля, въведете валиден имейл адрес" }, "PHONE_NUMBER": { "LABEL": "Телефон", - "PLACEHOLDER": "Please enter your phone number", - "REQUIRED_ERROR": "Phone Number is required", - "DIAL_CODE_VALID_ERROR": "Please select a country code", - "VALID_ERROR": "Please enter a valid phone number", + "PLACEHOLDER": "Моля, въведете вашия телефонен номер", + "REQUIRED_ERROR": "Телефонният номер е задължителен", + "DIAL_CODE_VALID_ERROR": "Моля, изберете код на държавата", + "VALID_ERROR": "Моля, въведете валиден телефонен номер", "DROPDOWN_EMPTY": "Няма намерени резултати", - "DROPDOWN_SEARCH": "Search country" + "DROPDOWN_SEARCH": "Търсене на държава" }, "MESSAGE": { "LABEL": "Съобщение", @@ -90,21 +90,21 @@ "ERROR": "Съобщението е прекалено кратко" } }, - "CAMPAIGN_HEADER": "Преди да започенте разговора, моля, посочете вашето име и имейл адрес", - "IS_REQUIRED": "is required", - "REQUIRED": "Required", - "REGEX_ERROR": "Please provide a valid input" + "CAMPAIGN_HEADER": "Преди да започнете разговора, моля, посочете вашето име и имейл адрес", + "IS_REQUIRED": "е задължително", + "REQUIRED": "Задължително", + "REGEX_ERROR": "Моля, въведете валидни данни" }, - "FILE_SIZE_LIMIT": "Файлът надхвърля {MAXIMUM_FILE_UPLOAD_SIZE} лимит", + "FILE_SIZE_LIMIT": "Файлът надхвърля лимита от {MAXIMUM_FILE_UPLOAD_SIZE}", "CHAT_FORM": { "INVALID": { "FIELD": "Невалидно поле" } }, "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search", - "ARIA_LABEL": "Emoji picker" + "PLACEHOLDER": "Търсене на емотикони", + "NOT_FOUND": "Няма намерени емотикони", + "ARIA_LABEL": "Избор на емотикони" }, "CSAT": { "TITLE": "Оценете този разговор", @@ -118,14 +118,14 @@ }, "INTEGRATIONS": { "DYTE": { - "CLICK_HERE_TO_JOIN": "Click here to join", - "LEAVE_THE_ROOM": "Leave the call" + "CLICK_HERE_TO_JOIN": "Кликнете тук, за да се присъедините", + "LEAVE_THE_ROOM": "Напускане на разговора" } }, "PORTAL": { - "POPULAR_ARTICLES": "Popular Articles", - "VIEW_ALL_ARTICLES": "View all articles", - "IFRAME_LOAD_ERROR": "There was an error loading the article, please refresh the page and try again." + "POPULAR_ARTICLES": "Популярни статии", + "VIEW_ALL_ARTICLES": "Вижте всички статии", + "IFRAME_LOAD_ERROR": "Възникна грешка при зареждането на статията, моля опреснете страницата и опитайте отново." }, "ATTACHMENTS": { "image": { @@ -148,6 +148,6 @@ } }, "FOOTER_REPLY_TO": { - "REPLY_TO": "Replying to:" + "REPLY_TO": "В отговор на:" } } diff --git a/app/javascript/widget/i18n/locale/zh_TW.json b/app/javascript/widget/i18n/locale/zh_TW.json index 70a5a7c47..bd401a8ca 100644 --- a/app/javascript/widget/i18n/locale/zh_TW.json +++ b/app/javascript/widget/i18n/locale/zh_TW.json @@ -14,50 +14,50 @@ }, "THUMBNAIL": { "AUTHOR": { - "NOT_AVAILABLE": "Not available" + "NOT_AVAILABLE": "不可用" } }, "TEAM_AVAILABILITY": { "ONLINE": "我們在線上", "OFFLINE": "我們目前不在線上", - "BACK_AS_SOON_AS_POSSIBLE": "We will be back as soon as possible" + "BACK_AS_SOON_AS_POSSIBLE": "我們會盡快回來" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "通常在幾分鐘內回覆", "IN_A_FEW_HOURS": "通常在幾小時內回覆", "IN_A_DAY": "通常在一天內回覆", - "BACK_IN_HOURS": "We will be back online in {n} hour | We will be back online in {n} hours", - "BACK_IN_MINUTES": "We will be back online in {time} minutes", - "BACK_AT_TIME": "We will be back online at {time}", - "BACK_ON_DAY": "We will be back online on {day}", - "BACK_TOMORROW": "We will be back online tomorrow", - "BACK_IN_SOME_TIME": "We will be back online in some time" + "BACK_IN_HOURS": "我們將在 {n} 小時後恢復在線 | 我們將在 {n} 小時後恢復在線", + "BACK_IN_MINUTES": "我們將在 {time} 分鐘後恢復在線", + "BACK_AT_TIME": "我們將在 {time} 恢復在線", + "BACK_ON_DAY": "我們將在 {day} 恢復在線", + "BACK_TOMORROW": "我們將於明天恢復在線", + "BACK_IN_SOME_TIME": "我們將在一段時間後恢復在線" }, "DAY_NAMES": { "SUNDAY": "星期日", "MONDAY": "星期一", - "TUESDAY": "Tuesday", - "WEDNESDAY": "Wednesday", - "THURSDAY": "Thursday", - "FRIDAY": "Friday", - "SATURDAY": "Saturday" + "TUESDAY": "週二", + "WEDNESDAY": "週三", + "THURSDAY": "週四", + "FRIDAY": "週五", + "SATURDAY": "週六" }, "START_CONVERSATION": "開始對話", "END_CONVERSATION": "結束對話", "CONTINUE_CONVERSATION": "繼續對話", - "YOU": "You", + "YOU": "您", "START_NEW_CONVERSATION": "開始一個新對話", - "VIEW_UNREAD_MESSAGES": "You have unread messages", + "VIEW_UNREAD_MESSAGES": "您有未讀訊息", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "查看新訊息", "CLOSE_MESSAGES_BUTTON": "關閉", - "COMPANY_FROM": "from", + "COMPANY_FROM": "發自", "BOT": "機器人" }, "BUBBLE": { "LABEL": "與我們對話" }, - "POWERED_BY": "Powered by Chatwoot", + "POWERED_BY": "由 Chatwoot 支援", "EMAIL_PLACEHOLDER": "請輸入您的電子信箱", "CHAT_PLACEHOLDER": "輸入你的訊息", "TODAY": "今天", @@ -79,10 +79,10 @@ "LABEL": "聯絡人電話", "PLACEHOLDER": "請輸入您的電話號碼", "REQUIRED_ERROR": "電話號碼為必填", - "DIAL_CODE_VALID_ERROR": "Please select a country code", - "VALID_ERROR": "Please enter a valid phone number", - "DROPDOWN_EMPTY": "No results found", - "DROPDOWN_SEARCH": "Search country" + "DIAL_CODE_VALID_ERROR": "請選擇國家程式碼", + "VALID_ERROR": "請輸入一個有效的電話號碼", + "DROPDOWN_EMPTY": "沒有檢索到相關資訊", + "DROPDOWN_SEARCH": "搜尋國家/地區" }, "MESSAGE": { "LABEL": "訊息", @@ -92,7 +92,7 @@ }, "CAMPAIGN_HEADER": "在開始對話之前請提供您的名字及電郵", "IS_REQUIRED": "必填", - "REQUIRED": "Required", + "REQUIRED": "必填項", "REGEX_ERROR": "請輸入有效的字符" }, "FILE_SIZE_LIMIT": "{MAXIMUM_FILE_UPLOAD_SIZE} 已超出檔案大小限制", diff --git a/config/locales/am.yml b/config/locales/am.yml index f53012a9e..5ee930b75 100644 --- a/config/locales/am.yml +++ b/config/locales/am.yml @@ -28,8 +28,7 @@ am: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ am: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ am: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ am: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ am: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ am: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ am: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ am: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ am: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index eb1573a38..ae0da3ef7 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -28,8 +28,7 @@ ar: invalid_email: 'الرجاء إدخال عنوان بريد إلكتروني صحيح' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: تم إرسال طلب إعادة تعيين كلمة المرور. يرجى مراجعة بريدك الإلكتروني للحصول على التعليمات. - reset_password_failure: المعذرة! لم نتمكن من العثور على أي مستخدم بعنوان البريد الإلكتروني المحدد. + 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. @@ -95,6 +94,11 @@ ar: 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. validations: name: لا ينبغي أن تبدأ أو تنتهي بالرموز، ولا ينبغي أن يكون أقل من > / \ أحرف @ . custom_filters: @@ -104,6 +108,7 @@ ar: invalid_query_operator: Query operator must be either "AND" or "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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ar: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ar: avg_resolution_time: متوسط وقت الحل resolution_count: عدد مرات الإغلاق avg_customer_waiting_time: متوسط وقت انتظار العميل + conversation_csv: + conversations_count: المحادثات + incoming_messages_count: الرسائل الواردة + outgoing_messages_count: الرسائل الصادرة + avg_first_response_time: متوسط وقت الاستجابة الأولى + avg_resolution_time: متوسط وقت الحل + resolution_count: Resolution count + avg_customer_waiting_time: متوسط وقت انتظار العميل conversation_traffic_csv: timezone: منطقة زمنية sla_csv: @@ -178,6 +193,7 @@ ar: rating: التقييم feedback: التعليق على الملاحظات recorded_at: تاريخ التسجيل + review_notes: Review Notes notifications: notification_title: conversation_creation: 'تم إنشاء محادثة (#%{display_id}) في %{inbox_name}' @@ -205,7 +221,11 @@ ar: activity: captain: resolved: 'تم تحديد هذه المحادثة كمحلولة بواسطة %{user_name} بسبب عدم النشاط' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: 'تم تحديد هذه المحادثة كمفتوحة بواسطة %{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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ar: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -421,6 +444,9 @@ ar: few: '%{count} ثواني' many: '%{count} ثانية' other: '%{count} ثانية' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/az.yml b/config/locales/az.yml index f3dbec20a..7933217e2 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -28,8 +28,7 @@ az: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ az: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ az: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ az: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ az: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ az: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ az: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ az: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ az: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 8349a4dc1..8abf11acf 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -28,8 +28,7 @@ bg: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ bg: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ bg: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ bg: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ bg: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Разговори + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ bg: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ bg: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ bg: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ bg: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/bn.yml b/config/locales/bn.yml index aa1bc9c79..dd75141eb 100644 --- a/config/locales/bn.yml +++ b/config/locales/bn.yml @@ -28,8 +28,7 @@ bn: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ bn: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ bn: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ bn: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ bn: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ bn: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ bn: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ bn: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ bn: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 8dd65ee7f..ebf1afafa 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -28,8 +28,7 @@ ca: invalid_email: 'Introduïu una adreça de correu electrònic vàlida' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! S'ha restablert la contrasenya amb èxit. Revisa el correu per més instruccions. - reset_password_failure: Uh ho! No s'ha trobat cap compte amb aquest correu electrònic. + 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. @@ -95,6 +94,11 @@ ca: host_unreachable_error: Amfitrió inaccessible. Comprova l'adreça IMAP, el port IMAP i torna-ho a provar. connection_timed_out_error: S'ha esgotat el temps d'espera de la connexió per a %{address}:%{port} connection_closed_error: Connexió tancada. + 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. validations: name: no hauria de començar ni acabar amb símbols, i no hauria de tenir caràcters < > / \ @. custom_filters: @@ -104,6 +108,7 @@ ca: invalid_query_operator: Query operator must be either "AND" or "OR". invalid_value: Valor no vàlid. Els valors proporcionats per a %{attribute_name} no són vàlids 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ca: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ca: avg_resolution_time: Temps mitjà de resolució resolution_count: Total de resolucions avg_customer_waiting_time: Temps mitjà d'espera dels clients + conversation_csv: + conversations_count: Converses + incoming_messages_count: Missatges d'entrada + outgoing_messages_count: Missatges de sortida + avg_first_response_time: Temps mitjà de primera resposta + avg_resolution_time: Temps mitjà de resolució + resolution_count: Resolution count + avg_customer_waiting_time: Temps mitjà d'espera dels clients conversation_traffic_csv: timezone: Fus horari sla_csv: @@ -178,6 +193,7 @@ ca: rating: Valoració feedback: Comentaris recorded_at: Data gravada + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Una conversa (#%{display_id}) ha estat creada a %{inbox_name}' @@ -205,7 +221,11 @@ ca: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ca: copilot_message_required: El missatge és obligatori 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ca: seconds: one: '%{count} segon' other: '%{count} segons' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 47819244e..a3829c810 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -28,8 +28,7 @@ cs: invalid_email: 'Zadejte prosím platnou e-mailovou adresu' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Žádost o obnovení hesla byla úspěšná. Zkontrolujte svůj e-mail pro pokyny. - reset_password_failure: Jejda! Nenašli jsme žádného uživatele se zadaným e-mailem. + 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. @@ -95,6 +94,11 @@ cs: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ cs: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ cs: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ cs: avg_resolution_time: Avg resolution time resolution_count: Počet rozlišení avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Konverzace + incoming_messages_count: Příchozí zprávy + outgoing_messages_count: Odchozí zprávy + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ cs: rating: Hodnocení feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ cs: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ cs: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ cs: few: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/da.yml b/config/locales/da.yml index 5f3a95b46..a14038a74 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -28,8 +28,7 @@ da: invalid_email: 'Indtast venligst en gyldig e-mailadresse' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Anmodning om nulstilling af adgangskode er vellykket. Tjek din mail for instruktioner. - reset_password_failure: Åh nej! Vi kunne ikke finde nogen bruger med den angivne e-mail. + 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. @@ -95,6 +94,11 @@ da: host_unreachable_error: Vært utilgængeligt, tjek venligst IMAP-adressen, IMAP-porten og prøv igen. connection_timed_out_error: Forbindelsen fik timeout for %{address}:%{port} connection_closed_error: Forbindelsen er lukket. + 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. validations: name: bør ikke starte eller slutte med symboler, og det skal ikke have < > / \ @ tegn. custom_filters: @@ -104,6 +108,7 @@ da: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ da: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ da: avg_resolution_time: Avg resolution time resolution_count: Antal Afsluttede avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Samtaler + incoming_messages_count: Indkommende Beskeder + outgoing_messages_count: Udgående beskeder + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ da: rating: Bedømmelse feedback: Feedback Kommentar recorded_at: Optaget dato + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ da: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ da: copilot_message_required: Beskeden er påkrævet 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ da: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/de.yml b/config/locales/de.yml index 48154b21d..a81cd5b7b 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -28,8 +28,7 @@ de: invalid_email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Die Anforderung zum Zurücksetzen des Passworts ist erfolgreich. Überprüfen Sie Ihre E-Mails auf Anweisungen. - reset_password_failure: Uh ho! Wir konnten keinen Benutzer mit der angegebenen E-Mail-Adresse finden. + 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. @@ -95,6 +94,11 @@ de: host_unreachable_error: Host nicht erreichbar. Bitte überprüfen Sie die IMAP-Adresse und den IMAP-Port und versuchen Sie es erneut. connection_timed_out_error: Zeitüberschreitung der Verbindung für %{address}:%{port} connection_closed_error: Verbindung geschlossen. + 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. validations: name: Sollte nicht mit Symbolen beginnen oder enden, und es sollte keine < > / \ @ Zeichen enthalten. custom_filters: @@ -104,6 +108,7 @@ de: invalid_query_operator: Query operator must be either "AND" or "OR". invalid_value: Ungültiger Wert. Die Werte für %{attribute_name} sind ungültig 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ de: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ de: avg_resolution_time: Durchschnittliche Auflösung resolution_count: Auflösungsanzahl avg_customer_waiting_time: Durchschnittliche Kundenwartezeit + conversation_csv: + conversations_count: Gespräche + incoming_messages_count: Eingehende Nachrichten + outgoing_messages_count: Ausgehende Nachrichten + avg_first_response_time: Durchschnittliche Zeit bis zur ersten Antwort + avg_resolution_time: Durchschnittliche Auflösung + resolution_count: Resolution count + avg_customer_waiting_time: Durchschnittliche Kundenwartezeit conversation_traffic_csv: timezone: Zeitzone sla_csv: @@ -178,6 +193,7 @@ de: rating: Bewertung feedback: Feedback-Kommentar recorded_at: Aufnahmedatum + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Neues Gespräch - #%{display_id} wurde in %{inbox_name} erstellt' @@ -205,7 +221,11 @@ de: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ de: copilot_message_required: Nachricht ist erforderlich 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ de: seconds: one: '%{count} Sekunde' other: '%{count} Sekunden' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/devise.ko.yml b/config/locales/devise.ko.yml index 5ef3bb263..4fbb33f29 100644 --- a/config/locales/devise.ko.yml +++ b/config/locales/devise.ko.yml @@ -6,55 +6,56 @@ ko: send_instructions: "몇 분 안에 이메일 주소를 인증하는 방법에 대한 지침이 발송될 것입니다." send_paranoid_instructions: "귀하의 이메일 주소가 당사 데이터베이스에 있는 경우 몇 분 안에 이메일 주소를 인증하는 방법에 대한 지침이 포함된 이메일이 발송될 것입니다." failure: - already_authenticated: "이미 가입하셨습니다." + already_authenticated: "이미 로그인되어 있습니다." inactive: "귀하의 계정이 아직 활성화되지 않았습니다." - invalid: "Invalid %{authentication_keys}/password or account is not verified yet." + invalid: "유효하지 않은 %{authentication_keys}/비밀번호이거나 계정이 아직 인증되지 않았습니다." locked: "계정이 잠금 상태입니다." last_attempt: "계정이 잠기기 전에 남은 마지막 시도입니다." not_found_in_database: "잘못된 %{authentication_keys} 또는 잘못된 비밀번호입니다." - timeout: "세션이 만료되었습니다. 다시 가입해 주십시오." + timeout: "세션이 만료되었습니다. 계속하려면 다시 로그인하십시오." unauthenticated: "계속하기 전에 로그인하거나 가입해야 합니다." unconfirmed: "계속하기 전에 이메일 주소를 확인해 주십시오." mailer: confirmation_instructions: subject: "확인 절차" reset_password_instructions: - subject: "Reset password instructions" + subject: "비밀번호 재설정 안내" unlock_instructions: - subject: "Unlock instructions" + subject: "잠금 해제 안내" password_change: - subject: "Password Changed" + subject: "비밀번호가 변경되었습니다" omniauth_callbacks: - failure: "Could not authenticate you from %{kind} because \"%{reason}\"." - success: "Successfully authenticated from %{kind} account." + failure: "\"%{reason}\"(으)로 인해 %{kind}에서 인증할 수 없습니다." + success: "%{kind} 계정에서 성공적으로 인증되었습니다." passwords: - no_token: "비밀번호 재설정 이메일을 받지 않으셨다면 이 페이지에 액세스할 수 없습니다. 비밀번호 재설정 이메일에서 온 경우 전체 URL을 사용했는지 확인하십시오." + no_token: "비밀번호 재설정 이메일을 받지 않으셨다면 이 페이지에 접근할 수 없습니다. 비밀번호 재설정 이메일에서 온 경우 전체 URL을 사용했는지 확인하십시오." send_instructions: "몇 분 안에 비밀번호 초기화 방법에 대한 지침이 귀하의 이메일로 발송될 것입니다." - send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." - updated: "Your password has been changed successfully. You are now signed in." - updated_not_active: "Your password has been changed successfully." + send_paranoid_instructions: "귀하의 이메일 주소가 당사 데이터베이스에 있는 경우 몇 분 안에 비밀번호 복구 링크가 이메일로 발송될 것입니다." + updated: "비밀번호가 성공적으로 변경되었습니다. 현재 로그인 상태입니다." + updated_not_active: "비밀번호가 성공적으로 변경되었습니다." registrations: - destroyed: "잘 가요! 계정이 성공적으로 취소되었습니다.\n곧 다시 뵙기를 바래요!" + destroyed: "계정이 성공적으로 취소되었습니다. 곧 다시 뵙기를 바랍니다." signed_up: "환영합니다! 성공적으로 가입하셨습니다." - signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." - signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." - signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account." - update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address." - updated: "Your account has been updated successfully." + signed_up_but_inactive: "성공적으로 가입하셨습니다. 그러나 계정이 아직 활성화되지 않아 로그인할 수 없습니다." + signed_up_but_locked: "성공적으로 가입하셨습니다. 그러나 계정이 잠겨 있어 로그인할 수 없습니다." + signed_up_but_unconfirmed: "확인 링크가 포함된 메시지가 이메일 주소로 전송되었습니다. 링크를 따라 계정을 활성화하십시오." + update_needs_confirmation: "계정이 성공적으로 업데이트되었습니다. 새 이메일 주소를 확인해야 합니다. 이메일을 확인하고 확인 링크를 따라 새 이메일 주소를 인증하십시오." + updated: "계정이 성공적으로 업데이트되었습니다." sessions: - signed_in: "Signed in successfully." - signed_out: "Signed out successfully." - already_signed_out: "Signed out successfully." + signed_in: "성공적으로 로그인했습니다." + signed_out: "성공적으로 로그아웃했습니다." + already_signed_out: "성공적으로 로그아웃했습니다." unlocks: - send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes." - send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes." - unlocked: "Your account has been unlocked successfully. Please sign in to continue." + send_instructions: "몇 분 안에 계정 잠금 해제 방법에 대한 지침이 이메일로 발송될 것입니다." + send_paranoid_instructions: "귀하의 계정이 존재하는 경우 몇 분 안에 잠금 해제 방법에 대한 지침이 이메일로 발송될 것입니다." + unlocked: "계정이 성공적으로 잠금 해제되었습니다. 계속하려면 로그인하십시오." errors: messages: - already_confirmed: "was already confirmed, please try signing in" - confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" - expired: "has expired, please request a new one" - not_found: "not found" - not_locked: "was not locked" + already_confirmed: "이미 확인되었습니다. 로그인을 시도하십시오" + confirmation_period_expired: "%{period} 이내에 확인해야 합니다. 새로 요청하십시오" + expired: "만료되었습니다. 새로 요청하십시오" + not_found: "찾을 수 없습니다" + not_locked: "잠겨 있지 않습니다" not_saved: - other: "%{count} errors prohibited this %{resource} from being saved:" + one: "1개의 오류로 인해 이 %{resource}을(를) 저장할 수 없습니다:" + other: "%{count}개의 오류로 인해 이 %{resource}을(를) 저장할 수 없습니다:" diff --git a/config/locales/devise.zh_TW.yml b/config/locales/devise.zh_TW.yml index f892bf796..09c0bd4c0 100644 --- a/config/locales/devise.zh_TW.yml +++ b/config/locales/devise.zh_TW.yml @@ -1,60 +1,60 @@ -#Additional translations at https://github.com/plataformatec/devise/wiki/I18n zh_TW: devise: confirmations: - confirmed: "您的信箱已通過驗證,現在您已成功登入。" - send_instructions: "您將在幾分鐘後收到一封電子郵件,內有驗證帳號的步驟說明。" - send_paranoid_instructions: "如果我們有您的信箱,您將會收到一封驗證您的帳號的電子郵件。" + confirmed: 您的信箱已通過驗證,現在您已成功登入。 + send_instructions: 您將在幾分鐘後收到一封電子郵件,內有驗證帳號的步驟說明。 + send_paranoid_instructions: 如果我們有您的信箱,您將會收到一封驗證您的帳號的電子郵件。 failure: - already_authenticated: "您已經登入。" - inactive: "您的帳號尚未被啟用。" - invalid: "%{authentication_keys}密碼或帳號尚未審核。" - locked: "您的帳號已被鎖定。" - last_attempt: "您還有最後一次嘗試機會,再次失敗您的帳號將會被鎖定。" - not_found_in_database: "%{authentication_keys}或密碼錯誤。" - timeout: "您的登入時效過期,請重新登入。" - unauthenticated: "您需要先登入或註冊後才能繼續。" - unconfirmed: "您的帳號需要經過驗證後,才能繼續。" + already_authenticated: 您已經登入。 + inactive: 您的帳號尚未被啟用。 + invalid: '%{authentication_keys}密碼或帳號尚未審核。' + locked: 您的帳號已被鎖定。 + last_attempt: 您還有最後一次嘗試機會,再次失敗您的帳號將會被鎖定。 + not_found_in_database: '%{authentication_keys}或密碼錯誤。' + timeout: 您的登入時效過期,請重新登入。 + unauthenticated: 您需要先登入或註冊後才能繼續。 + unconfirmed: 您的帳號需要經過驗證後,才能繼續。 mailer: confirmation_instructions: - subject: "確認指令" + subject: 確認指令 reset_password_instructions: - subject: "重設密碼" + subject: 重設密碼 unlock_instructions: - subject: "帳號解鎖步驟" + subject: 帳號解鎖步驟 password_change: - subject: "密碼已更改" + subject: 密碼已更改 omniauth_callbacks: - failure: "因為 %{reason},無法從 %{kind} 驗證。" - success: "成功從 %{kind} 驗證。" + failure: 因為 %{reason},無法從 %{kind} 驗證。 + success: 成功從 %{kind} 驗證。 passwords: - no_token: "這是密碼重設頁面,僅能透過密碼重設信件進入。如果您是透過重設信件進入的,請確認您的網址是完整的。" - send_instructions: "您將在幾分鐘後收到一封電子郵件,內有重新設定密碼的步驟說明。" - send_paranoid_instructions: "如果我們有您的信箱,您將會收到一封內含可重新設定密碼連結的電子郵件。" - updated: "您的密碼已被修改,您現在已經登入。" - updated_not_active: "您的密碼已被修改。" + no_token: 這是密碼重設頁面,僅能透過密碼重設信件進入。如果您是透過重設信件進入的,請確認您的網址是完整的。 + send_instructions: 您將在幾分鐘後收到一封電子郵件,內有重新設定密碼的步驟說明。 + send_paranoid_instructions: 如果我們有您的信箱,您將會收到一封內含可重新設定密碼連結的電子郵件。 + updated: 您的密碼已被修改,您現在已經登入。 + updated_not_active: 您的密碼已被修改。 registrations: - destroyed: "再會!您的帳號已被取消。有緣再會。" - signed_up: "註冊成功,歡迎!" - signed_up_but_inactive: "您已註冊成功。然而因為您的帳號尚未啓動,暫時無法登入,抱歉!" - signed_up_but_locked: "您已註冊成功。 然而因為您的帳號已被鎖定,暫時無法登入,抱歉!" - signed_up_but_unconfirmed: "確認信件已送至您的 Email 信箱,請點擊信件內連結以啓動您的帳號。" - update_needs_confirmation: "您已經成功的更新帳號資訊,但我們仍需確認您的電子信箱,請至新信箱收信並點擊連結以確認您的新電子郵件帳號。" - updated: "您已經成功的更新帳號資訊。" + destroyed: 再會!您的帳號已被取消。有緣再會。 + signed_up: 註冊成功,歡迎! + signed_up_but_inactive: 您已註冊成功。然而因為您的帳號尚未啓動,暫時無法登入,抱歉! + signed_up_but_locked: 您已註冊成功。 然而因為您的帳號已被鎖定,暫時無法登入,抱歉! + signed_up_but_unconfirmed: 確認信件已送至您的 Email 信箱,請點擊信件內連結以啓動您的帳號。 + update_needs_confirmation: 您已經成功的更新帳號資訊,但我們仍需確認您的電子信箱,請至新信箱收信並點擊連結以確認您的新電子郵件帳號。 + updated: 您已經成功的更新帳號資訊。 sessions: - signed_in: "成功登入。" - signed_out: "成功登出。" - already_signed_out: "成功登出。" + signed_in: 成功登入。 + signed_out: 成功登出。 + already_signed_out: 成功登出。 unlocks: - send_instructions: "您將在幾分鐘後收到一封電子郵件,內有將帳號解除鎖定的步驟說明。" - send_paranoid_instructions: "如果您的帳號已存在,您的電子信箱將會收到如何解鎖帳號的指示。" - unlocked: "您的帳號已被解鎖,現在已經登入。" + send_instructions: 您將在幾分鐘後收到一封電子郵件,內有將帳號解除鎖定的步驟說明。 + send_paranoid_instructions: 如果您的帳號已存在,您的電子信箱將會收到如何解鎖帳號的指示。 + unlocked: 您的帳號已被解鎖,現在已經登入。 errors: messages: - already_confirmed: "已經驗證,請直接登入。" - confirmation_period_expired: "必須在 %{period} 內驗證,請重新申請。" - expired: "已經過期,請重新申請。" - not_found: "找不到。" - not_locked: "並未被鎖定。" + already_confirmed: 已經驗證,請直接登入。 + confirmation_period_expired: 必須在 %{period} 內驗證,請重新申請。 + expired: 已經過期,請重新申請。 + not_found: 找不到。 + not_locked: 並未被鎖定。 not_saved: - other: "有 %{count} 個錯誤導致 %{resource} 不能被儲存:" + one: 1 個錯誤禁止儲存此 %{resource}: + other: 有 %{count} 個錯誤導致 %{resource} 不能被儲存: diff --git a/config/locales/el.yml b/config/locales/el.yml index d804c4bde..ef165fc65 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -28,8 +28,7 @@ el: invalid_email: 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Το αίτημά σας για επαναφορά κωδικού ενεργοποιήθηκε. Ελέξτε το email σας για οδηγίες. - reset_password_failure: Ωχ όχι! Δεν υπάρχει κάποιος χρήστης με το συγκεκριμένο email. + 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. @@ -95,6 +94,11 @@ el: 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. validations: name: δεν πρέπει να ξεκινά ή να τελειώνει με σύμβολα, και δεν πρέπει να περιέχει τους χαρακτήρες < > / \ @ custom_filters: @@ -104,6 +108,7 @@ el: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ el: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ el: avg_resolution_time: Avg resolution time resolution_count: Αριθμός Αναλύσεων avg_customer_waiting_time: 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ el: rating: Αξιολόγηση feedback: Σχόλιο ανατροφοδότησης recorded_at: Ημερομηνία καταγραφής + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ el: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ el: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ el: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/es.yml b/config/locales/es.yml index dc7cbf037..772b96917 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -28,8 +28,7 @@ es: invalid_email: 'Por favor, introduzca una dirección de correo válida' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: '¡Genial! La solicitud de restablecimiento de contraseña ha sido exitosa. Revisa tu correo para ver las instrucciones.' - reset_password_failure: '¡Uh ho! No hemos podido encontrar ningún usuario con el correo electrónico especificado.' + 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. @@ -95,6 +94,11 @@ es: host_unreachable_error: Host inaccesible. Verifique la dirección IMAP, el puerto IMAP e intente nuevamente. connection_timed_out_error: Se agotó el tiempo de conexión para %{address}:%{port} connection_closed_error: Conexión cerrada. + 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. validations: name: no debe comenzar ni terminar con símbolos, y no debe tener caracteres < > / \ @. custom_filters: @@ -104,6 +108,7 @@ es: invalid_query_operator: El operador de consulta debe ser "Y" o "O". invalid_value: Valor no válido. Los valores proporcionados para %{attribute_name} no son válidos 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ es: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ es: avg_resolution_time: Tiempo promedio de resolución resolution_count: Número de resoluciones avg_customer_waiting_time: Tiempo promedio de espera del cliente + conversation_csv: + conversations_count: Conversaciones + incoming_messages_count: Mensajes recibidos + outgoing_messages_count: Mensajes enviados + avg_first_response_time: Promedio de tiempo de la primera respuesta + avg_resolution_time: Tiempo promedio de resolución + resolution_count: Resolution count + avg_customer_waiting_time: Tiempo promedio de espera del cliente conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ es: rating: Calificación feedback: Comentario de opinión recorded_at: Fecha registrada + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Una conversación (#%{display_id}) ha sido creada en %{inbox_name}' @@ -205,7 +221,11 @@ es: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ es: copilot_message_required: El mensaje es obligatorio copilot_error: 'Conecte un asistente a esta bandeja de entrada para utilizar Copilot' copilot_limit: 'Te quedaste sin créditos de Copilot. Puedes comprar más créditos desde la sección de facturación.' + upgrade: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ es: seconds: one: '%{count} segundo' other: '%{count} segundos' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/et.yml b/config/locales/et.yml index 7eb167dc1..50d0d82a6 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -28,8 +28,7 @@ et: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ et: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ et: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ et: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ et: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ et: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ et: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ et: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ et: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 711327d47..47edafb45 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -28,8 +28,7 @@ fa: invalid_email: 'لطفا ایمیل خود را به شکل صحیح وارد کنید' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: سوت! درخواست ریست شدن رمز عبور با موفقیت ارسال شد. ایمیل خود را چک کنید - reset_password_failure: اوه نه! کاربری با چنین ایمیلی وجود ندارد + 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. @@ -95,6 +94,11 @@ fa: 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. validations: name: نباید با نمادها شروع یا ختم شود و نباید دارای کاراکترهای < > / \ @ باشد. custom_filters: @@ -104,6 +108,7 @@ fa: invalid_query_operator: Query operator must be either "AND" or "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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ fa: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ fa: avg_resolution_time: میانگین زمان حل مشکل resolution_count: تعداد مسائل حل شده avg_customer_waiting_time: میانگین زمان انتظار مشتری + conversation_csv: + conversations_count: گفتگوها + incoming_messages_count: پیام‌های ورودی + outgoing_messages_count: پیام‌های خروجی + avg_first_response_time: میانگین زمان تا اولین پاسخ + avg_resolution_time: میانگین زمان حل مشکل + resolution_count: Resolution count + avg_customer_waiting_time: میانگین زمان انتظار مشتری conversation_traffic_csv: timezone: منطقه زمانی sla_csv: @@ -178,6 +193,7 @@ fa: rating: رتبه feedback: بازخورد نظر recorded_at: تاریخ ثبت شده + review_notes: Review Notes notifications: notification_title: conversation_creation: 'یک گفتگو جدید (%{display_id}) در %{inbox_name} ایجاد شده است' @@ -205,7 +221,11 @@ fa: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ fa: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ fa: seconds: one: '%{count} ثانیه' other: '%{count} ثانیه' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index b4e537064..29886894b 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -28,8 +28,7 @@ fi: invalid_email: 'Ole hyvä ja syötä validi sähköposti' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Salasanan nollauspyyntö onnistui. Tarkista sähköpostisi saadaksesi ohjeita. - reset_password_failure: Hö! Emme löytäneet yhtään käyttäjää määritellyllä sähköpostilla. + 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. @@ -95,6 +94,11 @@ fi: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ fi: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ fi: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ fi: avg_resolution_time: Avg resolution time resolution_count: Selvitysmäärä avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Keskustelut + incoming_messages_count: Saapuvat viestit + outgoing_messages_count: Lähtevät viestit + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ fi: rating: Arvio feedback: Palautteen kommentti recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ fi: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ fi: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ fi: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 389fdb243..fc9da1af1 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -28,8 +28,7 @@ fr: invalid_email: 'Veuillez saisir une adresse de courriel valide' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Super ! La demande de réinitialisation du mot de passe a réussi. Consultez vos e-mails pour obtenir des instructions. - reset_password_failure: Oh oh ! Nous n'avons trouvé aucun utilisateur avec le courriel spécifié. + 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. @@ -95,6 +94,11 @@ fr: host_unreachable_error: Hôte injoignable, veuillez vérifier l'adresse IMAP, le port IMAP et réessayer. connection_timed_out_error: La connexion a expiré pour %{address}:%{port} connection_closed_error: Connexion fermée. + 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. validations: name: 'ne doit pas commencer ou se terminer par des symboles, et ne doit pas comporter les caractères suivants : "< > / \ @".' custom_filters: @@ -104,6 +108,7 @@ fr: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ fr: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ fr: avg_resolution_time: Temps nécessaire pour résoudre une demande (en moyenne) resolution_count: Nombre de résolutions avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages entrants + outgoing_messages_count: Messages sortants + avg_first_response_time: Temps moyen pour une première réponse + avg_resolution_time: Temps nécessaire pour résoudre une demande (en moyenne) + resolution_count: Resolution count + avg_customer_waiting_time: Avg customer waiting time conversation_traffic_csv: timezone: Fuseau horaire sla_csv: @@ -178,6 +193,7 @@ fr: rating: Note feedback: Commentaire recorded_at: Date d'enregistrement + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ fr: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ fr: copilot_message_required: Le message est obligatoire 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ fr: seconds: one: '%{count} seconde' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Système d''automatisation' crm: diff --git a/config/locales/he.yml b/config/locales/he.yml index acede34d6..c80946ce1 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -28,8 +28,7 @@ he: invalid_email: 'נא הכנס כתובת דוא"ל תקינה' authentication_failed: 'האימות נכשל. אנא בדוק את פרטי ההתחברות שלך ונסה שוב.' messages: - reset_password_success: וואו! הבקשה לאיפוס סיסמה בוצעה בהצלחה. בדוק את תיבת הדואר שלך להוראות. - reset_password_failure: אוי! לא מצאנו משתמש עם כתובת הדוא"ל שצוינה. + 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: חשבון זה משתמש באימות SAML. איפוס סיסמה אינו זמין. אנא צור קשר עם המנהל שלך. login_saml_user: חשבון זה משתמש באימות SAML. אנא התחבר דרך ספק SAML של הארגון שלך. saml_not_available: אימות SAML אינו זמין בהתקנה זו. @@ -95,6 +94,11 @@ he: 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. validations: name: לא יכול להתחיל או להסתיים בסמלים, וזה לא צריך להכיל תווים < > / \ @ custom_filters: @@ -104,6 +108,7 @@ he: 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: המפתח שסופק אינו מותר מכיוון שהוא עלול להתנגש עם מאפיינים ברירת מחדל. mfa: already_enabled: MFA כבר מופעל @@ -120,6 +125,8 @@ he: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA הופעל בהצלחה @@ -156,6 +163,14 @@ he: avg_resolution_time: זמן פתרון ממוצע resolution_count: ספירת פתרונות avg_customer_waiting_time: זמן המתנה ממוצע של לקוח + conversation_csv: + conversations_count: שיחות + incoming_messages_count: הודעות נכנסות + outgoing_messages_count: הודעות יוצאות + avg_first_response_time: זמן תגובה ראשון ממוצע + avg_resolution_time: זמן פתרון ממוצע + resolution_count: Resolution count + avg_customer_waiting_time: זמן המתנה ממוצע של לקוח conversation_traffic_csv: timezone: אזור זמן sla_csv: @@ -178,6 +193,7 @@ he: rating: דירוג feedback: הערת משוב recorded_at: תאריך הקלטה + review_notes: Review Notes notifications: notification_title: conversation_creation: 'שיחה (#%{display_id}) נוצרה ב-%{inbox_name}' @@ -205,7 +221,11 @@ he: activity: captain: resolved: 'השיחה סומנה כפתורה על ידי %{user_name} עקב חוסר פעילות' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: 'השיחה סומנה כפתוחה על ידי %{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' agent_bot: error_moved_to_open: 'השיחה סומנה כפתוחה על ידי המערכת עקב שגיאה בבוט הסוכן.' status: @@ -320,6 +340,9 @@ he: copilot_message_required: הודעה נדרשת copilot_error: 'אנא חבר עוזר לתיבת דואר נכנס זו כדי להשתמש ב-Copilot' copilot_limit: 'נגמרו לך זיכויי Copilot. אתה יכול לקנות זיכויים נוספים מסעיף החיובים.' + upgrade: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'משתמש בכלי %{function_name}' completed_tool_call: 'הושלם קריאת כלי %{function_name}' @@ -413,6 +436,9 @@ he: two: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'מערכת אוטומציה' crm: diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 662297605..6f5b67bb6 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -28,8 +28,7 @@ hi: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ hi: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ hi: 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: + 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. mfa: already_enabled: MFA पहले से ही सक्षम है @@ -120,6 +125,8 @@ hi: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ hi: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ hi: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ hi: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ hi: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ hi: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/hr.yml b/config/locales/hr.yml index adb10e198..3eeccbbc1 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -28,8 +28,7 @@ hr: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ hr: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ hr: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ hr: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ hr: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ hr: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ hr: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ hr: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -409,6 +432,9 @@ hr: one: '%{count} second' few: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/hu.yml b/config/locales/hu.yml index b1563a377..7b0ffab14 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -28,8 +28,7 @@ hu: invalid_email: 'Kérjük helyes e-mailcímet adj meg' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Mi?! A jelszóvisszaállítási kérésed sikeres volt. Nézd meg az e-mailed a részletekért. - reset_password_failure: Jajj ne! Nem találtunk felhasználót ezzel az e-mailcímmel. + 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. @@ -95,6 +94,11 @@ hu: host_unreachable_error: A host nem érhető el, kérlek ellenőrizd az IMAP címet és portot, majd próbáld újra. connection_timed_out_error: A kapcsolódás timeoutolt a %{address}:%{port}-n connection_closed_error: Kapcsolódás bezárva. + 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. validations: name: nem kezdődhet vagy végződhet szimbólummal, és nem tartalmazhat < > / \ @ karaktereket. custom_filters: @@ -104,6 +108,7 @@ hu: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ hu: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ hu: avg_resolution_time: Avg resolution time resolution_count: Megoldások száma avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Beszélgetések + incoming_messages_count: Beérkező üznetek + outgoing_messages_count: Kimenő üzenetek + 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 conversation_traffic_csv: timezone: Időzóna sla_csv: @@ -178,6 +193,7 @@ hu: rating: Értékelés feedback: Visszajelző komment recorded_at: Felvétel időpontja + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ hu: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ hu: copilot_message_required: Üzenet kötelező 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ hu: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/hy.yml b/config/locales/hy.yml index d41117ca8..547c4a808 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -28,8 +28,7 @@ hy: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ hy: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ hy: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ hy: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ hy: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ hy: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ hy: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ hy: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ hy: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/id.yml b/config/locales/id.yml index b5bf69bf2..cb343a0ee 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -28,8 +28,7 @@ id: invalid_email: 'Harap masukkan alamat email yang valid' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Permintaan pengaturan ulang kata sandi berhasil. Periksa email Anda untuk mendapatkan petunjuk. - reset_password_failure: Aduh! Kami tidak dapat menemukan pengguna dengan email yang dimasukkan. + 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. @@ -95,6 +94,11 @@ id: host_unreachable_error: Host tidak dapat dijangkau, Harap periksa alamat IMAP, port IMAP, dan coba lagi. connection_timed_out_error: Waktu koneksi habis untuk %{address}:%{port} connection_closed_error: Koneksi terputus. + 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. validations: name: tidak boleh dimulai atau diakhiri dengan simbol, dan tidak boleh memiliki karakter < > / \ @. custom_filters: @@ -104,6 +108,7 @@ id: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ id: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ id: avg_resolution_time: Avg resolution time resolution_count: Jumlah Terselesaikan avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Percakapan + incoming_messages_count: Pesan Masuk + outgoing_messages_count: Pesan Keluar + 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 conversation_traffic_csv: timezone: Zona Waktu sla_csv: @@ -178,6 +193,7 @@ id: rating: Peringkat feedback: Komentar Umpan Balik recorded_at: Tanggal rekaman + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ id: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ id: copilot_message_required: Pesan wajib diisi 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -401,6 +424,9 @@ id: other: '%{count} minutes' seconds: other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/is.yml b/config/locales/is.yml index faf4d1c63..2049928ae 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -28,8 +28,7 @@ is: invalid_email: 'Vinsamlegast skrifaðu gilt netfang' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Beiðni um endurstillingu lykilorðs tókst. Skoðaðu póstinn þinn til að fá leiðbeiningar. - reset_password_failure: Uh ó! Við fundum engan notanda með tilgreint netfang. + 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. @@ -95,6 +94,11 @@ is: host_unreachable_error: Ekki er hægt að ná til hýsingaraðila. Athugaðu IMAP vistfangið, IMAP tengið og reyndu aftur. connection_timed_out_error: Tenging rann út fyrir %{address}:%{port} connection_closed_error: Connection closed. + 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. validations: name: ætti ekki að byrja eða enda á táknum, og það ætti ekki að hafa < > / \ @ táknin. custom_filters: @@ -104,6 +108,7 @@ is: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ is: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ is: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Samtöl + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ is: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ is: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ is: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ is: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/it.yml b/config/locales/it.yml index e6cc80c75..1e22d43ce 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -28,8 +28,7 @@ it: invalid_email: 'Inserisci un indirizzo email valido' authentication_failed: 'Autenticazione fallita. Verifica le credenziali e riprova.' messages: - reset_password_success: Wooh! Richiesta di reimpostazione della password riuscita. Controlla la tua mail per le istruzioni. - reset_password_failure: Oh oh! Non siamo riusciti a trovare alcun utente con l'email specificata. + reset_password: La richiesta di reimpostazione della password è riuscita. Una email con le istruzioni verrà inviata alla tua email se presente nel sistema. reset_password_saml_user: Questo account utilizza autenticazione SAML. Non è possibile resettare la password. Contatta il tuo amministratore. login_saml_user: Questo account utilizza autenticazione SAML. Effettua il login dal portale SAML della tua organizzazione. saml_not_available: Autenticazione SAML non disponibile in questa installazione. @@ -95,6 +94,11 @@ it: host_unreachable_error: Host irraggiungibile, Controlla l'indirizzo IMAP, la porta IMAP e riprova. connection_timed_out_error: Connessione scaduta per %{address}:%{port} connection_closed_error: Connessione chiusa. + smtp: + authentication_error: Autenticazione SMTP non riuscita. Verifica le tue credenziali di accesso. + connection_error: Impossibile connettersi al server SMTP. Controlla l'indirizzo e la porta del server. + ssl_error: Errore SSL/TLS. Verifica le impostazioni di crittografia. + smtp_error: Errore del server SMTP. Controlla la configurazione e riprova. validations: name: non dovrebbe iniziare o terminare con simboli, e non dovrebbe avere i caratteri < > / \ @ custom_filters: @@ -104,6 +108,7 @@ it: invalid_query_operator: L'operatore della query deve essere "E" o "O". invalid_value: Valore non valido. I valori forniti per %{attribute_name} non sono validi custom_attribute_definition: + attribute_key_format: deve contenere solo lettere, numeri, underscore, trattini e punti key_conflict: La chiave fornita non è consentita in quanto potrebbe entrare in conflitto con gli attributi predefiniti. mfa: already_enabled: MFA già attiva @@ -120,6 +125,8 @@ it: plan_not_eligible: Le ricariche sono disponibili solo per i piani a pagamento. Si prega di aggiornare il piano prima. stripe_customer_not_configured: Cliente Stripe non configurato no_payment_method: Nessun metodo di pagamento trovato. Aggiungi un metodo di pagamento prima di effettuare un acquisto. + reports: + date_range_too_long: L'intervallo di date non può superare i 6 mesi profile: mfa: enabled: MFA attivata con successo @@ -156,6 +163,14 @@ it: avg_resolution_time: Tempo medio di risoluzione resolution_count: Conteggio risoluzioni avg_customer_waiting_time: Tempo medio di attesa cliente + conversation_csv: + conversations_count: Conversazioni + incoming_messages_count: Messaggi in arrivo + outgoing_messages_count: Messaggi in uscita + avg_first_response_time: Tempo medio di prima risposta + avg_resolution_time: Tempo medio di risoluzione + resolution_count: Conteggio risoluzioni + avg_customer_waiting_time: Tempo medio di attesa cliente conversation_traffic_csv: timezone: Fuso Orario sla_csv: @@ -178,6 +193,7 @@ it: rating: Valutazione feedback: Commento di Feedback recorded_at: Data di registrazione + review_notes: Note Revisione notifications: notification_title: conversation_creation: 'Una conversazione (#%{display_id}) è stata creata in %{inbox_name}' @@ -205,7 +221,11 @@ it: activity: captain: resolved: 'La conversazione è stata segnata risolta da %{user_name} per inattività' + resolved_with_reason: 'La conversazione è stata risolta da %{user_name} (%{reason})' + resolved_by_tool: 'La conversazione è stata risolta da %{user_name}: %{reason}' open: 'La conversazione è stata riaperta da %{user_name}' + open_with_reason: 'La conversazione è stata aperta da %{user_name} (%{reason})' + auto_opened_after_agent_reply: 'Conversazione aperta automaticamente dopo l’intervento di un operatore' agent_bot: error_moved_to_open: 'La conversazione è stata riaperta dal sistema a causa di un errore con il Bot Agente.' status: @@ -320,6 +340,9 @@ it: copilot_message_required: Messaggio richiesto copilot_error: 'Connetti un assistente a questa Inbox per usare Copilot' copilot_limit: 'Hai terminato i crediti Copilot. Puoi acquistare altri crediti dalla sezione fatturazione.' + upgrade: 'Aggiorna il piano per attivare Captain AI' + disabled: 'Captain AI è disattivato per questo account.' + api_key_missing: 'La chiave API di Captain AI non è configurata.' copilot: using_tool: 'Utilizzando tool %{function_name}' completed_tool_call: 'Tool %{function_name} utilizzato' @@ -405,6 +428,9 @@ it: seconds: one: '%{count} secondo' other: '%{count} secondi' + auto_assignment: + default_policy_name: 'Policy Predefinita' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index ebbea91ef..54b5c3666 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -28,8 +28,7 @@ ja: invalid_email: '正しいメールアドレスを入力してください' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: やりましたね! パスワードのリセットリクエストが成功しました。手順についてはメールを確認してください。 - reset_password_failure: メールアドレスが見つかりませんでした。 + 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. @@ -95,6 +94,11 @@ ja: host_unreachable_error: ホストに接続できません。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. validations: name: 記号で開始または終了しないでください。< > / \ @ を使用しないでください。 custom_filters: @@ -104,6 +108,7 @@ ja: 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ja: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ja: avg_resolution_time: 解決までの平均時間 resolution_count: 処理件数 avg_customer_waiting_time: お客様の平均待ち時間 + conversation_csv: + conversations_count: 会話データ + incoming_messages_count: 受信メッセージ + outgoing_messages_count: 送信メッセージ + avg_first_response_time: 初回応答の平均時間 + avg_resolution_time: 解決までの平均時間 + resolution_count: Resolution count + avg_customer_waiting_time: お客様の平均待ち時間 conversation_traffic_csv: timezone: タイムゾーン sla_csv: @@ -178,6 +193,7 @@ ja: rating: 評価 feedback: フィードバックコメント recorded_at: 記録日 + review_notes: Review Notes notifications: notification_title: conversation_creation: '会話 (#%{display_id}) が %{inbox_name} で作成されました' @@ -205,7 +221,11 @@ ja: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ja: copilot_message_required: メッセージは必須です copilot_error: 'この受信トレイにアシスタントを接続してCopilotを使用してください' copilot_limit: 'Copilot残高がありません。課金セクションからクレジットを追加購入することができます。' + upgrade: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -401,6 +424,9 @@ ja: other: '%{count} 分' seconds: other: '%{count} 秒' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 2f3047807..acb9897ee 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -28,8 +28,7 @@ ka: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ ka: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ka: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ka: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ka: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ka: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ka: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ka: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ka: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 90bd992ab..11b6e4242 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1,378 +1,397 @@ -#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. +--- ko: - hello: 'Hello world' + 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.' + invalid_email: 올바른 이메일 주소를 입력하십시오. + authentication_failed: 인증에 실패했습니다. 자격 증명을 확인하고 다시 시도하십시오. messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. - 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: Your inbox deletion request will be processed in some time. + reset_password_saml_user: 이 계정은 SAML 인증을 사용합니다. 비밀번호 재설정을 사용할 수 없습니다. 관리자에게 문의하십시오. + login_saml_user: 이 계정은 SAML 인증을 사용합니다. 조직의 SAML 제공자를 통해 로그인하십시오. + saml_not_available: 이 설치에서는 SAML 인증을 사용할 수 없습니다. + inbox_deletetion_response: 받은 메시지함 삭제 요청이 곧 처리될 예정입니다. + reset_password: 비밀번호 재설정 요청이 성공적으로 처리되었습니다. 해당 이메일이 존재하는 경우 안내 이메일이 발송됩니다. errors: validations: - presence: must not be blank + presence: 비어 있을 수 없습니다 webhook: - invalid: Invalid events + invalid: 유효하지 않은 이벤트 signup: - disposable_email: We do not allow disposable emails - blocked_domain: This domain is not allowed. If you believe this is a mistake, please contact support. - invalid_email: You have entered an invalid email - email_already_exists: 'You have already signed up for an account with %{email}' - invalid_params: 'Invalid, please check the signup paramters and try again' - failed: Signup 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: Invalid email + invalid: 유효하지 않은 이메일 phone_number: - invalid: should be in e164 format + invalid: e164 형식이어야 합니다 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: 연결이 종료되었습니다. validations: - name: should not start or end with symbols, and it should not have < > / \ @ characters. + name: 기호로 시작하거나 끝나서는 안 되며, < > / \ @ 문자를 포함할 수 없습니다. + smtp: + authentication_error: SMTP 인증에 실패했습니다. 로그인 자격 증명을 확인하십시오. + connection_error: SMTP 서버에 연결할 수 없습니다. 서버 주소와 포트를 확인하십시오. + ssl_error: SSL/TLS 오류가 발생했습니다. 암호화 설정을 확인하십시오. + smtp_error: SMTP 서버 오류가 발생했습니다. 설정을 확인한 후 다시 시도하십시오. 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: - key_conflict: The provided key is not allowed as it might conflict with default attributes. + key_conflict: 제공된 키는 기본 속성과 충돌할 수 있으므로 허용되지 않습니다. + attribute_key_format: 문자, 숫자, 밑줄, 하이픈 및 점만 포함해야 합니다 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: 날짜 범위는 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: 보고 기간 %{since} - %{until} - utc_warning: The report generated is in UTC timezone + utc_warning: 생성된 보고서는 UTC 시간대 기준입니다 agent_csv: - agent_name: Agent name - conversations_count: Assigned conversations - avg_first_response_time: Avg first response time - avg_resolution_time: Avg resolution time + agent_name: 에이전트 이름 + conversations_count: 배정된 대화 + avg_first_response_time: 평균 첫 응답 시간 + avg_resolution_time: 평균 해결 시간 resolution_count: 해결 수 - avg_customer_waiting_time: Avg customer waiting time + avg_customer_waiting_time: 평균 고객 대기 시간 inbox_csv: - inbox_name: Inbox name - inbox_type: 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 + label_title: 라벨 + conversations_count: 대화 수 + avg_first_response_time: 평균 첫 응답 시간 + avg_resolution_time: 평균 해결 시간 + avg_reply_time: 평균 답변 시간 resolution_count: 해결 수 team_csv: - team_name: Team name - conversations_count: Conversations count - avg_first_response_time: Avg first response time - avg_resolution_time: Avg resolution time + team_name: 팀 이름 + conversations_count: 대화 수 + avg_first_response_time: 평균 첫 응답 시간 + avg_resolution_time: 평균 해결 시간 resolution_count: 해결 수 - avg_customer_waiting_time: Avg customer waiting time + 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 + conversation_id: 대화 ID + sla_policy_breached: SLA 정책 + assignee: 담당자 + team: 팀 inbox: 받은 메시지함 labels: 라벨 - conversation_link: Link to the Conversation - breached_events: Breached Events + 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 + contact_name: 연락처 이름 + contact_email_address: 연락처 이메일 주소 + contact_phone_number: 연락처 전화번호 + link_to_the_conversation: 대화 링크 agent_name: 에이전트 이름 - rating: Rating - feedback: Feedback Comment - recorded_at: Recorded date + rating: 평점 + feedback: 피드백 의견 + recorded_at: 기록 날짜 + review_notes: 리뷰 메모 + conversation_csv: + conversations_count: 대화 수 + incoming_messages_count: 수신 메시지 + outgoing_messages_count: 발신 메시지 + avg_first_response_time: 평균 첫 응답 시간 + avg_resolution_time: 평균 해결 시간 + resolution_count: 해결 수 + avg_customer_waiting_time: 평균 고객 대기 시간 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: "%{inbox_name}에 대화(#%{display_id})가 생성되었습니다" + 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: This message was 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' - open: 'Conversation was marked open by %{user_name}' + resolved: "%{user_name}님이 비활성으로 인해 대화를 해결됨으로 표시했습니다" + open: "%{user_name}님이 대화를 열림으로 표시했습니다" + resolved_with_reason: 대화가 %{user_name}에 의해 해결됨으로 표시되었습니다 (%{reason}) + resolved_by_tool: '대화가 %{user_name}에 의해 해결됨으로 표시되었습니다: %{reason}' + 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: 'Conversation was marked resolved by %{user_name}' - contact_resolved: 'Conversation was resolved by %{contact_name}' - open: 'Conversation was reopened by %{user_name}' - pending: 'Conversation was marked as pending by %{user_name}' - snoozed: 'Conversation was snoozed by %{user_name}' - auto_resolved_days: 'Conversation was marked resolved by system due to %{count} days of inactivity' - 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} self-assigned this conversation' - assigned: 'Assigned to %{assignee_name} by %{user_name}' - removed: 'Conversation unassigned by %{user_name}' + self_assigned: "%{user_name}님이 이 대화를 자기 자신에게 배정했습니다" + assigned: "%{user_name}님이 %{assignee_name}에게 배정했습니다" + removed: "%{user_name}님이 대화 배정을 해제했습니다" team: - assigned: 'Assigned to %{team_name} by %{user_name}' - assigned_with_assignee: 'Assigned to %{assignee_name} via %{team_name} by %{user_name}' - removed: 'Unassigned from %{team_name} by %{user_name}' + assigned: "%{user_name}님이 %{team_name}에 배정했습니다" + assigned_with_assignee: "%{user_name}님이 %{team_name}을(를) 통해 %{assignee_name}에게 + 배정했습니다" + removed: "%{user_name}님이 %{team_name}에서 배정을 해제했습니다" labels: - added: '%{user_name} added %{labels}' - removed: '%{user_name} removed %{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' - muted: '%{user_name} has muted the conversation' - unmuted: '%{user_name} has unmuted the conversation' - auto_resolution_message: 'Resolving the conversation as it has been inactive for a while. Please start a new conversation if you need further assistance.' + not_sent_due_to_messaging_window: 발신 메시지 제한으로 인해 자동 해결 메시지가 전송되지 않았습니다 + muted: "%{user_name}님이 대화를 음소거했습니다" + unmuted: "%{user_name}님이 대화 음소거를 해제했습니다" + auto_resolution_message: 한동안 활동이 없어 대화를 종료합니다. 추가 도움이 필요하시면 새 대화를 시작해 주십시오. templates: - greeting_message_body: '%{account_name} typically replies in a few hours.' - ways_to_reach_you_message_body: '저희가 연락드릴 방법을 알려주세요.' - email_input_box_message_body: '이메일로 연락받기' - csat_input_message_body: 'Please rate the conversation' + greeting_message_body: "%{account_name}은(는) 보통 몇 시간 내에 답변합니다." + ways_to_reach_you_message_body: 저희가 연락드릴 방법을 알려주세요. + email_input_box_message_body: 이메일로 연락받기 + 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} ' - friendly_name: '%{sender_name} from %{business_name} <%{from_email}>' - professional_name: '%{business_name} <%{from_email}>' + notifications: 알림 + from_with_name: "%{assignee_name} from %{inbox_name} <%{from_email}>" + reply_with_name: "%{inbox_name}의 %{assignee_name} " + 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: 'New messages on this conversation' - transcript_subject: 'Conversation Transcript' + 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}' + 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' + name: Dyte + 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." + name: Slack + 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.' + name: Webhooks + 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.' + name: Dialogflow + 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 Translate + short_description: 에이전트를 위해 고객 메시지를 자동으로 번역합니다. + description: Google Translate를 통합하여 에이전트가 고객 메시지를 쉽게 번역할 수 있도록 합니다. 이 통합은 언어를 + 자동으로 감지하여 에이전트 또는 관리자가 선호하는 언어로 변환합니다. 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.' + name: OpenAI + 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.' + name: Linear + 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.' + name: Notion + 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.' + name: Shopify + 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.' + name: LeadSquared + short_description: 연락처와 대화를 LeadSquared CRM과 동기화합니다. + description: 연락처와 대화를 LeadSquared CRM과 동기화합니다. 이 통합은 새 연락처가 추가되면 자동으로 LeadSquared에 + 리드를 생성하고, 영업 팀에 완전한 컨텍스트를 제공하기 위해 대화 활동을 기록합니다. captain: - copilot_message_required: Message is 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_message_required: 메시지가 필요합니다 + copilot_error: 이 받은 메시지함에 어시스턴트를 연결하여 Copilot을 사용하십시오 + copilot_limit: Copilot 크레딧이 부족합니다. 청구 섹션에서 추가 크레딧을 구매할 수 있습니다. 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' + 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: OpenAI에 PDF 업로드 실패 + pdf_upload_success: 'file_id: %{file_id}로 PDF가 성공적으로 업로드되었습니다' + 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' + slug_generation_failed: 5회 시도 후에도 고유 슬러그를 생성할 수 없습니다 + upgrade: Captain AI를 활성화하려면 플랜을 업그레이드하십시오 + disabled: 이 계정에서 Captain AI가 비활성화되어 있습니다. + api_key_missing: Captain AI API 키가 구성되지 않았습니다. public_portal: search: search_placeholder: 게시물을 제목이나 내용으로 검색하세요... empty_placeholder: 검색 결과가 없습니다. loading_placeholder: 검색중... results_title: 검색 결과 - toc_header: 'On this page' + toc_header: 이 페이지에서 hero: sub_title: 게시물을 여기서 검색하거나 아래에서 카테고리를 탐색해보세요. common: home: 홈 - last_updated_on: '%{last_updated_on}에 마지막으로 업데이트 됨' + last_updated_on: "%{last_updated_on}에 마지막으로 업데이트 됨" view_all_articles: 모두 보기 article: 게시물 articles: 게시물 author: 작성자 authors: 작성자 - other: other - others: others - by: By + other: 기타 + others: 기타 + by: 작성자 no_articles: 게시물이 없습니다. footer: - made_with: Made with + made_with: 제작 도구 header: go_to_homepage: 홈페이지 - visit_website: Visit website + visit_website: 웹사이트 방문 appearance: system: 시스템 light: 밝게 @@ -387,50 +406,57 @@ ko: fields: name: 이름 email: 이메일 - phone_number: Phone + phone_number: 전화번호 company_name: 회사 inbox_name: 받은 메시지함 - inbox_type: Inbox Type - button: Open conversation + inbox_type: 받은 메시지함 유형 + button: 대화 열기 time_units: days: - other: '%{count} days' + one: "%{count}일" + other: "%{count}일" hours: - other: '%{count} hours' + one: "%{count}시간" + other: "%{count}시간" minutes: - other: '%{count} minutes' + one: "%{count}분" + other: "%{count}분" seconds: - other: '%{count} seconds' + one: "%{count}초" + other: "%{count}초" 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: '이메일이 필요합니다' - 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: 사용자 정의 도메인이 구성되지 않았습니다 + auto_assignment: + default_policy_name: 기본 정책 + policy_actor: "%{policy_name}을 통한 자동화 시스템" diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 5d89b1a13..b5c31fdf2 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -28,8 +28,7 @@ lt: invalid_email: 'Prašau įveskite teisingą el. pašto adresą' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Kietai! Slaptažodžio nustatymo iš naujo užklausa įvykdyta. Instrukcijų ieškokite savo pašte. - reset_password_failure: Oho! Nepavyko rasti vartotojo su nurodytu el. pašto adresu. + 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. @@ -95,6 +94,11 @@ lt: host_unreachable_error: Kompiuteris nepasiekiamas. Patikrinkite IMAP adresą, IMAP prievadą ir bandykite dar kartą. connection_timed_out_error: Baigėsi %{address}:%{port} sujungimo laukimo laikas connection_closed_error: Sujungimas uždarytas. + 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. validations: name: neturėtų prasidėti ar baigtis simboliais ir jame neturėtų būti simbolių < > / \ @. custom_filters: @@ -104,6 +108,7 @@ lt: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ lt: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ lt: avg_resolution_time: Avg resolution time resolution_count: Sprendimų skaičius avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Pokalbiai + incoming_messages_count: Gaunami pranešimai + outgoing_messages_count: Siunčiami pranešimai + 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 conversation_traffic_csv: timezone: Laiko zona sla_csv: @@ -178,6 +193,7 @@ lt: rating: Reitingas feedback: Atsiliepimų komentaras recorded_at: Įrašo data + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ lt: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ lt: copilot_message_required: Yra reikalingas pranešimas 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ lt: few: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index f235045c6..60386f955 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -28,8 +28,7 @@ lv: invalid_email: 'Lūdzu, ievadiet derīgu e-pasta adresi' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Urā! Paroles atiestatīšanas pieprasījums ir veiksmīgs. Pārbaudiet savu e-pastu, lai iegūtu norādījumus. - reset_password_failure: Ak, vai! Mēs nevarējām atrast nevienu lietotāju ar norādīto e -pastu. + 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. @@ -95,6 +94,11 @@ lv: host_unreachable_error: Resursdators nav pieejams. Lūdzu, pārbaudiet IMAP adresi, IMAP portu un mēģiniet vēlreiz. connection_timed_out_error: Savienojumam %{address}:%{port} iestājās taimauts connection_closed_error: Savienojums slēgts. + 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. validations: name: nevajadzētu sākties vai beigties ar simboliem, un nevajadzētu saturēt <> / \ @ rakstzīmes. custom_filters: @@ -104,6 +108,7 @@ lv: invalid_query_operator: Vaicājuma operatoram ir jābūt "UN" vai "VAI". invalid_value: Nederīga vērtība. Norādītās vērtības priekš %{attribute_name} nav derīgas custom_attribute_definition: + attribute_key_format: must only contain letters, numbers, underscores, hyphens, and dots key_conflict: Norādītā atslēga nav atļauta, jo tā var būt pretrunā ar noklusējuma atribūtiem. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ lv: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ lv: avg_resolution_time: Vidējais atrisināšanas laiks resolution_count: Atrisināšanas Skaits avg_customer_waiting_time: Vidējais klientu gaidīšanas laiks + conversation_csv: + conversations_count: Sarunas + incoming_messages_count: Saņemtās ziņas + outgoing_messages_count: Nosūtītās ziņas + avg_first_response_time: Vidējais pirmās reakcijas laiks + avg_resolution_time: Vidējais atrisināšanas laiks + resolution_count: Resolution count + avg_customer_waiting_time: Vidējais klientu gaidīšanas laiks conversation_traffic_csv: timezone: Laika zona sla_csv: @@ -178,6 +193,7 @@ lv: rating: Vērtējums feedback: Atsauksmes Komentārs recorded_at: Reģistrētais datums + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Saruna (#%{display_id}) ir izveidota mapē %{inbox_name}' @@ -205,7 +221,11 @@ lv: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ lv: copilot_message_required: Nepieciešams ziņojums copilot_error: 'Lai izmantotu Copilot, lūdzu, pievienojiet šai iesūtnei palīgu' copilot_limit: 'Jums ir beigušies Copilot kredīti. Vairāk kredītu varat iegādāties norēķinu sadaļā.' + upgrade: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -409,6 +432,9 @@ lv: zero: '%{count} sekundes' one: '%{count} sekunde' other: '%{count} sekundes' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automatizācijas Sistēma' crm: diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 4aadc4432..ed79a1c0b 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -28,8 +28,7 @@ ml: invalid_email: 'ദയവായി സാധുവായ ഒരു ഇമെയിൽ വിലാസം നൽകുക' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! പാസ്‌വേഡ് പുനസജ്ജീകരണത്തിനുള്ള അഭ്യർത്ഥന വിജയകരമാണ്. നിർദ്ദേശങ്ങൾക്കായി നിങ്ങളുടെ മെയിൽ പരിശോധിക്കുക. - reset_password_failure: ക്ഷമിക്കണം! നിർദ്ദിഷ്ട ഇമെയിൽ ഉള്ള ഒരു ഉപയോക്താവിനെയും ഞങ്ങൾക്ക് കണ്ടെത്താൻ കഴിഞ്ഞില്ല. + 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. @@ -95,6 +94,11 @@ ml: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ml: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ml: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ml: avg_resolution_time: Avg resolution time resolution_count: മിഴിവ് എണ്ണം avg_customer_waiting_time: 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ml: rating: റേറ്റിംഗ് feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ml: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ml: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ml: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 5be805e3b..920165dac 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -28,8 +28,7 @@ ms: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ ms: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ms: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ms: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ms: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ms: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ms: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ms: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -401,6 +424,9 @@ ms: other: '%{count} minutes' seconds: other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ne.yml b/config/locales/ne.yml index ee5a55ce2..0fe5af12c 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -28,8 +28,7 @@ ne: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ ne: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ne: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ne: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ne: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ne: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ne: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ne: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ne: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index bb8f1beb0..7db7659a6 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -28,8 +28,7 @@ nl: invalid_email: 'Voer een geldig e-mailadres in' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Verzoek om wachtwoord te resetten is gelukt. Controleer je e-mail voor instructies. - reset_password_failure: Oh ho! We konden geen gebruiker vinden met het opgegeven e-mailadres. + 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. @@ -95,6 +94,11 @@ nl: host_unreachable_error: Host onbereikbaar, controleer het IMAP-adres, IMAP-poort en probeer het opnieuw. connection_timed_out_error: Verbinding time-out voor %{address}:%{port} connection_closed_error: Verbinding verbroken. + 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. validations: name: mag niet beginnen of eindigen met symbolen, en mag geen < > / \ @ karakters hebben. custom_filters: @@ -104,6 +108,7 @@ nl: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ nl: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ nl: avg_resolution_time: Avg resolution time resolution_count: Aantal Resoluties avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Gesprekken + incoming_messages_count: Inkomende berichten + outgoing_messages_count: Uitgaande berichten + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ nl: rating: Beoordeling feedback: Feedback Opmerking recorded_at: Datum opgenomen + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ nl: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ nl: copilot_message_required: Bericht is vereist 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ nl: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/no.yml b/config/locales/no.yml index fa1824a96..b6b12589c 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -28,8 +28,7 @@ invalid_email: 'Vennligst skriv inn en gyldig e-postadresse' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Forespørsel om tilbakestilling av passord er vellykket. Sjekk innboksen for instruksjoner. - reset_password_failure: Uff da! Vi fant ingen bruker med den angitte eposten. + 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. @@ -95,6 +94,11 @@ host_unreachable_error: Verten er ikke tilgjengelig. Vennligst kontroller IMAP-adressen, IMAP-porten og prøv på nytt. connection_timed_out_error: Tilkobling ble tidsavbrutt for %{address}:%{port} connection_closed_error: Forbindelsen ble lukket. + 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. validations: name: ikke kan starte eller slutte med symboler, og den kan ikke ha < > / \ @ tegn. custom_filters: @@ -104,6 +108,7 @@ invalid_query_operator: Spørrings-operatør må være enten "AND" eller "OR". invalid_value: Ugyldig verdi. Verdiene angitt for %{attribute_name} er ugyldige 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ avg_resolution_time: Gjennomsnittstid for løsning resolution_count: Antall løsninger avg_customer_waiting_time: Gjennomsnittlig ventetid for kunde + conversation_csv: + conversations_count: Samtaler + incoming_messages_count: Innkommende meldinger + outgoing_messages_count: Utgående meldinger + avg_first_response_time: Første svartid + avg_resolution_time: Gjennomsnittstid for løsning + resolution_count: Resolution count + avg_customer_waiting_time: Kunden i snitt venter conversation_traffic_csv: timezone: Tidssone sla_csv: @@ -178,6 +193,7 @@ rating: Vurdering feedback: Tilbakemelding recorded_at: Registrert dato + review_notes: Review Notes notifications: notification_title: conversation_creation: 'En samtale (#%{display_id}) har blitt opprettet i %{inbox_name}' @@ -205,7 +221,11 @@ 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index a39dfdbbc..bb7da3c9d 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -28,8 +28,7 @@ pl: invalid_email: 'Wprowadź poprawny adres e-mail' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Prośba o zresetowanie hasła zakończona pomyślnie. Sprawdź swoją pocztę, aby uzyskać instrukcje. - reset_password_failure: Ups! Nie mogliśmy znaleźć żadnego użytkownika z podanym adresem e-mail. + 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. @@ -95,6 +94,11 @@ pl: host_unreachable_error: Host nieosiągalny, sprawdź adres IMAP, port IMAP i spróbuj ponownie. connection_timed_out_error: Limit czasu połączenia dla %{address}:%{port} connection_closed_error: Połączenie zakończone. + 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. validations: name: nie powinno zaczynać się ani kończyć symbolami i nie powinno zawierać znaków < > / \ @. custom_filters: @@ -104,6 +108,7 @@ pl: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ pl: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ pl: avg_resolution_time: Avg resolution time resolution_count: Liczba rozwiązań avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Rozmowy + incoming_messages_count: Wiadomości przychodzące + outgoing_messages_count: Wiadomości wychodzące + 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 conversation_traffic_csv: timezone: Strefa czasowa sla_csv: @@ -178,6 +193,7 @@ pl: rating: Ocena feedback: Komentarz zwrotny recorded_at: Data nagrania + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ pl: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ pl: copilot_message_required: Wiadomość jest wymagana 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ pl: few: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 194a1e8f1..7b4edba25 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -28,8 +28,7 @@ pt: invalid_email: 'Por favor, insira um endereço de e-mail válido' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Legal! Pedido de redefinição de senha bem sucedido. Verifique o seu e-mail para obter instruções. - reset_password_failure: Uh ho! Não conseguimos encontrar nenhum uutilizador com o e-mail especificado. + 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. @@ -95,6 +94,11 @@ pt: host_unreachable_error: Host inacessível. Por favor, verifique o endereço IMAP, porta IMAP e tente novamente. connection_timed_out_error: A ligação para %{address}:%{port} expirou connection_closed_error: Ligação encerrada. + 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. validations: name: não deve iniciar ou terminar com símbolos, nem deve ter < > / \ @ caracteres. custom_filters: @@ -104,6 +108,7 @@ pt: invalid_query_operator: Query operator must be either "AND" or "OR". invalid_value: Valor inválido. Os valores fornecidos para %{attribute_name} são inválidos 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ pt: 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. + reports: + date_range_too_long: Intervalo de datas não pode exceder 6 meses profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ pt: avg_resolution_time: Média de tempo de resolução resolution_count: Contagem de resolução avg_customer_waiting_time: Tempo médio de espera cliente + conversation_csv: + conversations_count: Conversas + incoming_messages_count: Mensagens recebidas + outgoing_messages_count: Mensagens enviadas + avg_first_response_time: Média de tempo da primeira resposta + avg_resolution_time: Média de tempo de resolução + resolution_count: Resolution count + avg_customer_waiting_time: Tempo médio de espera cliente conversation_traffic_csv: timezone: Fuso Horário sla_csv: @@ -178,6 +193,7 @@ pt: rating: Avaliar feedback: Comentário de Feedback recorded_at: Data de gravação + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversa (#%{display_id}) foi criada em %{inbox_name}' @@ -205,7 +221,11 @@ pt: activity: captain: resolved: 'A conversa foi marcada como resolvida por %{user_name} devido à inatividade' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: 'A conversa foi marcada como aberta por %{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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ pt: copilot_message_required: A mensagem é obrigatória 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'A usar a ferramenta %{function_name}' completed_tool_call: 'Chamada da ferramenta %{function_name} concluída' @@ -405,6 +428,9 @@ pt: seconds: one: '%{count} segundo' other: '%{count} segundos' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Sistema de Automação' crm: diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index cd7d84f8f..d31dd0422 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -28,8 +28,7 @@ pt_BR: invalid_email: 'Por favor, insira um endereço de e-mail válido' authentication_failed: 'Falha na autenticação. Por favor, verifique suas credenciais e tente novamente.' messages: - reset_password_success: Legal! A solicitação de alteração de senha foi bem sucedida. Verifique seu e-mail para obter instruções. - reset_password_failure: Uh ho! Não conseguimos encontrar nenhum usuário com o e-mail especificado. + reset_password: A solicitação de redefinição de senha foi realizada com sucesso. Um e-mail com instruções será enviado para o seu endereço de e-mail, caso ele exista em nosso sistema. reset_password_saml_user: Esta conta usa autenticação SAML. A redefinição de senha não está disponível. Por favor, contate o administrador. login_saml_user: Esta conta usa autenticação SAML. Por favor, faça login através do provedor SAML da sua organização. saml_not_available: A autenticação SAML não está disponível nesta instalação. @@ -67,9 +66,9 @@ pt_BR: invalid: deve estar no formato e164 companies: domain: - invalid: must be a valid domain name + invalid: deve ser um nome de domínio válido search: - query_missing: Especifique a ‘string’ de busca com o parâmetro q + query_missing: Especifique a string de busca com o parâmetro q messages: search: time_range_limit_exceeded: 'A pesquisa está limitada aos últimos %{days} dias' @@ -84,7 +83,7 @@ pt_BR: token_exchange_failed: 'Falha ao trocar o código por um token de acesso. Por favor, tente novamente.' invalid_token_permissions: 'O token de acesso não tem as permissões necessárias para o WhatsApp.' phone_info_fetch_failed: 'Falha ao obter a informação do número de telefone. Por favor, tente novamente.' - phone_number_already_exists: 'Channel already exists for this phone number: %{phone_number}, please contact support if the error persists' + phone_number_already_exists: 'Já existe um canal para este número de telefone: %{phone_number}. Entre em contato com o suporte se o erro persistir' reauthorization: generic: 'Falha ao reautenticar o WhatsApp. Por favor, tente novamente.' not_supported: 'Reautenticação não é suportado por este tipo de canal WhatsApp.' @@ -95,6 +94,11 @@ pt_BR: host_unreachable_error: Servidor inacessível, por favor, verifique o endereço e a porta de IMAP e tente novamente. connection_timed_out_error: Tempo esgotado de conexão para %{address}:%{port} connection_closed_error: Conexão fechada. + smtp: + authentication_error: Autenticação SMTP falhou. Por favor, verifique suas credenciais de acesso. + connection_error: Não foi possível conectar ao servidor SMTP. Por favor, verifique o endereço do servidor e a porta. + ssl_error: Erro de SSL/TLS. Por favor, verifique suas configurações de criptografia. + smtp_error: Erro no servidor SMTP. Por favor, verifique sua configuração e tente novamente. validations: name: 'não deve iniciar ou terminar com símbolos e não deve ter os caracteres: < > / \ @.' custom_filters: @@ -104,6 +108,7 @@ pt_BR: invalid_query_operator: Operador de consulta deve ser "E" ou "OU". invalid_value: Valor inválido. Os valores fornecidos para %{attribute_name} são inválidos custom_attribute_definition: + attribute_key_format: deve conter apenas letras, números, sublinhados, hífens, e pontos key_conflict: A chave fornecida não é permitida pois pode entrar em conflito com os atributos padrão. mfa: already_enabled: MFA já está habilitado @@ -120,6 +125,8 @@ pt_BR: plan_not_eligible: As recargas estão disponíveis apenas para planos pagos. Por favor, faça o upgrade do seu plano primeiro. stripe_customer_not_configured: Cliente do Stripe não configurado no_payment_method: Nenhum método de pagamento encontrado. Por favor, adicione um método de pagamento antes de realizar uma compra. + reports: + date_range_too_long: O intervalo de datas não pode exceder 6 meses profile: mfa: enabled: MFA habilitado com sucesso @@ -156,6 +163,14 @@ pt_BR: avg_resolution_time: Tempo médio de resolução resolution_count: Contagem de Resolução avg_customer_waiting_time: Tempo médio de espera do cliente + conversation_csv: + conversations_count: Conversas + incoming_messages_count: Mensagens Recebidas + outgoing_messages_count: Mensagens enviadas + avg_first_response_time: Tempo médio de primeira resposta + avg_resolution_time: Tempo médio de resolução + resolution_count: Quantidade de resoluções + avg_customer_waiting_time: Tempo médio de espera do cliente conversation_traffic_csv: timezone: Fuso horário sla_csv: @@ -178,6 +193,7 @@ pt_BR: rating: Classificação feedback: Comentário de Feedback recorded_at: Data de gravação + review_notes: Notas de Avaliação notifications: notification_title: conversation_creation: '' @@ -205,9 +221,13 @@ pt_BR: activity: captain: resolved: 'A conversa foi marcada como resolvida por %{user_name} por inatividade' + resolved_with_reason: 'A conversa foi marcada como resolvida por %{user_name} (%{reason})' + resolved_by_tool: 'A conversa foi marcada como resolvida por %{user_name}: %{reason}' open: 'A conversa foi aberta por %{user_name}' + open_with_reason: 'A conversa foi marcada como aberta por %{user_name} (%{reason})' + auto_opened_after_agent_reply: 'A conversa foi marcada como aberta automaticamente após a resposta de um agente' agent_bot: - error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' + error_moved_to_open: 'A conversa foi marcada como aberta pelo sistema devido a um erro com o robô de atendimento.' status: resolved: 'Conversa foi marcada como resolvida por %{user_name}' contact_resolved: 'A conversa foi resolvida por %{contact_name}' @@ -320,6 +340,9 @@ pt_BR: copilot_message_required: A mensagem é obrigatória copilot_error: 'Conecte com um assistente a esta caixa de entrada para usar Copilot' copilot_limit: 'Você está sem créditos de Copilot. Pode comprar mais créditos na seção de faturamento.' + upgrade: 'Atualize seu plano para habilitar o Capitão IA' + disabled: 'O Capitão IA está desativado para esta conta.' + api_key_missing: 'A chave de API do Capitão IA não está configurada.' copilot: using_tool: 'Usando a ferramenta %{function_name}' completed_tool_call: 'Uso da ferramenta %{function_name} concluída' @@ -333,20 +356,20 @@ pt_BR: pdf_upload_success: 'PDF enviado com sucesso com file_id: %{file_id}' pdf_processing_failed: 'Falha ao processar o documento PDF %{document_id}: %{error}' pdf_processing_success: 'Documento PDF processado com sucesso %{document_id}' - faq_generation_complete: 'FAQ generation complete. Total FAQs created: %{count}' + faq_generation_complete: 'Geração de FAQs concluída. Total de FAQs criadas: %{count}' using_paginated_faq: 'Usando geração de FAQ''s paginada para o documento %{document_id}' - using_standard_faq: 'Using standard FAQ generation for document %{document_id}' - response_creation_error: 'Error in creating response document: %{error}' + using_standard_faq: 'Usando geração padrão de FAQs para o documento %{document_id}' + response_creation_error: 'Erro ao criar o documento de resposta: %{error}' missing_openai_file_id: 'O documento deve ter openai_file_id para processamento paginado' openai_api_error: 'Erro da API OpenAI: %{error}' - starting_paginated_faq: 'Starting paginated FAQ generation (%{pages_per_chunk} pages per chunk)' + starting_paginated_faq: 'Iniciando a geração paginada de FAQs (%{pages_per_chunk} páginas por bloco)' stopping_faq_generation: 'Processamento interrompido. Motivo: %{reason}' paginated_faq_complete: 'Geração de paginação completa. Total de FAQs: %{total_faqs}, Páginas processadas: %{pages_processed}' processing_pages: 'Processando páginas %{start}-%{end} (iteração %{iteration})' - chunk_generated: 'Chunk generated %{chunk_faqs} FAQs. Total so far: %{total_faqs}' + chunk_generated: 'Bloco gerado com %{chunk_faqs} FAQs. Total até agora: %{total_faqs}' page_processing_error: 'Erro ao processar as páginas %{start}-%{end}: %{error}' custom_tool: - slug_generation_failed: 'Unable to generate unique slug after 5 attempts' + slug_generation_failed: 'Não foi possível gerar um slug único após 5 tentativas' public_portal: search: search_placeholder: Pesquisar por artigo por título ou corpo... @@ -405,6 +428,9 @@ pt_BR: seconds: one: '%{count} segundo' other: '%{count} segundos' + auto_assignment: + default_policy_name: 'Política Padrão' + policy_actor: 'Sistema de Automação via %{policy_name}' automation: system_name: 'Sistema de Automação' crm: diff --git a/config/locales/ro.yml b/config/locales/ro.yml index c7551301f..96211bd0a 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -28,8 +28,7 @@ ro: invalid_email: 'Vă rugăm să introduceți o adresă de e-mail validă' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Cererea de resetare a parolei a reusit. Verifica emailul pentru instructiuni. - reset_password_failure: Nu am putut găsi niciun utilizator cu e-mailul specificat. + 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. @@ -95,6 +94,11 @@ ro: host_unreachable_error: Gazdă imposibil de găsit, Verificați adresa IMAP, portul IMAP și încercați din nou. connection_timed_out_error: Conexiunea a expirat pentru %{address}:%{port} connection_closed_error: Conexiune închisă. + 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. validations: name: nu ar trebui să înceapă sau să se termine cu simboluri și nu ar trebui să aibă < > / \ @ caractere. custom_filters: @@ -104,6 +108,7 @@ ro: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ro: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ro: avg_resolution_time: Avg resolution time resolution_count: Număr de rezoluții avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversații + incoming_messages_count: Mesaje primite + outgoing_messages_count: Mesaje trimise + 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 conversation_traffic_csv: timezone: Fus orar sla_csv: @@ -178,6 +193,7 @@ ro: rating: Evaluare feedback: Feedback comentariu recorded_at: Data înregistrată + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ro: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ro: copilot_message_required: Este necesar un mesaj 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -409,6 +432,9 @@ ro: one: '%{count} second' few: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 57dcab79b..3925ba1d9 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -28,8 +28,7 @@ ru: invalid_email: 'Пожалуйста, введите действительный адрес электронной почты' authentication_failed: 'Ошибка аутентификации. Пожалуйста, проверьте ваши учетные данные и повторите попытку.' messages: - reset_password_success: Круто! Запрос на сброс пароля удался. Проверьте почту для получения инструкций. - reset_password_failure: Ой! Мы не смогли найти пользователя с указанным email. + reset_password: Запрос на сброс пароля удался. Если адрес почты существует, то на него будет отправлено письмо с инструкциями. reset_password_saml_user: Эта учетная запись использует SAML-аутентификацию. Сброс пароля недоступен. Пожалуйста, обратитесь к администратору. login_saml_user: Эта учетная запись использует SAML аутентификацию. Пожалуйста, войдите через SAML провайдера вашей организации. saml_not_available: SAML аутентификация не доступна в этой установке. @@ -49,10 +48,10 @@ ru: assignment_policy: not_found: Политика назначения не найдена attachments: - invalid: Invalid attachment + invalid: Недопустимое вложение saml: feature_not_enabled: Функция SAML не включена для этой учетной записи - sso_not_enabled: SAML SSO is not enabled for this installation + sso_not_enabled: SSO SAML не включен для этой установки data_import: data_type: invalid: Недопустимый тип данных @@ -72,7 +71,7 @@ ru: query_missing: Specify search string with parameter q messages: search: - time_range_limit_exceeded: 'Search is limited to the last %{days} days' + time_range_limit_exceeded: 'Поиск ограничен последними %{days} днями' categories: locale: unique: Должны быть уникальными в категории и портале @@ -95,6 +94,11 @@ ru: host_unreachable_error: Хост недоступен. Проверьте адрес IMAP, порт IMAP и повторите попытку. connection_timed_out_error: Время ожидания соединения для %{address}:%{port} истекло connection_closed_error: Соединение закрыто. + smtp: + authentication_error: Ошибка аутентификации SMTP. Пожалуйста, проверьте ваши учетные данные. + connection_error: Не удалось подключиться к SMTP серверу. Пожалуйста, проверьте адрес сервера и порт. + ssl_error: Ошибка SSL/TLS. Проверьте настройки шифрования. + smtp_error: Ошибка SMTP-сервера. Проверьте настройки и повторите попытку. validations: name: Не должен начинаться или заканчиваться символами, и у него Не должно быть < > / \ @ символов. custom_filters: @@ -104,6 +108,7 @@ ru: 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: Предоставленный ключ не разрешён, так как он может конфликтовать со стандартными атрибутами. mfa: already_enabled: MFA уже включен @@ -114,12 +119,14 @@ ru: 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: Диапазон дат не может превышать 6 месяцев profile: mfa: enabled: MFA успешно включен @@ -156,6 +163,14 @@ ru: avg_resolution_time: Среднее время завершения resolution_count: Количество завершенных avg_customer_waiting_time: Среднее время ожидания клиента + conversation_csv: + 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: Часовой пояс sla_csv: @@ -178,6 +193,7 @@ ru: rating: Оценка feedback: Комментарий к отзыву recorded_at: Дата записи + review_notes: Просмотреть заметки notifications: notification_title: conversation_creation: 'В %{inbox_name} создана беседа (#%{display_id})' @@ -195,8 +211,8 @@ ru: messages: instagram_story_content: '%{story_sender} упомянул Вас в истории: ' instagram_deleted_story_content: Эта история больше недоступна. - instagram_shared_story_content: 'Shared story' - instagram_shared_post_content: 'Shared post' + instagram_shared_story_content: 'Общая история' + instagram_shared_post_content: 'Общая запись' deleted: Это сообщение было удалено whatsapp: list_button_label: 'Выберите элемент' @@ -205,7 +221,11 @@ ru: activity: captain: resolved: 'Диалог был решен %{user_name} из-за бездействия' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Диалог был завершен %{user_name} с причиной: %{reason}' open: 'Диалог был открыт %{user_name}' + open_with_reason: 'Conversation was marked open by %{user_name} (%{reason})' + auto_opened_after_agent_reply: 'Разговор был открыт автоматически после ответа агента' agent_bot: error_moved_to_open: 'Диалог был открыт системой из-за ошибки бота агента.' status: @@ -320,6 +340,9 @@ ru: copilot_message_required: Необходимо ввести сообщение copilot_error: 'Пожалуйста, подключите ассистента к этому источнику входящих для использования Copilot' copilot_limit: 'У вас закончились кредиты для Copilot. Вы можете купить дополнительные кредиты в разделе биллинга.' + upgrade: 'Улучшите свой план, чтобы включить Captain AI' + disabled: 'Captain AI отключён для этого аккаунта.' + api_key_missing: 'API ключ Captain AI не настроен.' copilot: using_tool: 'Использование инструмента %{function_name}' completed_tool_call: 'Вызов инструмента %{function_name}' @@ -413,6 +436,9 @@ ru: few: '%{count} секунд' many: '%{count} секунд' other: '%{count} секунд' + auto_assignment: + default_policy_name: 'Политика по умолчанию' + policy_actor: 'Система автоматизации через %{policy_name}' automation: system_name: 'Система автоматизации' crm: diff --git a/config/locales/secure_password.zh_TW.yml b/config/locales/secure_password.zh_TW.yml new file mode 100644 index 000000000..647e4eceb --- /dev/null +++ b/config/locales/secure_password.zh_TW.yml @@ -0,0 +1,70 @@ +zh_TW: + secure_password: + character: + one: 字元 + other: 字元 + types: + uppercase: 大寫字母 + downcase: 小寫字母 + lowercase: 小寫字母 + number: 數字 + special: 特殊字元 + password_has_required_content: + errors: + messages: + unknown_characters: 包含 %{count} 個無效%{subject} + minimum_characters: 至少要包含 %{count} 個%{type}%{subject} + maximum_characters: 必須少於 %{count} 個%{type}%{subject} + minimum_length: 至少要包含 %{count} 個%{subject} + maximum_length: 必須少於 %{count} 個%{subject} + password_disallows_frequent_reuse: + errors: + messages: + password_is_recent: 最近 %{count} 次使用過的密碼不得重複使用 + password_disallows_frequent_changes: + errors: + messages: + password_is_recent: 每個 %{timeframe} 內只能更改一次密碼 + password_requires_regular_updates: + alerts: + messages: + password_updated: 您的密碼已更新。 + errors: + messages: + password_expired: 您的密碼已過期。密碼必須每隔 %{timeframe} 更換一次 + datetime: + precise_distance_in_words: + half_a_minute: 半分鐘 + less_than_x_seconds: + one: 1秒 + other: '%{count} 秒' + x_seconds: + one: 1秒 + other: '%{count} 秒' + less_than_x_minutes: + one: 一分鐘 + other: '%{count} 分鐘' + x_minutes: + one: 1分鐘 + other: '%{count} 分鐘' + about_x_hours: + one: 1小時 + other: '%{count} 小時' + x_days: + one: 1天 + other: '%{count} 天' + about_x_months: + one: 1個月 + other: '%{count} 個月' + x_months: + one: 1個月 + other: '%{count} 個月' + about_x_years: + one: 1年 + other: '%{count} 年' + over_x_years: + one: 1年 + other: '%{count} 年' + almost_x_years: + one: 1年 + other: '%{count} 年' diff --git a/config/locales/sh.yml b/config/locales/sh.yml index c796e3b1d..3740ed32a 100644 --- a/config/locales/sh.yml +++ b/config/locales/sh.yml @@ -28,8 +28,7 @@ sh: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ sh: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ sh: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sh: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sh: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ sh: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ sh: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sh: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ sh: few: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 230d20bf5..cae37f298 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -28,8 +28,7 @@ sk: invalid_email: 'Prosím zadajte platnú e-mailovú adresu' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ sk: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ sk: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sk: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sk: avg_resolution_time: Avg resolution time resolution_count: Počet vyriešených problémov avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Rozhovory + incoming_messages_count: Prichádzajúce správy + outgoing_messages_count: Odchádzajúce správy + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ sk: rating: Hodnotenia feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ sk: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sk: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ sk: few: '%{count} seconds' many: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/sl.yml b/config/locales/sl.yml index cf4d9efb9..bd9c8fb7b 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -28,8 +28,7 @@ sl: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Juhu! Zahteva za ponastavitev gesla je bila uspešna. Preverite svojo e-pošto za navodila. - reset_password_failure: O ne! Nismo mogli najti nobenega uporabnika z navedenim e-poštnim naslovom. + 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. @@ -95,6 +94,11 @@ sl: host_unreachable_error: Gostitelj nedosegljiv. Preverite naslov IMAP, vrata IMAP in poskusite znova. connection_timed_out_error: Povezava je potekla za %{address}:%{port} connection_closed_error: Povezava zaprta. + 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. validations: name: se ne sme začeti ali končati s simboli in ne sme vsebovati znakov < > / \ @. custom_filters: @@ -104,6 +108,7 @@ sl: invalid_query_operator: Query operator must be either "AND" or "OR". invalid_value: Neveljavna vrednost. Podane vrednosti za %{attribute_name} so neveljavne 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sl: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sl: avg_resolution_time: Povprečni čas razrešitve resolution_count: Število razrešitev avg_customer_waiting_time: Povprečni čakalni čas stranke + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + avg_first_response_time: Povprečni prvi odzivni čas + avg_resolution_time: Povprečni čas razrešitve + resolution_count: Resolution count + avg_customer_waiting_time: Povprečni čakalni čas stranke conversation_traffic_csv: timezone: Časovni pas sla_csv: @@ -178,6 +193,7 @@ sl: rating: Ocena feedback: Povratni komentar recorded_at: Zabeležen datum + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Pogovor (#%{display_id}) je bil ustvarjen v %{inbox_name}' @@ -205,7 +221,11 @@ sl: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sl: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ sl: two: '%{count} sekundi' few: '%{count} sekunde' other: '%{count} sekund' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 6f80d6d5c..530a7c5cb 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -28,8 +28,7 @@ sq: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ sq: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ sq: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sq: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sq: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ sq: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ sq: activity: captain: resolved: 'Biseda u shënua si e zgjidhur nga %{user_name} për shkak të mungesës së aktivitetit' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: 'Biseda u shënua si e hapur nga %{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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sq: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Duke përdorur mjetin %{function_name}' completed_tool_call: 'Thirrja e mjetit %{function_name} u përfundua' @@ -405,6 +428,9 @@ sq: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Sistemi i Automatizimit' crm: diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 93f829511..9669bc320 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -28,8 +28,7 @@ sr-Latn: invalid_email: 'Molim vas unesite ispravnu adresu e-pošte' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Opa! Zahtev za resetovanjem lozinke je uspešan. Proverite vašu e-poštu za uputstvo. - reset_password_failure: O ne! Nismo mogli da pronađemo nijednog korisnika sa navedenom e-poštom. + 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. @@ -95,6 +94,11 @@ sr-Latn: host_unreachable_error: Domaćin je nedostupan, Molim vas proverite IMAP adresu, IMAP port i pokušajte ponovo. connection_timed_out_error: Vreme za povezivanje je isteklo za %{address}:%{port} connection_closed_error: Povezivanje je prekinuto. + 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. validations: name: ne treba početi ili se završiti sa simbolima i ne treba da sadrži < > / \ @ karaktere. custom_filters: @@ -104,6 +108,7 @@ sr-Latn: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sr-Latn: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sr-Latn: avg_resolution_time: Avg resolution time resolution_count: Broj rešenih avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Razgovori + incoming_messages_count: Dolazne poruke + outgoing_messages_count: Odlazne poruke + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ sr-Latn: rating: Ocena feedback: Komentar povratne informacije recorded_at: Snimljen dana + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ sr-Latn: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sr-Latn: copilot_message_required: Poruka je obavezna 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -409,6 +432,9 @@ sr-Latn: one: '%{count} second' few: '%{count} seconds' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 1e97d629f..b4f3ef70e 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -28,8 +28,7 @@ sv: invalid_email: 'Ange en giltig e-postadress' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Begäran om återställning av lösenord lyckades. Kontrollera din e-post för instruktioner. - reset_password_failure: Oj då! Vi kunde inte hitta någon användare med den angivna e-postadressen. + 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. @@ -95,6 +94,11 @@ sv: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ sv: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ sv: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ sv: avg_resolution_time: Avg resolution time resolution_count: Antal lösta avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Konversationer + incoming_messages_count: Inkommande meddelanden + outgoing_messages_count: Utgående meddelanden + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ sv: rating: Betyg feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ sv: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ sv: copilot_message_required: Meddelande måste fyllas i 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ sv: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 7dce234f2..8b2b96167 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -28,8 +28,7 @@ ta: invalid_email: 'சரியான ஈமெயில் முகவரியை பதிவிடவும்' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: வூட்! பாஸ்வேர்டை மீட்டமைப்பிற்கான கோரிக்கை வெற்றிகரமாக அனுப்பப்பட்டுள்ளது. வழிமுறைகளுக்கு உங்கள் ஈ-மெயிலைப் பார்க்கவும். - reset_password_failure: மன்னிக்கவும்! குறிப்பிட்ட ஈ-மெயிலுடன் எந்த பயனரையும் எங்களால் கண்டுபிடிக்க முடியவில்லை. + 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. @@ -95,6 +94,11 @@ ta: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ta: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ta: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ta: avg_resolution_time: Avg resolution time resolution_count: தீர்மான எண்ணிக்கை avg_customer_waiting_time: 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ta: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ta: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ta: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ta: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/th.yml b/config/locales/th.yml index c9d491fe4..2b2f3ebf6 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -28,8 +28,7 @@ th: invalid_email: 'กรุณากรอกที่อยู่อีเมล์ให้ถูกต้อง' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ th: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ th: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ th: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ th: avg_resolution_time: Avg resolution time resolution_count: จำนวนความละเอียด avg_customer_waiting_time: 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ th: rating: การประเมิน feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ th: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ th: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -401,6 +424,9 @@ th: other: '%{count} minutes' seconds: other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/tl.yml b/config/locales/tl.yml index 24c6360bb..373642fa6 100644 --- a/config/locales/tl.yml +++ b/config/locales/tl.yml @@ -28,8 +28,7 @@ tl: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ tl: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ tl: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ tl: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ tl: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Messages received + outgoing_messages_count: Messages sent + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ tl: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ tl: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ tl: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ tl: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 84498ff7f..24af22a2e 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -28,8 +28,7 @@ tr: invalid_email: 'Lütfen geçerli bir e-posta adresi girin' authentication_failed: 'Kimlik doğrulama başarısız oldu. Lütfen kimlik bilgilerinizi kontrol edin ve tekrar deneyin.' messages: - reset_password_success: Parola sıfırlama isteği başarılı. Talimatlar için postanızı kontrol edin. - reset_password_failure: Belirtilen e-postaya sahip herhangi bir kullanıcı bulamadık. + 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: Bu hesap SAML kimlik doğrulaması kullanmaktadır. Şifre sıfırlama mevcut değildir. Lütfen yöneticinizle iletişime geçin. login_saml_user: Bu hesap SAML kimlik doğrulaması kullanmaktadır. Lütfen kuruluşunuzun SAML sağlayıcısı aracılığıyla oturum açın. saml_not_available: SAML kimlik doğrulaması bu kurulumda mevcut değildir. @@ -95,6 +94,11 @@ tr: host_unreachable_error: Host ulaşılamaz, Lütfen IMAP adresini, IMAP portunu kontrol edin ve tekrar deneyin. connection_timed_out_error: '%{address}:%{port} için bağlantı zaman aşımına uğradı.' connection_closed_error: Bağlantı kapalı. + 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. validations: name: sembollerle başlamamalı veya bitmemeli, < > / \ @ karakterlerini içermemeli. custom_filters: @@ -104,6 +108,7 @@ tr: 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: + 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. mfa: already_enabled: MFA zaten etkinleştirilmiştir @@ -120,6 +125,8 @@ tr: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA başarıyla etkinleştirildi @@ -156,6 +163,14 @@ tr: avg_resolution_time: Avg resolution time resolution_count: Çözüm Sayısı avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Konuşmalar + incoming_messages_count: Gelen Mesajlar + outgoing_messages_count: Giden Mesajlar + 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 conversation_traffic_csv: timezone: Zaman dilimi sla_csv: @@ -178,6 +193,7 @@ tr: rating: Derecelendirme feedback: Derecelendirme Yorumu recorded_at: Kaydedilen tarih + review_notes: İnceleme Notları notifications: notification_title: conversation_creation: '%{inbox_name} kutusunda (#%{display_id}) numaralı bir konuşma oluşturuldu.' @@ -205,7 +221,11 @@ tr: activity: captain: resolved: 'Konuşma, %{user_name} tarafından etkinlik olmadığı için çözüldü olarak işaretlendi' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: 'Konuşma, %{user_name} tarafından açık olarak işaretlendi' + 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' agent_bot: error_moved_to_open: 'Temsilci botta meydana gelen bir hata nedeniyle konuşma, sistem tarafından açık olarak işaretlendi.' status: @@ -320,6 +340,9 @@ tr: copilot_message_required: Mesaj gerekli 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: '%{function_name} aracını kullanıyor' completed_tool_call: '%{function_name} aracı çağrısı tamamlandı' @@ -405,6 +428,9 @@ tr: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Otomasyon Sistemi' crm: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index e118f3747..09ce43304 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -28,8 +28,7 @@ uk: invalid_email: 'Будь ласка, введіть коректну адресу електронної пошти' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Круто! Запит на скидання пароля виконано успішно. Перевірте вашу пошту за подальшими інструкціями. - reset_password_failure: Ой-ой! Ми не змогли знайти жодного користувача з цією адресою електронної пошти. + 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. @@ -95,6 +94,11 @@ uk: 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. validations: name: не повинно починатись або закінчуватися символами, і він не повинен мати < > / \ @ символів. custom_filters: @@ -104,6 +108,7 @@ uk: invalid_query_operator: Query operator must be either "AND" or "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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ uk: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ uk: avg_resolution_time: Середній час вирішення resolution_count: Кількість вирішень avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Бесіди + incoming_messages_count: Вхідні повідомлення + outgoing_messages_count: Вихідні повідомлення + avg_first_response_time: Середній час першої відповіді + avg_resolution_time: Середній час вирішення + resolution_count: Resolution count + avg_customer_waiting_time: Avg customer waiting time conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ uk: rating: Оцінка feedback: Відгук recorded_at: Дата запису + review_notes: Review Notes notifications: notification_title: conversation_creation: 'Розмова (#%{display_id}) була створена в %{inbox_name}' @@ -205,7 +221,11 @@ uk: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ uk: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -413,6 +436,9 @@ uk: few: '%{count} секунд' many: '%{count} секунд' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ur.yml b/config/locales/ur.yml index efa5ea0f5..a3e93641f 100644 --- a/config/locales/ur.yml +++ b/config/locales/ur.yml @@ -28,8 +28,7 @@ ur: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ ur: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ur: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ur: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ur: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: مکالمات + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ur: rating: درجہ بندی feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ur: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ur: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ur: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/ur_IN.yml b/config/locales/ur_IN.yml index 449052a1f..fe6fb871d 100644 --- a/config/locales/ur_IN.yml +++ b/config/locales/ur_IN.yml @@ -28,8 +28,7 @@ ur: invalid_email: 'Please enter a valid email address' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. - reset_password_failure: Uh ho! We could not find any user with the specified email. + 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. @@ -95,6 +94,11 @@ ur: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ ur: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ ur: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ ur: avg_resolution_time: Avg resolution time resolution_count: Resolution Count avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Conversations + incoming_messages_count: Incoming Messages + outgoing_messages_count: Outgoing Messages + 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ ur: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ ur: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ ur: copilot_message_required: Message is 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -405,6 +428,9 @@ ur: seconds: one: '%{count} second' other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 1690f5041..f29d46a41 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -28,8 +28,7 @@ vi: invalid_email: 'Vui lòng nhập một địa chỉ email hợp lệ' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: Chà! Yêu cầu đặt lại mật khẩu thành công. Kiểm tra thư của bạn để biết hướng dẫn. - reset_password_failure: Uh ho! Chúng tôi không thể tìm thấy bất kỳ người dùng nào có email được chỉ định. + 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. @@ -95,6 +94,11 @@ vi: host_unreachable_error: Máy chủ không thể truy cập được, Vui lòng kiểm tra địa chỉ IMAP, cổng IMAP và thử lại. connection_timed_out_error: Kết nối đã hết thời gian chờ %{address}:%{port} connection_closed_error: Kêt nối bị đóng. + 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. validations: name: không nên bắt đầu hoặc kết thúc bằng các ký hiệu và không nên có kí tự < > / \ @. custom_filters: @@ -104,6 +108,7 @@ vi: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ vi: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ vi: avg_resolution_time: Avg resolution time resolution_count: Số lượng giải quyết avg_customer_waiting_time: Avg customer waiting time + conversation_csv: + conversations_count: Các cuộc hội thoại + incoming_messages_count: Tin nhắn nhận được + outgoing_messages_count: Tin nhắn gửi đi + 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 conversation_traffic_csv: timezone: Múi giờ sla_csv: @@ -178,6 +193,7 @@ vi: rating: Đánh giá feedback: Bình luận phản hồi recorded_at: Ngày nghi + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ vi: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ vi: copilot_message_required: Thông điệp bắt buộc có 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -401,6 +424,9 @@ vi: other: '%{count} minutes' seconds: other: '%{count} seconds' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml index 712c4c255..52c1c0f10 100644 --- a/config/locales/zh_CN.yml +++ b/config/locales/zh_CN.yml @@ -28,8 +28,7 @@ zh_CN: invalid_email: '请输入一个有效的电子邮件' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: 哇!密码重置请求成功。请检查您的邮件获取说明。 - reset_password_failure: 哎呀!我们找不到指定电子邮件的任何用户。 + 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. @@ -95,6 +94,11 @@ zh_CN: host_unreachable_error: 主机无法访问。请检查 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. validations: name: 不应该以符号开头或结尾,它不应该有 < > / \ @ 字符。 custom_filters: @@ -104,6 +108,7 @@ zh_CN: 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: 提供的键不允许使用,因为它可能与默认属性冲突。 mfa: already_enabled: MFA 已启用 @@ -120,6 +125,8 @@ zh_CN: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ zh_CN: avg_resolution_time: 平均解决时间 resolution_count: 已解决的数量 avg_customer_waiting_time: 平均客户等待时间 + conversation_csv: + conversations_count: 会话 + incoming_messages_count: 收到的消息 + outgoing_messages_count: 发送的消息 + avg_first_response_time: 平均首次响应时间 + avg_resolution_time: 平均解决时间 + resolution_count: Resolution count + avg_customer_waiting_time: 平均客户等待时间 conversation_traffic_csv: timezone: 时区 sla_csv: @@ -178,6 +193,7 @@ zh_CN: rating: 评分 feedback: 意见反馈 recorded_at: 录制日期 + review_notes: Review Notes notifications: notification_title: conversation_creation: '在 %{inbox_name} 中创建了一个对话 (#%{display_id})' @@ -205,7 +221,11 @@ zh_CN: activity: captain: resolved: '对话被系统标记为已解决, 原因是 %{user_name} 不活跃' + resolved_with_reason: 'Conversation was marked resolved by %{user_name} (%{reason})' + resolved_by_tool: 'Conversation was marked resolved by %{user_name}: %{reason}' open: '对话被 %{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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ zh_CN: copilot_message_required: 消息是必填项 copilot_error: '请为该收件箱连接一个助手以使用 Copilot' copilot_limit: '您的 Copilot 积分已用完。您可以从计费部分购买更多积分。' + upgrade: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: '使用工具 %{function_name}' completed_tool_call: '%{function_name} 工具调用完成' @@ -401,6 +424,9 @@ zh_CN: other: '%{count} 分钟' seconds: other: '%{count} 秒' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: '自动化系统' crm: diff --git a/config/locales/zh_TW.yml b/config/locales/zh_TW.yml index 41635213e..faa287cf1 100644 --- a/config/locales/zh_TW.yml +++ b/config/locales/zh_TW.yml @@ -28,8 +28,7 @@ zh_TW: invalid_email: '請輸入一個有效的電子信箱' authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: - reset_password_success: 密碼重設成功,請確認您的信箱有收到重設信件。 - reset_password_failure: 我們找不到用戶指定的電子郵件。 + 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. @@ -95,6 +94,11 @@ zh_TW: 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. + 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. validations: name: should not start or end with symbols, and it should not have < > / \ @ characters. custom_filters: @@ -104,6 +108,7 @@ zh_TW: 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: + 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. mfa: already_enabled: MFA is already enabled @@ -120,6 +125,8 @@ zh_TW: 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. + reports: + date_range_too_long: Date range cannot exceed 6 months profile: mfa: enabled: MFA enabled successfully @@ -156,6 +163,14 @@ zh_TW: avg_resolution_time: Avg resolution time resolution_count: 已解決的數量 avg_customer_waiting_time: 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 conversation_traffic_csv: timezone: Timezone sla_csv: @@ -178,6 +193,7 @@ zh_TW: rating: Rating feedback: Feedback Comment recorded_at: Recorded date + review_notes: Review Notes notifications: notification_title: conversation_creation: 'A conversation (#%{display_id}) has been created in %{inbox_name}' @@ -205,7 +221,11 @@ zh_TW: 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' agent_bot: error_moved_to_open: 'Conversation was marked open by system due to an error with the agent bot.' status: @@ -320,6 +340,9 @@ zh_TW: 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: 'Upgrade your plan to enable Captain AI' + disabled: 'Captain AI is disabled for this account.' + api_key_missing: 'Captain AI API key is not configured.' copilot: using_tool: 'Using tool %{function_name}' completed_tool_call: 'Completed %{function_name} tool call' @@ -394,13 +417,20 @@ zh_TW: button: 開啟對話 time_units: days: - other: '%{count} days' + one: '%{count} 天' + other: '%{count} 天' hours: - other: '%{count} hours' + one: '%{count} 小時' + other: '%{count} 小時' minutes: - other: '%{count} minutes' + one: '%{count} 分鐘' + other: '%{count} 分鐘' seconds: - other: '%{count} seconds' + one: '%{count} 秒' + other: '%{count} 秒' + auto_assignment: + default_policy_name: 'Default Policy' + policy_actor: 'Automation System via %{policy_name}' automation: system_name: 'Automation System' crm: diff --git a/enterprise/app/models/enterprise/message.rb b/enterprise/app/models/enterprise/message.rb index bee6c2f0e..4b08a4ed5 100644 --- a/enterprise/app/models/enterprise/message.rb +++ b/enterprise/app/models/enterprise/message.rb @@ -5,6 +5,7 @@ module Enterprise::Message return unless captain_pending_conversation? return unless human_response? return if private? + return if template_bootstrap_message? previous_user = Current.user previous_executed_by = Current.executed_by @@ -28,6 +29,11 @@ module Enterprise::Message ::CaptainInbox.exists?(inbox_id: conversation.inbox_id) end + def template_bootstrap_message? + additional_attributes['template_params'].present? && + !conversation.messages.incoming.exists? + end + def create_captain_auto_open_activity_message ::Conversations::ActivityMessageJob.perform_later( conversation, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f1a6c7604..8816e6b9f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2599,11 +2599,12 @@ packages: glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} @@ -4585,6 +4586,7 @@ packages: vue-i18n@9.14.5: resolution: {integrity: sha512-0jQ9Em3ymWngyiIkj0+c/k7WgaPO+TNzjKSNq9BvBQaKJECqn9cd9fL4tkDhB5G1QBskGl9YxxbDAhgbFtpe2g==} engines: {node: '>= 16'} + deprecated: v9 and v10 no longer supported. please migrate to v11. about maintenance status, see https://vue-i18n.intlify.dev/guide/maintenance.html peerDependencies: vue: ^3.0.0 @@ -4671,10 +4673,12 @@ packages: whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}