From e3f13dd455dcb306842418e6d2934d452b2a00c4 Mon Sep 17 00:00:00 2001 From: Daniel Drexlmaier Date: Mon, 2 Jan 2023 06:39:38 +0100 Subject: [PATCH 01/48] choreButtons must have discernible text (#6132) Co-authored-by: Pranav Raj S --- app/javascript/sdk/bubbleHelpers.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/sdk/bubbleHelpers.js b/app/javascript/sdk/bubbleHelpers.js index f91806faf..f2da5e74f 100644 --- a/app/javascript/sdk/bubbleHelpers.js +++ b/app/javascript/sdk/bubbleHelpers.js @@ -52,6 +52,7 @@ export const createBubbleIcon = ({ className, path, target }) => { } target.className = bubbleClassName; + target.title = 'Open chat window'; return target; }; From ab87f9d6c052cd5f4f6e6f87f0182947304501f6 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Mon, 2 Jan 2023 11:10:15 +0530 Subject: [PATCH 02/48] chore: Update translations (#6159) --- .../dashboard/i18n/locale/ar/settings.json | 1 + .../dashboard/i18n/locale/bg/settings.json | 1 + .../dashboard/i18n/locale/ca/settings.json | 1 + .../dashboard/i18n/locale/cs/settings.json | 1 + .../dashboard/i18n/locale/da/settings.json | 1 + .../dashboard/i18n/locale/de/settings.json | 1 + .../dashboard/i18n/locale/el/settings.json | 1 + .../dashboard/i18n/locale/es/settings.json | 1 + .../dashboard/i18n/locale/fa/settings.json | 1 + .../dashboard/i18n/locale/fi/settings.json | 1 + .../dashboard/i18n/locale/fr/settings.json | 1 + .../dashboard/i18n/locale/he/settings.json | 1 + .../dashboard/i18n/locale/hi/settings.json | 1 + .../dashboard/i18n/locale/hu/settings.json | 1 + .../dashboard/i18n/locale/id/settings.json | 1 + .../dashboard/i18n/locale/is/settings.json | 1 + .../dashboard/i18n/locale/it/settings.json | 1 + .../dashboard/i18n/locale/ja/settings.json | 1 + .../dashboard/i18n/locale/ka/settings.json | 1 + .../dashboard/i18n/locale/ko/settings.json | 1 + .../dashboard/i18n/locale/lt/settings.json | 1 + .../dashboard/i18n/locale/lv/settings.json | 1 + .../dashboard/i18n/locale/ml/settings.json | 1 + .../dashboard/i18n/locale/ms/settings.json | 1 + .../dashboard/i18n/locale/ne/settings.json | 1 + .../i18n/locale/nl/advancedFilters.json | 104 +++++++++--------- .../dashboard/i18n/locale/nl/agentBots.json | 2 +- .../dashboard/i18n/locale/nl/chatlist.json | 10 +- .../dashboard/i18n/locale/nl/contact.json | 6 +- .../i18n/locale/nl/contactFilters.json | 60 +++++----- .../dashboard/i18n/locale/nl/csatMgmt.json | 4 +- .../dashboard/i18n/locale/nl/emoji.json | 4 +- .../dashboard/i18n/locale/nl/inboxMgmt.json | 2 +- .../dashboard/i18n/locale/nl/labelsMgmt.json | 6 +- .../i18n/locale/nl/setNewPassword.json | 2 +- .../dashboard/i18n/locale/nl/settings.json | 1 + .../dashboard/i18n/locale/no/settings.json | 1 + .../dashboard/i18n/locale/pl/settings.json | 1 + .../dashboard/i18n/locale/pt/settings.json | 1 + .../dashboard/i18n/locale/pt_BR/settings.json | 1 + .../dashboard/i18n/locale/ro/settings.json | 1 + .../dashboard/i18n/locale/ru/settings.json | 5 +- .../dashboard/i18n/locale/sk/settings.json | 1 + .../dashboard/i18n/locale/sr/settings.json | 1 + .../dashboard/i18n/locale/sv/settings.json | 1 + .../dashboard/i18n/locale/ta/settings.json | 1 + .../dashboard/i18n/locale/th/settings.json | 1 + .../dashboard/i18n/locale/tr/settings.json | 1 + .../dashboard/i18n/locale/uk/settings.json | 1 + .../dashboard/i18n/locale/ur/settings.json | 1 + .../dashboard/i18n/locale/ur_IN/settings.json | 1 + .../dashboard/i18n/locale/vi/agentMgmt.json | 2 +- .../dashboard/i18n/locale/vi/chatlist.json | 4 +- .../i18n/locale/vi/conversation.json | 6 +- .../dashboard/i18n/locale/vi/helpCenter.json | 14 +-- .../dashboard/i18n/locale/vi/inboxMgmt.json | 16 +-- .../dashboard/i18n/locale/vi/settings.json | 35 +++--- .../dashboard/i18n/locale/vi/signup.json | 12 +- .../dashboard/i18n/locale/zh_CN/settings.json | 1 + .../dashboard/i18n/locale/zh_TW/settings.json | 1 + app/javascript/survey/i18n/locale/nl.json | 10 +- app/javascript/widget/i18n/locale/nl.json | 24 ++-- app/javascript/widget/i18n/locale/vi.json | 4 +- config/locales/nl.yml | 104 +++++++++--------- 64 files changed, 261 insertions(+), 217 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json index 22b922c25..fcb7e5622 100644 --- a/app/javascript/dashboard/i18n/locale/ar/settings.json +++ b/app/javascript/dashboard/i18n/locale/ar/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "فتح المحادثة", "RESOLVE_AND_NEXT": "حل وانتقل إلى التالي", diff --git a/app/javascript/dashboard/i18n/locale/bg/settings.json b/app/javascript/dashboard/i18n/locale/bg/settings.json index bd8134ccf..afebe44b1 100644 --- a/app/javascript/dashboard/i18n/locale/bg/settings.json +++ b/app/javascript/dashboard/i18n/locale/bg/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index 143bb3d3c..c3a6eb449 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json index 191482e99..c158dbeea 100644 --- a/app/javascript/dashboard/i18n/locale/cs/settings.json +++ b/app/javascript/dashboard/i18n/locale/cs/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index 6f422c86d..607f58836 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Åbn samtale", "RESOLVE_AND_NEXT": "Løs og flyt til næste", diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index cb9f27d2e..de73bca8e 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Unterhaltung öffnen", "RESOLVE_AND_NEXT": "Lösen und zum Nächsten gehen", diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index 50fce2f22..489c9349f 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Άνοιγμα συνομιλίας", "RESOLVE_AND_NEXT": "Επίλυση και μετακίνηση στην επόμενη", diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json index b74187439..b16df9170 100644 --- a/app/javascript/dashboard/i18n/locale/es/settings.json +++ b/app/javascript/dashboard/i18n/locale/es/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Abrir conversación", "RESOLVE_AND_NEXT": "Resolver y pasar al siguiente", diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json index a97530b3c..aeb2c10e4 100644 --- a/app/javascript/dashboard/i18n/locale/fa/settings.json +++ b/app/javascript/dashboard/i18n/locale/fa/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "مشاهده همه کلیدهای میانبر", "TITLE": { "OPEN_CONVERSATION": "باز کردن گفتگو", "RESOLVE_AND_NEXT": "حل کنید و به مرحله بعدی بروید", diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index 1de7497e3..a2325cc69 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json index cbcac7537..de80be288 100644 --- a/app/javascript/dashboard/i18n/locale/fr/settings.json +++ b/app/javascript/dashboard/i18n/locale/fr/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Ouvrir la conversation", "RESOLVE_AND_NEXT": "Résoudre et passer à la suivante", diff --git a/app/javascript/dashboard/i18n/locale/he/settings.json b/app/javascript/dashboard/i18n/locale/he/settings.json index 762f1ae2c..c6220d9c6 100644 --- a/app/javascript/dashboard/i18n/locale/he/settings.json +++ b/app/javascript/dashboard/i18n/locale/he/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json index a0de7f856..2f5f8b771 100644 --- a/app/javascript/dashboard/i18n/locale/hi/settings.json +++ b/app/javascript/dashboard/i18n/locale/hi/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json index 4ab267115..9c151bff0 100644 --- a/app/javascript/dashboard/i18n/locale/hu/settings.json +++ b/app/javascript/dashboard/i18n/locale/hu/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json index e29101d63..f811881f4 100644 --- a/app/javascript/dashboard/i18n/locale/id/settings.json +++ b/app/javascript/dashboard/i18n/locale/id/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Buka percakapan", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/is/settings.json b/app/javascript/dashboard/i18n/locale/is/settings.json index 59769b2bf..498c6c9f1 100644 --- a/app/javascript/dashboard/i18n/locale/is/settings.json +++ b/app/javascript/dashboard/i18n/locale/is/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json index 2e19d0038..497177941 100644 --- a/app/javascript/dashboard/i18n/locale/it/settings.json +++ b/app/javascript/dashboard/i18n/locale/it/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Apri conversazione", "RESOLVE_AND_NEXT": "Risolvi e vai alla prossima", diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json index 352ab73ac..26b83c7f3 100644 --- a/app/javascript/dashboard/i18n/locale/ja/settings.json +++ b/app/javascript/dashboard/i18n/locale/ja/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ka/settings.json b/app/javascript/dashboard/i18n/locale/ka/settings.json index a0de7f856..2f5f8b771 100644 --- a/app/javascript/dashboard/i18n/locale/ka/settings.json +++ b/app/javascript/dashboard/i18n/locale/ka/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index f8931970f..0a35949f2 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/lt/settings.json b/app/javascript/dashboard/i18n/locale/lt/settings.json index a0de7f856..2f5f8b771 100644 --- a/app/javascript/dashboard/i18n/locale/lt/settings.json +++ b/app/javascript/dashboard/i18n/locale/lt/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/lv/settings.json b/app/javascript/dashboard/i18n/locale/lv/settings.json index a190b0341..019a3da09 100644 --- a/app/javascript/dashboard/i18n/locale/lv/settings.json +++ b/app/javascript/dashboard/i18n/locale/lv/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "Skatīt visus īsinājumtaustiņus", "TITLE": { "OPEN_CONVERSATION": "Atvērt sarunu", "RESOLVE_AND_NEXT": "Atrisināt un pāriet uz nākamo", diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json index 3132b2d45..ba0ed6a7d 100644 --- a/app/javascript/dashboard/i18n/locale/ml/settings.json +++ b/app/javascript/dashboard/i18n/locale/ml/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ms/settings.json b/app/javascript/dashboard/i18n/locale/ms/settings.json index 2b786c1bc..6766c7cdb 100644 --- a/app/javascript/dashboard/i18n/locale/ms/settings.json +++ b/app/javascript/dashboard/i18n/locale/ms/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ne/settings.json b/app/javascript/dashboard/i18n/locale/ne/settings.json index ff0f188a3..c7fb8f5e8 100644 --- a/app/javascript/dashboard/i18n/locale/ne/settings.json +++ b/app/javascript/dashboard/i18n/locale/ne/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/nl/advancedFilters.json b/app/javascript/dashboard/i18n/locale/nl/advancedFilters.json index a60ff56c5..b55b5f3e0 100644 --- a/app/javascript/dashboard/i18n/locale/nl/advancedFilters.json +++ b/app/javascript/dashboard/i18n/locale/nl/advancedFilters.json @@ -1,91 +1,91 @@ { "FILTER": { - "TITLE": "Filter Conversations", - "SUBTITLE": "Add filters below and hit 'Apply filters' to filter conversations.", - "ADD_NEW_FILTER": "Add Filter", - "FILTER_DELETE_ERROR": "You should have atleast one filter to save", - "SUBMIT_BUTTON_LABEL": "Apply filters", + "TITLE": "Conversaties filteren", + "SUBTITLE": "Voeg hieronder filters toe en druk op 'Filters toepassen' om te filteren.", + "ADD_NEW_FILTER": "Filter toevoegen", + "FILTER_DELETE_ERROR": "U moet minstens één filter hebben om op te slaan", + "SUBMIT_BUTTON_LABEL": "Filters toepassen", "CANCEL_BUTTON_LABEL": "Annuleren", - "CLEAR_BUTTON_LABEL": "Clear Filters", - "EMPTY_VALUE_ERROR": "Value is required", - "TOOLTIP_LABEL": "Filter conversations", + "CLEAR_BUTTON_LABEL": "Filters wissen", + "EMPTY_VALUE_ERROR": "Waarde is vereist", + "TOOLTIP_LABEL": "Gesprekken filteren", "QUERY_DROPDOWN_LABELS": { - "AND": "AND", - "OR": "OR" + "AND": "EN", + "OR": "OF" }, "OPERATOR_LABELS": { - "equal_to": "Equal to", - "not_equal_to": "Not equal to", - "contains": "Contains", - "does_not_contain": "Does not contain", - "is_present": "Is present", - "is_not_present": "Is not present", - "is_greater_than": "Is greater than", - "is_less_than": "Is lesser than", - "days_before": "Is x days before" + "equal_to": "Gelijk aan", + "not_equal_to": "Niet gelijk aan", + "contains": "Bevat", + "does_not_contain": "Bevat niet", + "is_present": "Is aanwezig", + "is_not_present": "Is niet aanwezig", + "is_greater_than": "Is groter dan", + "is_less_than": "Is lager dan", + "days_before": "Is x dagen vóór" }, "ATTRIBUTE_LABELS": { - "TRUE": "True", - "FALSE": "False" + "TRUE": "Waar", + "FALSE": "Onwaar" }, "ATTRIBUTES": { "STATUS": "Status", - "ASSIGNEE_NAME": "Assignee Name", - "INBOX_NAME": "Inbox Name", - "TEAM_NAME": "Team Name", - "CONVERSATION_IDENTIFIER": "Conversation Identifier", - "CAMPAIGN_NAME": "Campaign Name", + "ASSIGNEE_NAME": "Verantwoordelijke (naam)", + "INBOX_NAME": "Inbox Naam", + "TEAM_NAME": "Team Naam", + "CONVERSATION_IDENTIFIER": "Conversatie ID", + "CAMPAIGN_NAME": "Campagne Naam", "LABELS": "Labelen", - "BROWSER_LANGUAGE": "Browser Language", - "COUNTRY_NAME": "Country Name", - "REFERER_LINK": "Referer link", - "CUSTOM_ATTRIBUTE_LIST": "List", - "CUSTOM_ATTRIBUTE_TEXT": "Text", - "CUSTOM_ATTRIBUTE_NUMBER": "Number", + "BROWSER_LANGUAGE": "Browser Taal", + "COUNTRY_NAME": "Land Naam", + "REFERER_LINK": "Verwijzende link", + "CUSTOM_ATTRIBUTE_LIST": "Lijst", + "CUSTOM_ATTRIBUTE_TEXT": "Tekst", + "CUSTOM_ATTRIBUTE_NUMBER": "Getal", "CUSTOM_ATTRIBUTE_LINK": "Link", - "CUSTOM_ATTRIBUTE_CHECKBOX": "Checkbox", - "CREATED_AT": "Created At", - "LAST_ACTIVITY": "Last Activity" + "CUSTOM_ATTRIBUTE_CHECKBOX": "Selectievakje", + "CREATED_AT": "Aangemaakt op", + "LAST_ACTIVITY": "Laatste Activiteit" }, "GROUPS": { - "STANDARD_FILTERS": "Standard Filters", - "ADDITIONAL_FILTERS": "Additional Filters", + "STANDARD_FILTERS": "Standaard Filters", + "ADDITIONAL_FILTERS": "Aanvullende filters", "CUSTOM_ATTRIBUTES": "Aanpasbare attributen" }, "CUSTOM_VIEWS": { "ADD": { - "TITLE": "Do you want to save this filter?", - "LABEL": "Name this filter", - "PLACEHOLDER": "Enter a name for this filter", - "ERROR_MESSAGE": "Name is required", - "SAVE_BUTTON": "Save filter", + "TITLE": "Wil je deze filter opslaan?", + "LABEL": "Geef deze filter een naam", + "PLACEHOLDER": "Voer een naam in voor deze filter", + "ERROR_MESSAGE": "Naam is vereist", + "SAVE_BUTTON": "Filter opslaan", "CANCEL_BUTTON": "Annuleren", "API_FOLDERS": { - "SUCCESS_MESSAGE": "Folder created successfully", - "ERROR_MESSAGE": "Error while creating folder" + "SUCCESS_MESSAGE": "Map succesvol aangemaakt", + "ERROR_MESSAGE": "Fout tijdens het aanmaken van map" }, "API_SEGMENTS": { - "SUCCESS_MESSAGE": "Segment created successfully", - "ERROR_MESSAGE": "Error while creating segment" + "SUCCESS_MESSAGE": "Segment succesvol aangemaakt", + "ERROR_MESSAGE": "Fout bij het maken van segment" } }, "DELETE": { - "DELETE_BUTTON": "Delete filter", + "DELETE_BUTTON": "Filter verwijderen", "MODAL": { "CONFIRM": { "TITLE": "Verwijderen bevestigen", - "MESSAGE": "Are you sure to delete the filter ", + "MESSAGE": "Weet u zeker dat u de filter wilt verwijderen? ", "YES": "Ja, verwijderen", "NO": "Nee, Bewaar het" } }, "API_FOLDERS": { - "SUCCESS_MESSAGE": "Folder deleted successfully", - "ERROR_MESSAGE": "Error while deleting folder" + "SUCCESS_MESSAGE": "Map succesvol verwijderd", + "ERROR_MESSAGE": "Fout bij verwijderen map" }, "API_SEGMENTS": { - "SUCCESS_MESSAGE": "Segment deleted successfully", - "ERROR_MESSAGE": "Error while deleting segment" + "SUCCESS_MESSAGE": "Segment succesvol verwijderd", + "ERROR_MESSAGE": "Fout bij verwijderen segment" } } } diff --git a/app/javascript/dashboard/i18n/locale/nl/agentBots.json b/app/javascript/dashboard/i18n/locale/nl/agentBots.json index 1b6e45426..f09829fdf 100644 --- a/app/javascript/dashboard/i18n/locale/nl/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/nl/agentBots.json @@ -6,7 +6,7 @@ "SIDEBAR_TXT": "

Agent Bots

Agent bots allows you to automate the conversations

", "CSML_BOT_EDITOR": { "NAME": { - "LABEL": "Bot Name", + "LABEL": "Bot Naam", "PLACEHOLDER": "Give your bot a name", "ERROR": "Bot name is required" }, diff --git a/app/javascript/dashboard/i18n/locale/nl/chatlist.json b/app/javascript/dashboard/i18n/locale/nl/chatlist.json index b9c1ca42f..1359521e2 100644 --- a/app/javascript/dashboard/i18n/locale/nl/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/nl/chatlist.json @@ -8,7 +8,7 @@ }, "TAB_HEADING": "Gesprekken", "MENTION_HEADING": "Vermeldingen", - "UNATTENDED_HEADING": "Unattended", + "UNATTENDED_HEADING": "Onbeheer", "SEARCH": { "INPUT": "Zoek naar mensen, gesprekken, opgeslagen antwoorden .." }, @@ -55,14 +55,14 @@ "RECEIVED_VIA_EMAIL": "Ontvangen via e-mail", "VIEW_TWEET_IN_TWITTER": "Bekijk tweet op Twitter", "REPLY_TO_TWEET": "Antwoord op deze tweet", - "LINK_TO_STORY": "Go to instagram story", + "LINK_TO_STORY": "Ga naar instagram verhaal", "SENT": "Succesvol verzonden", - "READ": "Read successfully", - "DELIVERED": "Delivered successfully", + "READ": "Succesvol gelezen", + "DELIVERED": "Succesvol afgeleverd", "NO_MESSAGES": "Geen berichten", "NO_CONTENT": "Geen inhoud beschikbaar", "HIDE_QUOTED_TEXT": "Verberg geciteerde tekst", "SHOW_QUOTED_TEXT": "Toon geciteerde tekst", - "MESSAGE_READ": "Read" + "MESSAGE_READ": "Lezen" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index 4a1a46471..e0bbbea7a 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -7,7 +7,7 @@ "COPY_SUCCESSFUL": "Succesvol gekopieerd naar klembord", "COMPANY": "Bedrijfsnaam", "LOCATION": "Locatie", - "BROWSER_LANGUAGE": "Browser Language", + "BROWSER_LANGUAGE": "Browser Taal", "CONVERSATION_TITLE": "Gesprekdetails", "VIEW_PROFILE": "Profiel Bekijken", "BROWSER": "Browser", @@ -195,8 +195,8 @@ "SEARCH_BUTTON": "Search", "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", "FILTER_CONTACTS": "Filteren", - "FILTER_CONTACTS_SAVE": "Save filter", - "FILTER_CONTACTS_DELETE": "Delete filter", + "FILTER_CONTACTS_SAVE": "Filter opslaan", + "FILTER_CONTACTS_DELETE": "Filter verwijderen", "LIST": { "LOADING_MESSAGE": "Loading contacts...", "404": "No contacts matches your search 🔍", diff --git a/app/javascript/dashboard/i18n/locale/nl/contactFilters.json b/app/javascript/dashboard/i18n/locale/nl/contactFilters.json index a974c02e3..6c43a6ccd 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contactFilters.json +++ b/app/javascript/dashboard/i18n/locale/nl/contactFilters.json @@ -1,49 +1,49 @@ { "CONTACTS_FILTER": { - "TITLE": "Filter Contacts", - "SUBTITLE": "Add filters below and hit 'Submit' to filter contacts.", - "ADD_NEW_FILTER": "Add Filter", - "CLEAR_ALL_FILTERS": "Clear All Filters", - "FILTER_DELETE_ERROR": "You should have atleast one filter to save", + "TITLE": "Contacten filteren", + "SUBTITLE": "Voeg hieronder filters toe en druk op 'Verzenden' om contacten te filteren.", + "ADD_NEW_FILTER": "Filter toevoegen", + "CLEAR_ALL_FILTERS": "Alle filters wissen", + "FILTER_DELETE_ERROR": "U moet minstens één filter hebben om op te slaan", "SUBMIT_BUTTON_LABEL": "Bevestigen", "CANCEL_BUTTON_LABEL": "Annuleren", - "CLEAR_BUTTON_LABEL": "Clear Filters", - "EMPTY_VALUE_ERROR": "Value is required", - "TOOLTIP_LABEL": "Filter contacts", + "CLEAR_BUTTON_LABEL": "Filters wissen", + "EMPTY_VALUE_ERROR": "Waarde is vereist", + "TOOLTIP_LABEL": "Contacten filteren", "QUERY_DROPDOWN_LABELS": { - "AND": "AND", - "OR": "OR" + "AND": "EN", + "OR": "OF" }, "OPERATOR_LABELS": { - "equal_to": "Equal to", - "not_equal_to": "Not equal to", - "contains": "Contains", - "does_not_contain": "Does not contain", - "is_present": "Is present", - "is_not_present": "Is not present", - "is_greater_than": "Is greater than", - "is_lesser_than": "Is lesser than", - "days_before": "Is x days before" + "equal_to": "Gelijk aan", + "not_equal_to": "Niet gelijk aan", + "contains": "Bevat", + "does_not_contain": "Bevat niet", + "is_present": "Is aanwezig", + "is_not_present": "Is niet aanwezig", + "is_greater_than": "Is groter dan", + "is_lesser_than": "Is minder dan", + "days_before": "Is x dagen vóór" }, "ATTRIBUTES": { "NAME": "Naam", "EMAIL": "E-mailadres", "PHONE_NUMBER": "Telefoon nummer", "IDENTIFIER": "Identifier", - "CITY": "City", - "COUNTRY": "Country", - "CUSTOM_ATTRIBUTE_LIST": "List", - "CUSTOM_ATTRIBUTE_TEXT": "Text", - "CUSTOM_ATTRIBUTE_NUMBER": "Number", + "CITY": "Woonplaats", + "COUNTRY": "Land", + "CUSTOM_ATTRIBUTE_LIST": "Lijst", + "CUSTOM_ATTRIBUTE_TEXT": "Tekst", + "CUSTOM_ATTRIBUTE_NUMBER": "Getal", "CUSTOM_ATTRIBUTE_LINK": "Link", - "CUSTOM_ATTRIBUTE_CHECKBOX": "Checkbox", - "CREATED_AT": "Created At", - "LAST_ACTIVITY": "Last Activity", - "REFERER_LINK": "Referrer link" + "CUSTOM_ATTRIBUTE_CHECKBOX": "Selectievakje", + "CREATED_AT": "Aangemaakt op", + "LAST_ACTIVITY": "Laatste Activiteit", + "REFERER_LINK": "Verwijzer link" }, "GROUPS": { - "STANDARD_FILTERS": "Standard Filters", - "ADDITIONAL_FILTERS": "Additional Filters", + "STANDARD_FILTERS": "Standaard Filters", + "ADDITIONAL_FILTERS": "Aanvullende filters", "CUSTOM_ATTRIBUTES": "Aanpasbare attributen" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/csatMgmt.json b/app/javascript/dashboard/i18n/locale/nl/csatMgmt.json index d7d2efc2a..c57dfca3d 100644 --- a/app/javascript/dashboard/i18n/locale/nl/csatMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/csatMgmt.json @@ -1,6 +1,6 @@ { "CSAT": { - "TITLE": "Rate your conversation", - "PLACEHOLDER": "Tell us more..." + "TITLE": "Beoordeel uw gesprek", + "PLACEHOLDER": "Vertel ons meer..." } } diff --git a/app/javascript/dashboard/i18n/locale/nl/emoji.json b/app/javascript/dashboard/i18n/locale/nl/emoji.json index fd81268fb..a4d551940 100644 --- a/app/javascript/dashboard/i18n/locale/nl/emoji.json +++ b/app/javascript/dashboard/i18n/locale/nl/emoji.json @@ -1,6 +1,6 @@ { "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search" + "PLACEHOLDER": "Zoek emojis", + "NOT_FOUND": "Er zijn geen overeenkomende emoji's gevonden" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json index 9fae19dbf..24fb7e996 100644 --- a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json @@ -659,7 +659,7 @@ "BODY": { "TEAM_AVAILABILITY": { "ONLINE": "We are Online", - "OFFLINE": "Op dit moment zijn we niet aanwezig" + "OFFLINE": "We zijn momenteel afwezig" }, "USER_MESSAGE": "Hi", "AGENT_MESSAGE": "Hello" diff --git a/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json b/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json index 5d7f6d19c..ef9334a21 100644 --- a/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/labelsMgmt.json @@ -19,9 +19,9 @@ "NAME": { "LABEL": "Label naam", "PLACEHOLDER": "Label naam", - "REQUIRED_ERROR": "Label name is required", - "MINIMUM_LENGTH_ERROR": "Minimum length 2 is required", - "VALID_ERROR": "Only Alphabets, Numbers, Hyphen and Underscore are allowed" + "REQUIRED_ERROR": "Labelnaam is vereist", + "MINIMUM_LENGTH_ERROR": "Minimum lengte van 2 is vereist", + "VALID_ERROR": "Enkel letters, cijfers, liggend streepje & underscore zijn toegestaan" }, "DESCRIPTION": { "LABEL": "Beschrijving", diff --git a/app/javascript/dashboard/i18n/locale/nl/setNewPassword.json b/app/javascript/dashboard/i18n/locale/nl/setNewPassword.json index ba7ed192b..8fe328f4d 100644 --- a/app/javascript/dashboard/i18n/locale/nl/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/nl/setNewPassword.json @@ -16,7 +16,7 @@ "ERROR_MESSAGE": "Kan geen verbinding maken met Woot Server, probeer het later opnieuw" }, "CAPTCHA": { - "ERROR": "Verification expired. Please solve captcha again." + "ERROR": "Verificatie verlopen. Los de captcha opnieuw op." }, "SUBMIT": "Bevestigen" } diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index dc9f7c573..50ddcea81 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/no/settings.json b/app/javascript/dashboard/i18n/locale/no/settings.json index a031f2afb..cf6ef2587 100644 --- a/app/javascript/dashboard/i18n/locale/no/settings.json +++ b/app/javascript/dashboard/i18n/locale/no/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index f49b408b5..50252f10f 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json index e5398cab0..78ca84600 100644 --- a/app/javascript/dashboard/i18n/locale/pt/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Abrir conversa", "RESOLVE_AND_NEXT": "Resolver e passar para a próxima", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 4357a0688..65e78ef6b 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Abrir conversa", "RESOLVE_AND_NEXT": "Resolver e ir para o próximo", diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json index 5e5706b72..aa06cd0e6 100644 --- a/app/javascript/dashboard/i18n/locale/ro/settings.json +++ b/app/javascript/dashboard/i18n/locale/ro/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Deschiderea conversației", "RESOLVE_AND_NEXT": "Rezolvarea și trecerea la următorul", diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json index 6297a3420..b5a83b6d4 100644 --- a/app/javascript/dashboard/i18n/locale/ru/settings.json +++ b/app/javascript/dashboard/i18n/locale/ru/settings.json @@ -60,7 +60,7 @@ "NOTE": "Включить звуковые уведомления в панели управления для новых сообщений и разговоров.", "ALERT_TYPE": { "TITLE": "Alert events:", - "NONE": "Ничего", + "NONE": "Нет", "ASSIGNED": "Назначенные беседы", "ALL_CONVERSATIONS": "Диалоги" }, @@ -69,7 +69,7 @@ }, "CONDITIONS": { "TITLE": "Alert conditions:", - "CONDITION_ONE": "Send audio alerts only if the browser window is not active", + "CONDITION_ONE": "Отправлять звуковые оповещения только в том случае, если окно браузера не активно", "CONDITION_TWO": "Send alerts every 30s until all the assigned conversations are read" } }, @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Открыть беседу", "RESOLVE_AND_NEXT": "Решить и перейти к следующему", diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json index 0ede48a01..341171ad4 100644 --- a/app/javascript/dashboard/i18n/locale/sk/settings.json +++ b/app/javascript/dashboard/i18n/locale/sk/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/sr/settings.json b/app/javascript/dashboard/i18n/locale/sr/settings.json index 751746292..4a31315fb 100644 --- a/app/javascript/dashboard/i18n/locale/sr/settings.json +++ b/app/javascript/dashboard/i18n/locale/sr/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Otvoren razgovor", "RESOLVE_AND_NEXT": "Reši i idi na sledeći", diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json index 5003e8323..d29393f97 100644 --- a/app/javascript/dashboard/i18n/locale/sv/settings.json +++ b/app/javascript/dashboard/i18n/locale/sv/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json index f08217d85..818b67166 100644 --- a/app/javascript/dashboard/i18n/locale/ta/settings.json +++ b/app/javascript/dashboard/i18n/locale/ta/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json index 863ecb9f1..6309bea35 100644 --- a/app/javascript/dashboard/i18n/locale/th/settings.json +++ b/app/javascript/dashboard/i18n/locale/th/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "เปิดดูการสนทนา", "RESOLVE_AND_NEXT": "จบการสนทนานี้และเริ่มการสนทนาถัดไป", diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json index 5bae8c2bf..fd5090f79 100644 --- a/app/javascript/dashboard/i18n/locale/tr/settings.json +++ b/app/javascript/dashboard/i18n/locale/tr/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Görüşmeyi aç", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json index e85bd100e..92f64e050 100644 --- a/app/javascript/dashboard/i18n/locale/uk/settings.json +++ b/app/javascript/dashboard/i18n/locale/uk/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Відкрити розмову", "RESOLVE_AND_NEXT": "Вирішити і перейти до наступного", diff --git a/app/javascript/dashboard/i18n/locale/ur/settings.json b/app/javascript/dashboard/i18n/locale/ur/settings.json index 5de18a331..b2e91380b 100644 --- a/app/javascript/dashboard/i18n/locale/ur/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json index a0de7f856..2f5f8b771 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json b/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json index 589c1063b..0e59f56a1 100644 --- a/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/agentMgmt.json @@ -95,7 +95,7 @@ "MULTI_SELECTOR": { "PLACEHOLDER": "Không có", "TITLE": { - "AGENT": "Chọn t\bổng đài viên", + "AGENT": "Chọn thành viên", "TEAM": "Chọn nhóm" }, "SEARCH": { diff --git a/app/javascript/dashboard/i18n/locale/vi/chatlist.json b/app/javascript/dashboard/i18n/locale/vi/chatlist.json index 726b38fab..a5ec74376 100644 --- a/app/javascript/dashboard/i18n/locale/vi/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/vi/chatlist.json @@ -57,8 +57,8 @@ "REPLY_TO_TWEET": "Trả lời cho tweet này", "LINK_TO_STORY": "Đến xem lịch sử instagram", "SENT": "Gửi thành công", - "READ": "Read successfully", - "DELIVERED": "Delivered successfully", + "READ": "Đọc thành công", + "DELIVERED": "Đã gửi thành công", "NO_MESSAGES": "Không có tin nhắn", "NO_CONTENT": "Không có nội dung", "HIDE_QUOTED_TEXT": "Ẩn văn bản được trích dẫn", diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index 551782669..1a4a662bb 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -42,8 +42,8 @@ "RATING_TITLE": "Đánh giá", "FEEDBACK_TITLE": "Phản hồi", "CARD": { - "SHOW_LABELS": "Show labels", - "HIDE_LABELS": "Hide labels" + "SHOW_LABELS": "Hiển thị nhãn", + "HIDE_LABELS": "Ẩn nhãn" }, "HEADER": { "RESOLVE_ACTION": "Giải quyết", @@ -68,7 +68,7 @@ "CARD_CONTEXT_MENU": { "PENDING": "Đánh dấu chưa giải quyết", "RESOLVED": "Đánh dấu là đã giải quyết", - "MARK_AS_UNREAD": "Mark as unread", + "MARK_AS_UNREAD": "Đánh dấu là chưa đọc", "REOPEN": "Mở lại hội thoại", "SNOOZE": { "TITLE": "Báo lại", diff --git a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json index 612f0eec3..afcbf703d 100644 --- a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json @@ -20,7 +20,7 @@ "EDIT_HEADER": { "ALL_ARTICLES": "Tất cả các bài", "PUBLISH_BUTTON": "Phát hành", - "MOVE_TO_ARCHIVE_BUTTON": "Move to archived", + "MOVE_TO_ARCHIVE_BUTTON": "Di chuyển đến lưu trữ", "PREVIEW": "Xem trước", "ADD_TRANSLATION": "Thêm bản dịch", "OPEN_SIDEBAR": "Mở thanh bên", @@ -114,13 +114,13 @@ } }, "DELETE_PORTAL": { - "TITLE": "Delete portal", - "MESSAGE": "Are you sure you want to delete this portal", - "YES": "Yes, delete portal", - "NO": "No, keep portal", + "TITLE": "Xóa cổng thông tin", + "MESSAGE": "Bạn có chắc chắn muốn xóa cổng thông tin này", + "YES": "Có, xóa cổng thông tin", + "NO": "Không, giữ cổng thông tin", "API": { - "DELETE_SUCCESS": "Portal deleted successfully", - "DELETE_ERROR": "Error while deleting portal" + "DELETE_SUCCESS": "Đã xóa cổng thông tin thành công", + "DELETE_ERROR": "Lỗi khi xóa cổng thông tin" } } }, diff --git a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json index 592b92747..bff09cd92 100644 --- a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json @@ -134,7 +134,7 @@ "PHONE_NUMBER": { "LABEL": "Số Điện Thoại", "PLACEHOLDER": "Vui lòng nhập số điện thoại mà tin nhắn sẽ được gửi.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Vui lòng cung cấp số điện thoại hợp lệ bắt đầu bằng dấu `+` và không chứa bất kỳ dấu cách nào." }, "API_CALLBACK": { "TITLE": "URL gọi lại", @@ -185,7 +185,7 @@ "PHONE_NUMBER": { "LABEL": "Số Điện Thoại", "PLACEHOLDER": "Vui lòng nhập số điện thoại mà tin nhắn sẽ được gửi.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Vui lòng cung cấp số điện thoại hợp lệ bắt đầu bằng dấu `+` và không chứa bất kỳ dấu cách nào." }, "SUBMIT_BUTTON": "Tạo kênh Bandwidth", "API": { @@ -214,7 +214,7 @@ "PHONE_NUMBER": { "LABEL": "Số Điện Thoại", "PLACEHOLDER": "Vui lòng nhập số điện thoại mà tin nhắn sẽ được gửi.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Vui lòng cung cấp số điện thoại hợp lệ bắt đầu bằng dấu `+` và không chứa bất kỳ dấu cách nào." }, "PHONE_NUMBER_ID": { "LABEL": "ID số điện thoại", @@ -239,9 +239,9 @@ }, "API_CALLBACK": { "TITLE": "URL gọi lại", - "SUBTITLE": "You have to configure the webhook URL and the verification token in the Facebook Developer portal with the values shown below.", + "SUBTITLE": "Bạn phải định cấu hình URL webhook và mã xác minh trong cổng Nhà phát triển của Facebook với các giá trị được hiển thị bên dưới.", "WEBHOOK_URL": "Webhook URL", - "WEBHOOK_VERIFICATION_TOKEN": "Webhook Verification Token" + "WEBHOOK_VERIFICATION_TOKEN": "Mã xác minh Webhook" }, "SUBMIT_BUTTON": "Tạo kênh WhatsApp", "API": { @@ -421,7 +421,7 @@ "PRE_CHAT_FORM": "Biểu mẫu trước khi trò chuyện", "BUSINESS_HOURS": "Giờ làm việc", "WIDGET_BUILDER": "Trình tạo widget", - "BOT_CONFIGURATION": "Bot Configuration" + "BOT_CONFIGURATION": "Cấu hình Bot" }, "SETTINGS": "Cài đặt", "FEATURES": { @@ -445,8 +445,8 @@ "ENABLE_CSAT_SUB_TEXT": "Bật / Tắt khảo sát CSAT (Mức độ hài lòng của khách hàng) sau khi giải quyết cuộc trò chuyện", "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": "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": "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", "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.", diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json index b204fa29d..0f0ddbdcf 100644 --- a/app/javascript/dashboard/i18n/locale/vi/settings.json +++ b/app/javascript/dashboard/i18n/locale/vi/settings.json @@ -20,17 +20,17 @@ "NOTE": "Địa chỉ email của bạn là danh tính của bạn và được sử dụng để đăng nhập." }, "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": "Phím nóng để gửi tin nhắn", + "NOTE": "Bạn có thể chọn một phím nóng (Enter hoặc Cmd/Ctrl+Enter) dựa trên sở thích viết của bạn.", + "UPDATE_SUCCESS": "Cài đặt của bạn đã được cập nhật thành công", "CARD": { "ENTER_KEY": { "HEADING": "Enter (↵)", - "CONTENT": "Send messages by pressing Enter key instead of clicking the send button." + "CONTENT": "Gửi tin nhắn bằng cách nhấn phím Enter thay vì nhấp vào nút gửi." }, "CMD_ENTER_KEY": { "HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)", - "CONTENT": "Send messages by pressing Cmd/Ctrl + enter key instead of clicking the send button." + "CONTENT": "Gửi tin nhắn bằng cách nhấn phím Cmd/Ctrl + enter thay vì nhấp vào nút gửi." } } }, @@ -59,18 +59,18 @@ "TITLE": "Âm thanh Thông báo", "NOTE": "Bật âm thanh thông báo trong trang tổng quan cho các tin nhắn và cuộc trò chuyện mới.", "ALERT_TYPE": { - "TITLE": "Alert events:", + "TITLE": "Sự kiện cảnh báo:", "NONE": "Không có", "ASSIGNED": "Cuộc trò chuyện được phân công", "ALL_CONVERSATIONS": "Tất cả cuộc trò chuyện" }, "DEFAULT_TONE": { - "TITLE": "Alert tone:" + "TITLE": "Âm báo:" }, "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": "Điều kiện cảnh báo:", + "CONDITION_ONE": "Chỉ gửi cảnh báo âm thanh nếu cửa sổ trình duyệt không hoạt động", + "CONDITION_TWO": "Gửi thông báo cứ sau 30 giây cho đến khi tất cả các cuộc hội thoại được chỉ định được đọc" } }, "EMAIL_NOTIFICATIONS_SECTION": { @@ -115,8 +115,8 @@ "Bận", "Không Trực Tuyến" ], - "SET_AVAILABILITY_SUCCESS": "Availability has been set successfully", - "SET_AVAILABILITY_ERROR": "Couldn't set availability, please try again" + "SET_AVAILABILITY_SUCCESS": "Tính khả dụng đã được thiết lập thành công", + "SET_AVAILABILITY_ERROR": "Không thể đặt, vui lòng thử lại" }, "EMAIL": { "LABEL": "Địa chỉ email của bạn", @@ -147,7 +147,7 @@ "SELECTOR_SUBTITLE": "Chọn một tài khoản từ danh sách sau", "PROFILE_SETTINGS": "Cài Đặt Hồ Sơ Cá Nhân", "KEYBOARD_SHORTCUTS": "Phím tắt", - "SUPER_ADMIN_CONSOLE": "Super Admin Console", + "SUPER_ADMIN_CONSOLE": "Bảng điều khiển dành cho quản trị viên cấp cao", "LOGOUT": "Đăng xuất" }, "APP_GLOBAL": { @@ -173,7 +173,7 @@ "UPLOADING": "Đang tải lên..." }, "LOCATION_BUBBLE": { - "SEE_ON_MAP": "See on map" + "SEE_ON_MAP": "Xem trên bản đồ" }, "FORM_BUBBLE": { "SUBMIT": "Gửi" @@ -232,7 +232,7 @@ "REPORTS_OVERVIEW": "Tổng quan", "FACEBOOK_REAUTHORIZE": "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ụ", "HELP_CENTER": { - "TITLE": "Help Center (Beta)", + "TITLE": "Trung tâm trợ giúp (Thử nghiệm)", "ALL_ARTICLES": "Tất cả các bài", "MY_ARTICLES": "Các bài của tôi", "DRAFT": "Nháp", @@ -241,8 +241,8 @@ "CATEGORY_EMPTY_MESSAGE": "Không tìm thấy danh mục nào" }, "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." + "TEXT": "Tự động đánh dấu ngoại tuyến", + "INFO_TEXT": "Hãy để hệ thống tự động đánh dấu bạn ngoại tuyến khi bạn không sử dụng ứng dụng hoặc trang tổng quan." }, "DOCS": "Đọc tài liệu" }, @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "Xem tất cả phím tắt", "TITLE": { "OPEN_CONVERSATION": "Mở cuộc trò chuyện", "RESOLVE_AND_NEXT": "Giải quyết và đi đến cái tiếp theo", diff --git a/app/javascript/dashboard/i18n/locale/vi/signup.json b/app/javascript/dashboard/i18n/locale/vi/signup.json index b87d713b2..c262f3c47 100644 --- a/app/javascript/dashboard/i18n/locale/vi/signup.json +++ b/app/javascript/dashboard/i18n/locale/vi/signup.json @@ -2,13 +2,13 @@ "REGISTER": { "TRY_WOOT": "Đăng kí tài khoản", "TITLE": "Đăng kí", - "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.", + "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.", "TERMS_ACCEPT": "Bằng cách đăng ký, bạn đồng ý với T & CChính sách bảo mật", "COMPANY_NAME": { - "LABEL": "Company name", - "PLACEHOLDER": "Enter your company name. eg: Wayne Enterprises", - "ERROR": "Company name is too short" + "LABEL": "Tên công ty", + "PLACEHOLDER": "Nhập tên công ty của bạn. ví dụ: Doanh nghiệp Wayne", + "ERROR": "Tên công ty quá ngắn" }, "FULL_NAME": { "LABEL": "Tên đầy đủ", @@ -18,7 +18,7 @@ "EMAIL": { "LABEL": "Email công việc", "PLACEHOLDER": "Nhập email công việc của bạn. ví dụ: bruce@wayne.enterprises", - "ERROR": "Please enter a valid work email address" + "ERROR": "Vui lòng nhập địa chỉ email công việc hợp lệ" }, "PASSWORD": { "LABEL": "Mật khẩu", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json index 5f493092d..0604b4e0a 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "Open conversation", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json index 1bfcc4c9e..5fa9f479a 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json @@ -282,6 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { + "TOGGLE_MODAL": "View all shortcuts", "TITLE": { "OPEN_CONVERSATION": "開啟對話", "RESOLVE_AND_NEXT": "Resolve and move to next", diff --git a/app/javascript/survey/i18n/locale/nl.json b/app/javascript/survey/i18n/locale/nl.json index 91c8493cd..5acde4c6d 100644 --- a/app/javascript/survey/i18n/locale/nl.json +++ b/app/javascript/survey/i18n/locale/nl.json @@ -1,17 +1,17 @@ { "SURVEY": { - "DESCRIPTION": "Dear customer 👋, please take a few moments to share feedback about the conversation you had with %{inboxName}.", + "DESCRIPTION": "Beste klant 👋, neem even de tijd om feedback te delen over het gesprek dat u met %{inboxName} hebt gehad.", "RATING": { "LABEL": "Beoordeel uw gesprek", "SUCCESS_MESSAGE": "Bedankt voor het indienen van een beoordeling" }, "FEEDBACK": { - "LABEL": "Do you have any thoughts you'd like to share?", - "PLACEHOLDER": "Your feedback (optional)", - "BUTTON_TEXT": "Submit feedback" + "LABEL": "Heb je ideeën die je zou willen delen?", + "PLACEHOLDER": "Jouw feedback (optioneel)", + "BUTTON_TEXT": "Feedback verzenden" }, "API": { - "SUCCESS_MESSAGE": "Survey updated successfully", + "SUCCESS_MESSAGE": "Enquête succesvol bijgewerkt", "ERROR_MESSAGE": "Kan geen verbinding maken met Woot Server, probeer het later opnieuw" } }, diff --git a/app/javascript/widget/i18n/locale/nl.json b/app/javascript/widget/i18n/locale/nl.json index f5f138e6f..aa4dd4f20 100644 --- a/app/javascript/widget/i18n/locale/nl.json +++ b/app/javascript/widget/i18n/locale/nl.json @@ -8,13 +8,13 @@ "SUBMIT": "Bevestigen" }, "MESSAGE_BUBBLE": { - "RETRY": "Send message again", - "ERROR_MESSAGE": "Couldn't send, try again" + "RETRY": "Bericht opnieuw verzenden", + "ERROR_MESSAGE": "Verzenden mislukt, probeer het opnieuw" } }, "TEAM_AVAILABILITY": { "ONLINE": "We zijn online", - "OFFLINE": "Op dit moment zijn we niet aanwezig" + "OFFLINE": "We zijn momenteel afwezig" }, "REPLY_TIME": { "IN_A_FEW_MINUTES": "Reageert meestal binnen een paar minuten", @@ -22,8 +22,8 @@ "IN_A_DAY": "Reageert meestal binnen een dag" }, "START_CONVERSATION": "Start Chat", - "END_CONVERSATION": "End Conversation", - "CONTINUE_CONVERSATION": "Continue conversation", + "END_CONVERSATION": "Gesprek beëindigen", + "CONTINUE_CONVERSATION": "Verdergaan met gesprek", "START_NEW_CONVERSATION": "Een nieuw gesprek starten", "UNREAD_VIEW": { "VIEW_MESSAGES_BUTTON": "Bekijk nieuwe berichten", @@ -49,14 +49,14 @@ "EMAIL_ADDRESS": { "LABEL": "Uw e-mailadres", "PLACEHOLDER": "Voer uw e-mailadres in", - "REQUIRED_ERROR": "Email Address is required", + "REQUIRED_ERROR": "E-mailadres is vereist", "VALID_ERROR": "Voer een geldig e-mailadres in" }, "PHONE_NUMBER": { "LABEL": "Telefoonnummer", - "PLACEHOLDER": "Please enter your phone number", - "REQUIRED_ERROR": "Phone Number is required", - "VALID_ERROR": "Phone number should be of E.164 format eg: +1415555555" + "PLACEHOLDER": "Vul je telefoonnummer in", + "REQUIRED_ERROR": "Telefoon nummer is vereist", + "VALID_ERROR": "Telefoonnummer moet van E.164-formaat zijn: +1415555555" }, "MESSAGE": { "LABEL": "Bericht", @@ -65,7 +65,7 @@ } }, "CAMPAIGN_HEADER": "Geef uw naam en e-mail voordat u het gesprek begint", - "IS_REQUIRED": "is required" + "IS_REQUIRED": "is vereist" }, "FILE_SIZE_LIMIT": "Bestand overschrijdt de bijlagelimiet van {MAXIMUM_FILE_UPLOAD_SIZE}", "CHAT_FORM": { @@ -74,8 +74,8 @@ } }, "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search" + "PLACEHOLDER": "Zoek emojis", + "NOT_FOUND": "Er zijn geen overeenkomende emoji's gevonden" }, "CSAT": { "TITLE": "Beoordeel uw gesprek", diff --git a/app/javascript/widget/i18n/locale/vi.json b/app/javascript/widget/i18n/locale/vi.json index a5944a18b..0a1ad9753 100644 --- a/app/javascript/widget/i18n/locale/vi.json +++ b/app/javascript/widget/i18n/locale/vi.json @@ -74,8 +74,8 @@ } }, "EMOJI": { - "PLACEHOLDER": "Search emojis", - "NOT_FOUND": "No emoji match your search" + "PLACEHOLDER": "Tìm kiếm biểu tượng cảm xúc", + "NOT_FOUND": "Không có biểu tượng cảm xúc nào phù hợp với tìm kiếm của bạn" }, "CSAT": { "TITLE": "Đánh giá hội thoại", diff --git a/config/locales/nl.yml b/config/locales/nl.yml index dbb1185c7..3f9b50ca8 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -23,9 +23,9 @@ nl: reset_password_failure: Oh ho! We konden geen gebruiker vinden met het opgegeven e-mailadres. errors: validations: - presence: must not be blank + presence: mag niet leeg zijn webhook: - invalid: Invalid events + invalid: Ongeldige gebeurtenissen signup: disposable_email: Wij staan geen verwijderbare e-mails toe invalid_email: Je hebt een ongeldig e-mailadres ingevoerd @@ -33,86 +33,86 @@ nl: failed: Aanmelden mislukt data_import: data_type: - invalid: Invalid data type + invalid: Ongeldig datatype contacts: import: - failed: File is blank + failed: Bestand is leeg email: - invalid: Invalid email + invalid: Ongeldig email phone_number: - invalid: should be in e164 format + invalid: moet in e164-formaat zijn categories: locale: - unique: should be unique in the category and portal + unique: moet uniek zijn in de categorie en portal 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: Controleer de netwerkverbinding, IMAP-adres en probeer het opnieuw. + no_response_error: Controleer de IMAP-gegevens en probeer het opnieuw. + 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. validations: - name: should not start or end with symbols, and it should not have < > / \ @ characters. + name: mag niet beginnen of eindigen met symbolen, en mag geen < > / \ @ karakters hebben. reports: - period: Reporting period %{since} to %{until} + period: Rapportering van %{since} tot %{until} agent_csv: - agent_name: Agent name - conversations_count: Conversations count - avg_first_response_time: Avg first response time (Minutes) - avg_resolution_time: Avg resolution time (Minutes) + agent_name: Agent naam + conversations_count: Aantal gesprekken + avg_first_response_time: Gem. eerste reactie (minuten) + avg_resolution_time: Gemiddelde tijd tot oplossing (minuten) inbox_csv: - inbox_name: Inbox name + inbox_name: Naam postvak inbox_type: Inbox type - conversations_count: No. of conversations - avg_first_response_time: Avg first response time (Minutes) - avg_resolution_time: Avg resolution time (Minutes) + conversations_count: Aantal conversaties + avg_first_response_time: Gem. eerste reactie (minuten) + avg_resolution_time: Gemiddelde tijd tot oplossing (minuten) label_csv: label_title: Label - conversations_count: No. of conversations - avg_first_response_time: Avg first response time (Minutes) - avg_resolution_time: Avg resolution time (Minutes) + conversations_count: Aantal conversaties + avg_first_response_time: Gem. eerste reactie (minuten) + avg_resolution_time: Gemiddelde tijd tot oplossing (minuten) team_csv: - team_name: Team name - conversations_count: Conversations count - avg_first_response_time: Avg first response time (Minutes) - avg_resolution_time: Avg resolution time (Minutes) - default_group_by: day + team_name: Team Naam + conversations_count: Aantal gesprekken + avg_first_response_time: Gem. eerste reactie (minuten) + avg_resolution_time: Gemiddelde tijd tot oplossing (minuten) + default_group_by: dag 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 Naam + contact_email_address: Contact e-mailadres + contact_phone_number: Contactpersoon telefoonnummer + link_to_the_conversation: Link naar gesprek agent_name: Naam medewerker - rating: Rating - feedback: Feedback Comment - recorded_at: Recorded date + rating: Beoordeling + feedback: Feedback Opmerking + recorded_at: Datum opgenomen notifications: notification_title: - conversation_creation: "[New conversation] - #%{display_id} has been created in %{inbox_name}" - conversation_assignment: "[Assigned to you] - #%{display_id} has been assigned to you" - assigned_conversation_new_message: "[New message] - #%{display_id} %{content}" - conversation_mention: "You have been mentioned in conversation [ID - %{display_id}] by %{name}" + conversation_creation: "[New conversation] - #%{display_id} is aangemaakt in %{inbox_name}" + conversation_assignment: "[Toegewezen aan jou] - #%{display_id} is aan jou toegewezen" + assigned_conversation_new_message: "[Nieuw bericht] - #%{display_id} %{content}" + conversation_mention: "Je bent genoemd in gesprek [ID - %{display_id}] door %{name}" conversations: messages: - instagram_story_content: "%{story_sender} mentioned you in the story: " - instagram_deleted_story_content: This story is no longer available. - deleted: This message was deleted + instagram_story_content: "%{story_sender} heeft je genoemd in het verhaal: " + instagram_deleted_story_content: Dit verhaal is niet meer beschikbaar. + deleted: Dit bericht werd verwijderd activity: status: resolved: "Gesprek werd gemarkeerd door %{user_name}" - contact_resolved: "Conversation was resolved by %{contact_name}" + contact_resolved: "Gesprek werd opgelost door %{contact_name}" open: "Gesprek werd heropend door %{user_name}" - pending: "Conversation was marked as pending by %{user_name}" - snoozed: "Conversation was snoozed by %{user_name}" - auto_resolved: "Conversation was marked resolved by system due to %{duration} days of inactivity" + pending: "Gesprek werd gemarkeerd als in afwachting door %{user_name}" + snoozed: "Gesprek werd gesluimerd door %{user_name}" + auto_resolved: "Gesprek werd door systeem gemarkeerd als opgelost na %{duration} dagen inactiviteit" assignee: - self_assigned: "%{user_name} self-assigned this conversation" + self_assigned: "%{user_name} heeft dit gesprek aan zichzelf toegewezen" assigned: "Toegewezen aan %{assignee_name} door %{user_name}" removed: "Gesprek niet toegewezen door %{user_name}" team: assigned: "Toegewezen aan %{team_name} door %{user_name}" - assigned_with_assignee: "Assigned to %{assignee_name} via %{team_name} by %{user_name}" + assigned_with_assignee: "Toegewezen aan %{assignee_name} via %{team_name} door %{user_name}" removed: "Unassigned from %{team_name} by %{user_name}" labels: added: "%{user_name} added %{labels}" @@ -153,7 +153,7 @@ nl: search: search_placeholder: Search for article by title or body... empty_placeholder: Geen resultaten gevonden. - loading_placeholder: Searching... - results_title: Search results + loading_placeholder: Zoeken... + results_title: Zoekresultaten hero: sub_title: Search for the articles here or browse the categories below. From dd0d221cfc287588cd5df8f890c19e274326aa25 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Sun, 1 Jan 2023 22:12:22 -0800 Subject: [PATCH 03/48] 2022 -> 2023 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf417447a..ac11d649d 100644 --- a/README.md +++ b/README.md @@ -119,4 +119,4 @@ Thanks goes to all these [wonderful people](https://www.chatwoot.com/docs/contri -*Chatwoot* © 2017-2022, Chatwoot Inc - Released under the MIT License. +*Chatwoot* © 2017-2023, Chatwoot Inc - Released under the MIT License. From c88ea257d5cb4da4ff78e581708c16787d4e5d7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Jan 2023 14:35:57 +0530 Subject: [PATCH 04/48] chore(deps): bump httparty from 0.20.0 to 0.21.0 (#6164) Bumps [httparty](https://github.com/jnunemaker/httparty) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/jnunemaker/httparty/releases) - [Changelog](https://github.com/jnunemaker/httparty/blob/master/Changelog.md) - [Commits](https://github.com/jnunemaker/httparty/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: httparty dependency-type: indirect ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e96ae1b9e..d3f4f9245 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -333,8 +333,8 @@ GEM http-cookie (1.0.5) domain_name (~> 0.5) http-form_data (2.3.0) - httparty (0.20.0) - mime-types (~> 3.0) + httparty (0.21.0) + mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) httpclient (2.8.3) i18n (1.11.0) From 7b5f1e48760467a6fb1968d8e0cd7df408ce7338 Mon Sep 17 00:00:00 2001 From: "OMAR.A" <58332033+civilcoder55@users.noreply.github.com> Date: Wed, 4 Jan 2023 12:41:54 +0200 Subject: [PATCH 05/48] feat: Support for telegram incoming location message (#6158) Support for incoming location messages in the telegram channel. ref: #3398 --- .../telegram/incoming_message_service.rb | 16 ++++++++++++++++ .../telegram/incoming_message_service_spec.rb | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/app/services/telegram/incoming_message_service.rb b/app/services/telegram/incoming_message_service.rb index e8ab8a72c..2391921bd 100644 --- a/app/services/telegram/incoming_message_service.rb +++ b/app/services/telegram/incoming_message_service.rb @@ -20,6 +20,7 @@ class Telegram::IncomingMessageService sender: @contact, source_id: (params[:message][:message_id]).to_s ) + attach_location attach_files @message.save! end @@ -111,10 +112,25 @@ class Telegram::IncomingMessageService ) end + def attach_location + return unless location + + @message.attachments.new( + account_id: @message.account_id, + file_type: :location, + coordinates_lat: location['latitude'], + coordinates_long: location['longitude'] + ) + end + def file @file ||= visual_media_params || params[:message][:voice].presence || params[:message][:audio].presence || params[:message][:document].presence end + def location + @location ||= params[:message][:location].presence + end + def visual_media_params params[:message][:photo].presence&.last || params.dig(:message, :sticker, :thumb).presence || params[:message][:video].presence end diff --git a/spec/services/telegram/incoming_message_service_spec.rb b/spec/services/telegram/incoming_message_service_spec.rb index 766330605..b651e6fc4 100644 --- a/spec/services/telegram/incoming_message_service_spec.rb +++ b/spec/services/telegram/incoming_message_service_spec.rb @@ -214,5 +214,23 @@ describe Telegram::IncomingMessageService do expect(telegram_channel.inbox.messages.first.attachments.first.file_type).to eq('file') end end + + context 'when valid location message params' do + it 'creates appropriate conversations, message and contacts' do + params = { + 'update_id' => 2_342_342_343_242, + 'message' => { + 'location': { + 'latitude': 37.7893768, + 'longitude': -122.3895553 + } + }.merge(message_params) + }.with_indifferent_access + described_class.new(inbox: telegram_channel.inbox, params: params).perform + expect(telegram_channel.inbox.conversations.count).not_to eq(0) + expect(Contact.all.first.name).to eq('Sojan Jose') + expect(telegram_channel.inbox.messages.first.attachments.first.file_type).to eq('location') + end + end end end From 88053c60c714011a757c819499b8ce1969d65782 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Thu, 5 Jan 2023 00:33:02 +0530 Subject: [PATCH 06/48] chore: Update translations (#6160) --- .../dashboard/i18n/locale/de/agentBots.json | 20 +++++++++---------- .../i18n/locale/de/generalSettings.json | 6 +++--- .../dashboard/i18n/locale/de/inboxMgmt.json | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/de/agentBots.json b/app/javascript/dashboard/i18n/locale/de/agentBots.json index 1cf6daa87..b6b0560fc 100644 --- a/app/javascript/dashboard/i18n/locale/de/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/de/agentBots.json @@ -37,29 +37,29 @@ } }, "LIST": { - "404": "No Bots found, you can create a bot by clicking the 'Configure new bot' Button ↗", - "LOADING": "Fetching Bots...", - "TYPE": "Bot Type" + "404": "Keine Bots gefunden, Sie können einen Bot erstellen, indem Sie auf den 'Neuen Bot konfigurieren' Button klicken ↗", + "LOADING": "Bots werden geladen...", + "TYPE": "Bot-Typ" }, "DELETE": { "BUTTON_TEXT": "Löschen", - "TITLE": "Delete Bot", + "TITLE": "Bot löschen", "SUBMIT": "Löschen", "CANCEL_BUTTON_TEXT": "Stornieren", - "DESCRIPTION": "Are you sure you want to delete this bot? This action is irreversible", + "DESCRIPTION": "Sind Sie sicher, dass Sie diesen Bot löschen wollen? Diese Aktion kann nicht rückgängig gemacht werden", "API": { - "SUCCESS_MESSAGE": "Bot deleted successfully", + "SUCCESS_MESSAGE": "Bot erfolgreich gelöscht", "ERROR_MESSAGE": "Could not able to delete bot, Please try again later" } }, "EDIT": { "BUTTON_TEXT": "Bearbeiten", - "LOADING": "Fetching Bots...", - "TITLE": "Edit Bot", + "LOADING": "Bots werden geladen...", + "TITLE": "Bot bearbeiten", "CANCEL_BUTTON_TEXT": "Stornieren", "API": { - "SUCCESS_MESSAGE": "Bot updated successfully", - "ERROR_MESSAGE": "Could not update bot, Please try again later" + "SUCCESS_MESSAGE": "Bot erfolgreich aktualisiert", + "ERROR_MESSAGE": "Bot konnte nicht aktualisiert werden, bitte versuchen Sie es später erneut" } }, "TYPES": { diff --git a/app/javascript/dashboard/i18n/locale/de/generalSettings.json b/app/javascript/dashboard/i18n/locale/de/generalSettings.json index 36470154d..3a9b4f662 100644 --- a/app/javascript/dashboard/i18n/locale/de/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/de/generalSettings.json @@ -23,7 +23,7 @@ "ERROR": "Bitte geben Sie einen gültigen Kontonamen ein" }, "LANGUAGE": { - "LABEL": "Site language", + "LABEL": "Sprache", "PLACEHOLDER": "Ihr Kontoname", "ERROR": "" }, @@ -55,7 +55,7 @@ "ENTER_TO_SELECT": "Drücken Sie zur Auswahl die Eingabetaste", "ENTER_TO_REMOVE": "Drücken Sie zum Entfernen die Eingabetaste", "SELECT_ONE": "Eines wählen", - "SELECT": "Select" + "SELECT": "Auswählen" } }, "NOTIFICATIONS_PAGE": { @@ -139,6 +139,6 @@ } }, "DASHBOARD_APPS": { - "LOADING_MESSAGE": "Loading Dashboard App..." + "LOADING_MESSAGE": "Dashboard-App wird geladen..." } } diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json index 9e5da01dc..6b13c3be9 100644 --- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json @@ -134,7 +134,7 @@ "PHONE_NUMBER": { "LABEL": "Telefonnummer", "PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Bitte geben Sie eine gültige Telefonnummer an, die mit einem `+` Zeichen beginnt und keine Leerzeichen enthält." }, "API_CALLBACK": { "TITLE": "Callback URL", @@ -185,7 +185,7 @@ "PHONE_NUMBER": { "LABEL": "Telefonnummer", "PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Bitte geben Sie eine gültige Telefonnummer an, die mit einem `+` Zeichen beginnt und keine Leerzeichen enthält." }, "SUBMIT_BUTTON": "Bitte geben Sie Ihre Bandbreitenanwendungs-ID ein", "API": { @@ -214,7 +214,7 @@ "PHONE_NUMBER": { "LABEL": "Telefonnummer", "PLACEHOLDER": "Bitte geben Sie die Telefonnummer ein, von der die Nachricht gesendet wird.", - "ERROR": "Please provide a valid phone number that starts with a `+` sign and does not contain any spaces." + "ERROR": "Bitte geben Sie eine gültige Telefonnummer an, die mit einem `+` Zeichen beginnt und keine Leerzeichen enthält." }, "PHONE_NUMBER_ID": { "LABEL": "Telefonnummer-ID", From fc06ee7726742a77227fead53ae3d056c0108e48 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Wed, 4 Jan 2023 15:39:03 -0800 Subject: [PATCH 07/48] fix: Update the page size to 15, change default sort to last_activity (#6177) --- .../dashboard/contacts/components/ContactsTable.vue | 4 ++-- .../routes/dashboard/contacts/components/ContactsView.vue | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue index c40c41bd8..956b0e717 100644 --- a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue +++ b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsTable.vue @@ -66,11 +66,11 @@ export default { }, sortParam: { type: String, - default: 'name', + default: 'last_activity_at', }, sortOrder: { type: String, - default: 'asc', + default: 'desc', }, }, data() { diff --git a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsView.vue b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsView.vue index bef3ceccb..e09c4a2d8 100644 --- a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsView.vue +++ b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsView.vue @@ -20,12 +20,12 @@ :is-loading="uiFlags.isFetching" :on-click-contact="openContactInfoPanel" :active-contact-id="selectedContactId" - :sort-config="sortConfig" @on-sort-change="onSortChange" /> @@ -115,7 +115,7 @@ export default { showCreateModal: false, showImportModal: false, selectedContactId: '', - sortConfig: { name: 'asc' }, + sortConfig: { last_activity_at: 'desc' }, showFiltersModal: false, contactFilterItems: contactFilterItems.map(filter => ({ ...filter, @@ -230,8 +230,8 @@ export default { return acc; }, ''); if (!sortAttr) { - this.sortConfig = { name: 'asc' }; - sortAttr = 'name'; + this.sortConfig = { last_activity_at: 'desc' }; + sortAttr = '-last_activity_at'; } return sortAttr; }, From 9cb75b55f70d286fe3b166ae970bf3269fa0dfea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 14:30:41 +0530 Subject: [PATCH 08/48] chore(deps): bump json5 from 1.0.1 to 1.0.2 (#6168) Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2615cdb42..863af7dbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10725,9 +10725,9 @@ json3@^3.3.3: integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" @@ -11598,12 +11598,7 @@ minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minimist@^1.2.0: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== From 269ad8f6972deaa5a5f1e9faa918b3b586c25c55 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Thu, 5 Jan 2023 18:36:21 +0530 Subject: [PATCH 09/48] Fix: Errors in Heroku deployments (#6182) Due to 86ca7f4a8d5e2b7d45033e85d5e100870ed0bfa0 the redis configuration in Heroku deployments was breaking, temporarily reverting the part until we identify a fix. fixes: #5938 --- config/initializers/01_redis.rb | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/config/initializers/01_redis.rb b/config/initializers/01_redis.rb index 2595c12bb..ccbf02b4d 100644 --- a/config/initializers/01_redis.rb +++ b/config/initializers/01_redis.rb @@ -1,16 +1,14 @@ -Rails.application.reloader.to_prepare do - # Alfred - # Add here as you use it for more features - # Used for Round Robin, Conversation Emails & Online Presence - $alfred = ConnectionPool.new(size: 5, timeout: 3) do - redis = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) - Redis::Namespace.new('alfred', redis: redis, warning: true) - end - - # Velma : Determined protector - # used in rack attack - $velma = ConnectionPool.new(size: 5, timeout: 3) do - config = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) - Redis::Namespace.new('velma', redis: config, warning: true) - end +# Alfred +# Add here as you use it for more features +# Used for Round Robin, Conversation Emails & Online Presence +$alfred = ConnectionPool.new(size: 5, timeout: 3) do + redis = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) + Redis::Namespace.new('alfred', redis: redis, warning: true) +end + +# Velma : Determined protector +# used in rack attack +$velma = ConnectionPool.new(size: 5, timeout: 3) do + config = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) + Redis::Namespace.new('velma', redis: config, warning: true) end From b9ae664d4740e222d6958f67d1baf2184edf04a6 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Fri, 6 Jan 2023 09:05:11 +0530 Subject: [PATCH 10/48] fix: Update incorrect label for team selection (#6180) --- .../settings/reports/components/ReportFilters.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/javascript/dashboard/routes/dashboard/settings/reports/components/ReportFilters.vue b/app/javascript/dashboard/routes/dashboard/settings/reports/components/ReportFilters.vue index 10e1e0495..63c483b08 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/reports/components/ReportFilters.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/reports/components/ReportFilters.vue @@ -90,7 +90,16 @@

- {{ $t('INBOX_REPORTS.FILTER_DROPDOWN_LABEL') }} + + + +

Date: Fri, 6 Jan 2023 13:58:05 +0530 Subject: [PATCH 11/48] chore: Update error message in Custom Attributes (#6187) --- app/javascript/dashboard/i18n/locale/en/attributesMgmt.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json index 77c81edd3..7cf58059e 100644 --- a/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/en/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { From 74c6db37b37acc69fd6da237b5cc89e479b7cbaa Mon Sep 17 00:00:00 2001 From: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com> Date: Fri, 6 Jan 2023 15:37:28 +0530 Subject: [PATCH 12/48] fix: Fixes broken style in automation page (#6171) * fix: Fixes broken style in automation page * Fix the position of drag handle Co-authored-by: fayazara Co-authored-by: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com> --- .../assets/scss/_foundation-settings.scss | 2 +- .../dashboard/assets/scss/widgets/_modal.scss | 4 +-- .../dashboard/components/ModalHeader.vue | 2 ++ .../widgets/modal/ConfirmationModal.vue | 30 ++++++++----------- .../dashboard/settings/macros/MacroNode.vue | 2 +- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/app/javascript/dashboard/assets/scss/_foundation-settings.scss b/app/javascript/dashboard/assets/scss/_foundation-settings.scss index 414cb2539..28defb4fd 100644 --- a/app/javascript/dashboard/assets/scss/_foundation-settings.scss +++ b/app/javascript/dashboard/assets/scss/_foundation-settings.scss @@ -75,7 +75,7 @@ Arial, sans-serif; $body-antialiased: true; $global-margin: $space-small; -$global-padding: $space-micro; +$global-padding: $space-small; $global-weight-normal: normal; $global-weight-bold: bold; $global-radius: 0; diff --git a/app/javascript/dashboard/assets/scss/widgets/_modal.scss b/app/javascript/dashboard/assets/scss/widgets/_modal.scss index 543a60797..c363d4220 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_modal.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_modal.scss @@ -82,8 +82,8 @@ @include flex-align($x: flex-end, $y: middle); padding: $space-small $zero; - button { - font-size: $font-size-small; + .button { + margin-left: var(--space-small); } &.justify-content-end { diff --git a/app/javascript/dashboard/components/ModalHeader.vue b/app/javascript/dashboard/components/ModalHeader.vue index b60f5d851..18ff7e785 100644 --- a/app/javascript/dashboard/components/ModalHeader.vue +++ b/app/javascript/dashboard/components/ModalHeader.vue @@ -39,6 +39,8 @@ export default { diff --git a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNode.vue b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNode.vue index f03667cef..c16e95e67 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNode.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/macros/MacroNode.vue @@ -107,7 +107,7 @@ export default { diff --git a/app/javascript/dashboard/i18n/locale/en/integrations.json b/app/javascript/dashboard/i18n/locale/en/integrations.json index 6c6cecde9..5c7395424 100644 --- a/app/javascript/dashboard/i18n/locale/en/integrations.json +++ b/app/javascript/dashboard/i18n/locale/en/integrations.json @@ -35,10 +35,7 @@ "LIST": { "404": "There are no webhooks configured for this account.", "TITLE": "Manage webhooks", - "TABLE_HEADER": [ - "Webhook endpoint", - "Actions" - ] + "TABLE_HEADER": ["Webhook endpoint", "Actions"] }, "EDIT": { "BUTTON_TEXT": "Edit", @@ -76,6 +73,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { @@ -93,10 +97,7 @@ "LIST": { "404": "There are no dashboard apps configured on this account yet", "LOADING": "Fetching dashboard apps...", - "TABLE_HEADER": [ - "Name", - "Endpoint" - ], + "TABLE_HEADER": ["Name", "Endpoint"], "EDIT_TOOLTIP": "Edit app", "DELETE_TOOLTIP": "Delete app" }, diff --git a/app/javascript/dashboard/store/modules/integrations.js b/app/javascript/dashboard/store/modules/integrations.js index 6b3ebe8a4..af4a72cb0 100644 --- a/app/javascript/dashboard/store/modules/integrations.js +++ b/app/javascript/dashboard/store/modules/integrations.js @@ -16,14 +16,15 @@ const state = { }, }; +const isAValidAppIntegration = integration => { + return ['dialogflow', 'dyte'].includes(integration.id); +}; export const getters = { getIntegrations($state) { - return $state.records.filter( - item => item.id !== 'fullcontact' && item.id !== 'dialogflow' - ); + return $state.records.filter(item => !isAValidAppIntegration(item)); }, getAppIntegrations($state) { - return $state.records.filter(item => item.id === 'dialogflow'); + return $state.records.filter(item => isAValidAppIntegration(item)); }, getIntegration: $state => integrationId => { const [integration] = $state.records.filter( diff --git a/app/javascript/dashboard/store/modules/specs/integrations/getters.spec.js b/app/javascript/dashboard/store/modules/specs/integrations/getters.spec.js index 2c4ef9e63..43080a7d8 100644 --- a/app/javascript/dashboard/store/modules/specs/integrations/getters.spec.js +++ b/app/javascript/dashboard/store/modules/specs/integrations/getters.spec.js @@ -5,28 +5,40 @@ describe('#getters', () => { const state = { records: [ { - id: 1, + id: 'test1', name: 'test1', logo: 'test', enabled: true, }, { - id: 2, + id: 'test2', name: 'test2', logo: 'test', enabled: true, }, + { + id: 'dyte', + name: 'dyte', + logo: 'test', + enabled: true, + }, + { + id: 'dialogflow', + name: 'dialogflow', + logo: 'test', + enabled: true, + }, ], }; expect(getters.getIntegrations(state)).toEqual([ { - id: 1, + id: 'test1', name: 'test1', logo: 'test', enabled: true, }, { - id: 2, + id: 'test2', name: 'test2', logo: 'test', enabled: true, @@ -38,11 +50,17 @@ describe('#getters', () => { const state = { records: [ { - id: 1, + id: 'test1', name: 'test1', logo: 'test', enabled: true, }, + { + id: 'dyte', + name: 'dyte', + logo: 'test', + enabled: true, + }, { id: 'dialogflow', name: 'test2', @@ -52,6 +70,12 @@ describe('#getters', () => { ], }; expect(getters.getAppIntegrations(state)).toEqual([ + { + id: 'dyte', + name: 'dyte', + logo: 'test', + enabled: true, + }, { id: 'dialogflow', name: 'test2', diff --git a/app/javascript/shared/components/FluentIcon/dashboard-icons.json b/app/javascript/shared/components/FluentIcon/dashboard-icons.json index a431b6ffa..424c30187 100644 --- a/app/javascript/shared/components/FluentIcon/dashboard-icons.json +++ b/app/javascript/shared/components/FluentIcon/dashboard-icons.json @@ -145,6 +145,7 @@ "tag-outline": "M19.75 2A2.25 2.25 0 0 1 22 4.25v5.462a3.25 3.25 0 0 1-.952 2.298l-8.5 8.503a3.255 3.255 0 0 1-4.597.001L3.489 16.06a3.25 3.25 0 0 1-.003-4.596l8.5-8.51A3.25 3.25 0 0 1 14.284 2h5.465Zm0 1.5h-5.465c-.465 0-.91.185-1.239.513l-8.512 8.523a1.75 1.75 0 0 0 .015 2.462l4.461 4.454a1.755 1.755 0 0 0 2.477 0l8.5-8.503a1.75 1.75 0 0 0 .513-1.237V4.25a.75.75 0 0 0-.75-.75ZM17 5.502a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z", "upload-outline": "M6.087 7.75a5.752 5.752 0 0 1 11.326 0h.087a4 4 0 0 1 3.962 4.552 6.534 6.534 0 0 0-1.597-1.364A2.501 2.501 0 0 0 17.5 9.25h-.756a.75.75 0 0 1-.75-.713 4.25 4.25 0 0 0-8.489 0 .75.75 0 0 1-.749.713H6a2.5 2.5 0 0 0 0 5h4.4a6.458 6.458 0 0 0-.357 1.5H6a4 4 0 0 1 0-8h.087ZM22 16.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0Zm-6-1.793V19.5a.5.5 0 0 0 1 0v-4.793l1.646 1.647a.5.5 0 0 0 .708-.708l-2.5-2.5a.5.5 0 0 0-.708 0l-2.5 2.5a.5.5 0 0 0 .708.708L16 14.707Z", "video-outline": "M13.75 4.5A3.25 3.25 0 0 1 17 7.75v.173l3.864-2.318A.75.75 0 0 1 22 6.248V17.75a.75.75 0 0 1-1.136.643L17 16.075v.175a3.25 3.25 0 0 1-3.25 3.25h-8.5A3.25 3.25 0 0 1 2 16.25v-8.5A3.25 3.25 0 0 1 5.25 4.5h8.5Zm0 1.5h-8.5A1.75 1.75 0 0 0 3.5 7.75v8.5c0 .966.784 1.75 1.75 1.75h8.5a1.75 1.75 0 0 0 1.75-1.75v-8.5A1.75 1.75 0 0 0 13.75 6Zm6.75 1.573L17 9.674v4.651l3.5 2.1V7.573Z", + "video-add-outline": "M13.75 4.5A3.25 3.25 0 0 1 17 7.75v.173l3.864-2.318A.75.75 0 0 1 22 6.248V17.75a.75.75 0 0 1-1.136.643L17 16.075v.175a3.25 3.25 0 0 1-3.25 3.25h-1.063c.154-.478.255-.98.294-1.5h.769a1.75 1.75 0 0 0 1.75-1.75v-8.5A1.75 1.75 0 0 0 13.75 6h-8.5A1.75 1.75 0 0 0 3.5 7.75v3.982A6.517 6.517 0 0 0 2 12.81V7.75A3.25 3.25 0 0 1 5.25 4.5h8.5Zm6.75 3.073L17 9.674v4.651l3.5 2.1V7.573ZM12 17.5a5.5 5.5 0 1 0-11 0 5.5 5.5 0 0 0 11 0ZM7 18l.001 2.503a.5.5 0 1 1-1 0V18H3.496a.5.5 0 0 1 0-1H6v-2.5a.5.5 0 1 1 1 0V17h2.497a.5.5 0 0 1 0 1H7Z", "warning-outline": "M10.91 2.782a2.25 2.25 0 0 1 2.975.74l.083.138 7.759 14.009a2.25 2.25 0 0 1-1.814 3.334l-.154.006H4.243a2.25 2.25 0 0 1-2.041-3.197l.072-.143L10.031 3.66a2.25 2.25 0 0 1 .878-.878Zm9.505 15.613-7.76-14.008a.75.75 0 0 0-1.254-.088l-.057.088-7.757 14.008a.75.75 0 0 0 .561 1.108l.095.006h15.516a.75.75 0 0 0 .696-1.028l-.04-.086-7.76-14.008 7.76 14.008ZM12 16.002a.999.999 0 1 1 0 1.997.999.999 0 0 1 0-1.997ZM11.995 8.5a.75.75 0 0 1 .744.647l.007.102.004 4.502a.75.75 0 0 1-1.494.103l-.006-.102-.004-4.502a.75.75 0 0 1 .75-.75Z", "wifi-off-outline": "m12.858 14.273 7.434 7.434a1 1 0 0 0 1.414-1.414l-17.999-18a1 1 0 1 0-1.414 1.414L5.39 6.804c-.643.429-1.254.927-1.821 1.495a12.382 12.382 0 0 0-1.39 1.683 1 1 0 0 0 1.644 1.14c.363-.524.761-1.01 1.16-1.41a9.94 9.94 0 0 1 1.855-1.46L7.99 9.405a8.14 8.14 0 0 0-3.203 3.377 1 1 0 0 0 1.784.903 6.08 6.08 0 0 1 1.133-1.563 6.116 6.116 0 0 1 1.77-1.234l1.407 1.407A5.208 5.208 0 0 0 8.336 13.7a5.25 5.25 0 0 0-1.09 1.612 1 1 0 0 0 1.832.802c.167-.381.394-.722.672-1a3.23 3.23 0 0 1 3.108-.841Zm-1.332-5.93 2.228 2.229a6.1 6.1 0 0 1 2.616 1.55c.444.444.837.995 1.137 1.582a1 1 0 1 0 1.78-.911 8.353 8.353 0 0 0-1.503-2.085 8.108 8.108 0 0 0-6.258-2.365ZM8.51 5.327l1.651 1.651a9.904 9.904 0 0 1 10.016 4.148 1 1 0 1 0 1.646-1.136A11.912 11.912 0 0 0 8.51 5.327Zm4.552 11.114a1.501 1.501 0 1 1-2.123 2.123 1.501 1.501 0 0 1 2.123-2.123Z", "whatsapp-outline": "M19.05 4.91A9.816 9.816 0 0 0 12.04 2c-5.46 0-9.91 4.45-9.91 9.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21c5.46 0 9.91-4.45 9.91-9.91c0-2.65-1.03-5.14-2.9-7.01zm-7.01 15.24c-1.48 0-2.93-.4-4.2-1.15l-.3-.18l-3.12.82l.83-3.04l-.2-.31a8.264 8.264 0 0 1-1.26-4.38c0-4.54 3.7-8.24 8.24-8.24c2.2 0 4.27.86 5.82 2.42a8.183 8.183 0 0 1 2.41 5.83c.02 4.54-3.68 8.23-8.22 8.23zm4.52-6.16c-.25-.12-1.47-.72-1.69-.81c-.23-.08-.39-.12-.56.12c-.17.25-.64.81-.78.97c-.14.17-.29.19-.54.06c-.25-.12-1.05-.39-1.99-1.23c-.74-.66-1.23-1.47-1.38-1.72c-.14-.25-.02-.38.11-.51c.11-.11.25-.29.37-.43s.17-.25.25-.41c.08-.17.04-.31-.02-.43s-.56-1.34-.76-1.84c-.2-.48-.41-.42-.56-.43h-.48c-.17 0-.43.06-.66.31c-.22.25-.86.85-.86 2.07c0 1.22.89 2.4 1.01 2.56c.12.17 1.75 2.67 4.23 3.74c.59.26 1.05.41 1.41.52c.59.19 1.13.16 1.56.1c.48-.07 1.47-.6 1.67-1.18c.21-.58.21-1.07.14-1.18s-.22-.16-.47-.28z", From ffb4bd0109320ef84d22efdd7bf891885ebf0d07 Mon Sep 17 00:00:00 2001 From: Pranav Raj S Date: Mon, 9 Jan 2023 11:52:31 -0800 Subject: [PATCH 20/48] feat: Add the support for video calls with Dyte in the live-chat widget (#6208) Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com> Co-authored-by: iamsivin --- .../v1/widget/integrations/dyte_controller.rb | 36 ++++++ .../conversation/bubble/Integration.vue | 8 +- .../conversation/bubble/integrations/Dyte.vue | 5 +- app/javascript/sdk/IFrameHelper.js | 3 +- .../shared/components/FluentIcon/icons.json | 7 +- .../shared/helpers/IntegrationHelper.js | 5 + app/javascript/widget/api/integration.js | 12 ++ .../widget/components/AgentMessageBubble.vue | 11 ++ .../components/template/IntegrationCard.vue | 118 ++++++++++++++++++ app/javascript/widget/i18n/locale/en.json | 6 + config/routes.rb | 7 ++ .../integrations/dyte_controller_spec.rb | 74 +++++++++++ 12 files changed, 283 insertions(+), 9 deletions(-) create mode 100644 app/controllers/api/v1/widget/integrations/dyte_controller.rb create mode 100644 app/javascript/shared/helpers/IntegrationHelper.js create mode 100644 app/javascript/widget/api/integration.js create mode 100644 app/javascript/widget/components/template/IntegrationCard.vue create mode 100644 spec/controllers/api/v1/widget/integrations/dyte_controller_spec.rb diff --git a/app/controllers/api/v1/widget/integrations/dyte_controller.rb b/app/controllers/api/v1/widget/integrations/dyte_controller.rb new file mode 100644 index 000000000..0661b4a3c --- /dev/null +++ b/app/controllers/api/v1/widget/integrations/dyte_controller.rb @@ -0,0 +1,36 @@ +class Api::V1::Widget::Integrations::DyteController < Api::V1::Widget::BaseController + before_action :set_message + + def add_participant_to_meeting + if @message.content_type != 'integrations' + return render json: { + error: I18n.t('errors.dyte.invalid_message_type') + }, status: :unprocessable_entity + end + + response = dyte_processor_service.add_participant_to_meeting( + @message.content_attributes['data']['meeting_id'], + @conversation.contact + ) + render_response(response) + end + + private + + def render_response(response) + render json: response, status: response[:error].blank? ? :ok : :unprocessable_entity + end + + def dyte_processor_service + Integrations::Dyte::ProcessorService.new(account: @web_widget.inbox.account, conversation: @conversation) + end + + def set_message + @message = @web_widget.inbox.messages.find(permitted_params[:message_id]) + @conversation = @message.conversation + end + + def permitted_params + params.permit(:website_token, :message_id) + end +end diff --git a/app/javascript/dashboard/components/widgets/conversation/bubble/Integration.vue b/app/javascript/dashboard/components/widgets/conversation/bubble/Integration.vue index 1978b9b5a..80843854d 100644 --- a/app/javascript/dashboard/components/widgets/conversation/bubble/Integration.vue +++ b/app/javascript/dashboard/components/widgets/conversation/bubble/Integration.vue @@ -14,16 +14,16 @@ export default { mixins: [inboxMixin], props: { messageId: { - type: Number, - required: true, + type: [String, Number], + default: 0, }, contentAttributes: { type: Object, default: () => ({}), }, inboxId: { - type: Number, - required: true, + type: [String, Number], + default: 0, }, }, computed: { diff --git a/app/javascript/dashboard/components/widgets/conversation/bubble/integrations/Dyte.vue b/app/javascript/dashboard/components/widgets/conversation/bubble/integrations/Dyte.vue index de4b07da0..8fca037f9 100644 --- a/app/javascript/dashboard/components/widgets/conversation/bubble/integrations/Dyte.vue +++ b/app/javascript/dashboard/components/widgets/conversation/bubble/integrations/Dyte.vue @@ -30,8 +30,7 @@ + diff --git a/app/javascript/widget/i18n/locale/en.json b/app/javascript/widget/i18n/locale/en.json index 6329cdeb3..141e9b102 100644 --- a/app/javascript/widget/i18n/locale/en.json +++ b/app/javascript/widget/i18n/locale/en.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/config/routes.rb b/config/routes.rb index 06fb29bb3..787f13f75 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -217,6 +217,13 @@ Rails.application.routes.draw do end resources :inbox_members, only: [:index] resources :labels, only: [:create, :destroy] + namespace :integrations do + resource :dyte, controller: 'dyte', only: [] do + collection do + post :add_participant_to_meeting + end + end + end end end diff --git a/spec/controllers/api/v1/widget/integrations/dyte_controller_spec.rb b/spec/controllers/api/v1/widget/integrations/dyte_controller_spec.rb new file mode 100644 index 000000000..5d5ace90b --- /dev/null +++ b/spec/controllers/api/v1/widget/integrations/dyte_controller_spec.rb @@ -0,0 +1,74 @@ +require 'rails_helper' + +RSpec.describe '/api/v1/widget/integrations/dyte', type: :request do + let(:account) { create(:account) } + let(:web_widget) { create(:channel_widget, account: account) } + let(:contact) { create(:contact, account: account, email: nil) } + let(:contact_inbox) { create(:contact_inbox, contact: contact, inbox: web_widget.inbox) } + let(:conversation) { create(:conversation, contact: contact, account: account, inbox: web_widget.inbox, contact_inbox: contact_inbox) } + let(:payload) { { source_id: contact_inbox.source_id, inbox_id: web_widget.inbox.id } } + let(:token) { ::Widget::TokenService.new(payload: payload).generate_token } + let(:message) { create(:message, conversation: conversation, account: account, inbox: conversation.inbox) } + let!(:integration_message) do + create(:message, content_type: 'integrations', + content_attributes: { type: 'dyte', data: { meeting_id: 'm_id' } }, + conversation: conversation, account: account, inbox: conversation.inbox) + end + + before do + create(:integrations_hook, :dyte, account: account) + end + + describe 'POST /api/v1/widget/integrations/dyte/add_participant_to_meeting' do + context 'when token is invalid' do + it 'returns error' do + post add_participant_to_meeting_api_v1_widget_integrations_dyte_url, + params: { website_token: web_widget.website_token }, + as: :json + + expect(response).to have_http_status(:not_found) + end + end + + context 'when token is valid' do + context 'when message is not an integration message' do + it 'returns error' do + post add_participant_to_meeting_api_v1_widget_integrations_dyte_url, + headers: { 'X-Auth-Token' => token }, + params: { website_token: web_widget.website_token, message_id: message.id }, + as: :json + + expect(response).to have_http_status(:unprocessable_entity) + response_body = JSON.parse(response.body) + expect(response_body['error']).to eq('Invalid message type. Action not permitted') + end + end + + context 'when message is an integration message' do + before do + stub_request(:post, 'https://api.cluster.dyte.in/v1/organizations/org_id/meetings/m_id/participant') + .to_return( + status: 200, + body: { success: true, data: { authResponse: { userAdded: true, id: 'random_uuid', auth_token: 'json-web-token' } } }.to_json, + headers: { 'Content-Type' => 'application/json' } + ) + end + + it 'returns authResponse' do + post add_participant_to_meeting_api_v1_widget_integrations_dyte_url, + headers: { 'X-Auth-Token' => token }, + params: { website_token: web_widget.website_token, message_id: integration_message.id }, + as: :json + + expect(response).to have_http_status(:success) + response_body = JSON.parse(response.body) + expect(response_body['authResponse']).to eq( + { + 'userAdded' => true, 'id' => 'random_uuid', 'auth_token' => 'json-web-token' + } + ) + end + end + end + end +end From 817ec4c50f06e3f6c921b141364d8148c1e32e17 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Tue, 10 Jan 2023 09:46:53 +0530 Subject: [PATCH 21/48] fix: Fix the default article sidebar state (#6191) Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> --- .../helpcenter/components/Header/EditArticleHeader.vue | 9 +++++---- .../dashboard/helpcenter/pages/articles/EditArticle.vue | 1 + .../dashboard/helpcenter/pages/articles/NewArticle.vue | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue index ce4808099..d3e74be6d 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue @@ -113,6 +113,10 @@ const { ARTICLE_STATUS_TYPES } = wootConstants; export default { mixins: [alertMixin, clickaway], props: { + isSidebarOpen: { + type: Boolean, + default: true, + }, backButtonLabel: { type: String, default: '', @@ -136,10 +140,9 @@ export default { }, data() { return { - isSidebarOpen: false, showActionsDropdown: false, alertMessage: '', - ARTICLE_STATUS_TYPES: ARTICLE_STATUS_TYPES, + ARTICLE_STATUS_TYPES, }; }, computed: { @@ -205,11 +208,9 @@ export default { } }, openSidebar() { - this.isSidebarOpen = true; this.$emit('open'); }, closeSidebar() { - this.isSidebarOpen = false; this.$emit('close'); }, openActionsDropdown() { diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/EditArticle.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/EditArticle.vue index ff737913f..47e5e6017 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/EditArticle.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/EditArticle.vue @@ -8,6 +8,7 @@ :back-button-label="$t('HELP_CENTER.HEADER.TITLES.ALL_ARTICLES')" :is-updating="isUpdating" :is-saved="isSaved" + :is-sidebar-open="showArticleSettings" @back="onClickGoBack" @open="openArticleSettings" @close="closeArticleSettings" diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/NewArticle.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/NewArticle.vue index a7c8d9c21..6d2c39ec3 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/NewArticle.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/pages/articles/NewArticle.vue @@ -7,6 +7,7 @@ Date: Tue, 10 Jan 2023 10:53:11 +0530 Subject: [PATCH 22/48] chore: Update translations (#6211) --- .../i18n/locale/ar/attributesMgmt.json | 4 +- .../i18n/locale/ar/integrations.json | 7 ++ .../i18n/locale/bg/attributesMgmt.json | 4 +- .../i18n/locale/bg/integrations.json | 7 ++ .../i18n/locale/ca/attributesMgmt.json | 4 +- .../i18n/locale/ca/integrations.json | 7 ++ .../i18n/locale/cs/attributesMgmt.json | 4 +- .../i18n/locale/cs/integrations.json | 7 ++ .../i18n/locale/da/attributesMgmt.json | 4 +- .../i18n/locale/da/integrations.json | 7 ++ .../i18n/locale/de/attributesMgmt.json | 4 +- .../i18n/locale/de/integrations.json | 7 ++ .../i18n/locale/el/attributesMgmt.json | 4 +- .../i18n/locale/el/integrations.json | 7 ++ .../dashboard/i18n/locale/el/settings.json | 2 +- .../i18n/locale/es/attributesMgmt.json | 4 +- .../i18n/locale/es/integrations.json | 7 ++ .../i18n/locale/fa/attributesMgmt.json | 4 +- .../i18n/locale/fa/integrations.json | 7 ++ .../i18n/locale/fi/attributesMgmt.json | 4 +- .../i18n/locale/fi/integrations.json | 7 ++ .../i18n/locale/fr/attributesMgmt.json | 4 +- .../i18n/locale/fr/integrations.json | 7 ++ .../i18n/locale/he/attributesMgmt.json | 4 +- .../i18n/locale/he/integrations.json | 7 ++ .../i18n/locale/hi/attributesMgmt.json | 4 +- .../i18n/locale/hi/integrations.json | 7 ++ .../i18n/locale/hu/attributesMgmt.json | 4 +- .../i18n/locale/hu/integrations.json | 7 ++ .../i18n/locale/id/attributesMgmt.json | 4 +- .../i18n/locale/id/integrations.json | 7 ++ .../dashboard/i18n/locale/is/agentBots.json | 2 +- .../i18n/locale/is/attributesMgmt.json | 6 +- .../dashboard/i18n/locale/is/automation.json | 6 +- .../dashboard/i18n/locale/is/bulkActions.json | 2 +- .../dashboard/i18n/locale/is/campaign.json | 2 +- .../dashboard/i18n/locale/is/contact.json | 4 +- .../i18n/locale/is/contactFilters.json | 2 +- .../i18n/locale/is/generalSettings.json | 82 +++++++++---------- .../dashboard/i18n/locale/is/helpCenter.json | 6 +- .../dashboard/i18n/locale/is/inboxMgmt.json | 14 ++-- .../i18n/locale/is/integrations.json | 9 +- .../dashboard/i18n/locale/is/login.json | 16 ++-- .../dashboard/i18n/locale/is/macros.json | 2 +- .../i18n/locale/is/resetPassword.json | 2 +- .../i18n/locale/is/setNewPassword.json | 4 +- .../dashboard/i18n/locale/is/settings.json | 8 +- .../i18n/locale/is/teamsSettings.json | 2 +- .../i18n/locale/it/attributesMgmt.json | 4 +- .../i18n/locale/it/integrations.json | 7 ++ .../i18n/locale/ja/attributesMgmt.json | 4 +- .../i18n/locale/ja/integrations.json | 7 ++ .../i18n/locale/ka/attributesMgmt.json | 4 +- .../i18n/locale/ka/integrations.json | 7 ++ .../i18n/locale/ko/attributesMgmt.json | 4 +- .../i18n/locale/ko/integrations.json | 7 ++ .../i18n/locale/lt/attributesMgmt.json | 4 +- .../i18n/locale/lt/integrations.json | 7 ++ .../i18n/locale/lv/attributesMgmt.json | 4 +- .../i18n/locale/lv/integrations.json | 7 ++ .../i18n/locale/ml/attributesMgmt.json | 4 +- .../i18n/locale/ml/integrations.json | 7 ++ .../i18n/locale/ms/attributesMgmt.json | 4 +- .../i18n/locale/ms/integrations.json | 7 ++ .../i18n/locale/ne/attributesMgmt.json | 4 +- .../i18n/locale/ne/integrations.json | 7 ++ .../i18n/locale/nl/attributesMgmt.json | 4 +- .../dashboard/i18n/locale/nl/bulkActions.json | 4 +- .../dashboard/i18n/locale/nl/campaign.json | 4 +- .../dashboard/i18n/locale/nl/cannedMgmt.json | 2 +- .../dashboard/i18n/locale/nl/contact.json | 80 +++++++++--------- .../i18n/locale/nl/conversation.json | 22 ++--- .../dashboard/i18n/locale/nl/helpCenter.json | 4 +- .../i18n/locale/nl/integrationApps.json | 2 +- .../i18n/locale/nl/integrations.json | 7 ++ .../dashboard/i18n/locale/nl/macros.json | 6 +- .../dashboard/i18n/locale/nl/report.json | 46 +++++------ .../dashboard/i18n/locale/nl/settings.json | 10 +-- .../i18n/locale/nl/whatsappTemplates.json | 24 +++--- .../i18n/locale/no/attributesMgmt.json | 4 +- .../i18n/locale/no/integrations.json | 7 ++ .../i18n/locale/pl/attributesMgmt.json | 4 +- .../i18n/locale/pl/integrations.json | 7 ++ .../i18n/locale/pt/attributesMgmt.json | 4 +- .../i18n/locale/pt/integrations.json | 7 ++ .../i18n/locale/pt_BR/attributesMgmt.json | 8 +- .../dashboard/i18n/locale/pt_BR/chatlist.json | 4 +- .../dashboard/i18n/locale/pt_BR/contact.json | 16 ++-- .../i18n/locale/pt_BR/conversation.json | 4 +- .../i18n/locale/pt_BR/integrations.json | 7 ++ .../dashboard/i18n/locale/pt_BR/settings.json | 12 +-- .../i18n/locale/ro/attributesMgmt.json | 4 +- .../i18n/locale/ro/integrations.json | 7 ++ .../i18n/locale/ru/attributesMgmt.json | 4 +- .../i18n/locale/ru/integrations.json | 7 ++ .../i18n/locale/sk/attributesMgmt.json | 4 +- .../i18n/locale/sk/integrations.json | 7 ++ .../i18n/locale/sr/attributesMgmt.json | 4 +- .../i18n/locale/sr/integrations.json | 7 ++ .../i18n/locale/sv/attributesMgmt.json | 4 +- .../i18n/locale/sv/integrations.json | 7 ++ .../i18n/locale/ta/attributesMgmt.json | 4 +- .../i18n/locale/ta/integrations.json | 7 ++ .../i18n/locale/th/attributesMgmt.json | 4 +- .../i18n/locale/th/integrations.json | 7 ++ .../i18n/locale/tr/attributesMgmt.json | 4 +- .../i18n/locale/tr/integrations.json | 7 ++ .../i18n/locale/uk/attributesMgmt.json | 4 +- .../i18n/locale/uk/integrations.json | 7 ++ .../i18n/locale/ur/attributesMgmt.json | 4 +- .../i18n/locale/ur/integrations.json | 7 ++ .../i18n/locale/ur_IN/attributesMgmt.json | 4 +- .../i18n/locale/ur_IN/integrations.json | 7 ++ .../i18n/locale/vi/attributesMgmt.json | 4 +- .../i18n/locale/vi/integrations.json | 7 ++ .../i18n/locale/zh_CN/attributesMgmt.json | 4 +- .../i18n/locale/zh_CN/integrations.json | 7 ++ .../i18n/locale/zh_TW/attributesMgmt.json | 4 +- .../i18n/locale/zh_TW/integrations.json | 7 ++ app/javascript/widget/i18n/locale/ar.json | 6 ++ app/javascript/widget/i18n/locale/bg.json | 6 ++ app/javascript/widget/i18n/locale/ca.json | 6 ++ app/javascript/widget/i18n/locale/cs.json | 6 ++ app/javascript/widget/i18n/locale/da.json | 6 ++ app/javascript/widget/i18n/locale/de.json | 6 ++ app/javascript/widget/i18n/locale/el.json | 6 ++ app/javascript/widget/i18n/locale/en.json | 6 -- app/javascript/widget/i18n/locale/es.json | 6 ++ app/javascript/widget/i18n/locale/fa.json | 6 ++ app/javascript/widget/i18n/locale/fi.json | 6 ++ app/javascript/widget/i18n/locale/fr.json | 6 ++ app/javascript/widget/i18n/locale/he.json | 6 ++ app/javascript/widget/i18n/locale/hi.json | 6 ++ app/javascript/widget/i18n/locale/hu.json | 6 ++ app/javascript/widget/i18n/locale/id.json | 6 ++ app/javascript/widget/i18n/locale/is.json | 6 ++ app/javascript/widget/i18n/locale/it.json | 6 ++ app/javascript/widget/i18n/locale/ja.json | 6 ++ app/javascript/widget/i18n/locale/ka.json | 6 ++ app/javascript/widget/i18n/locale/ko.json | 6 ++ app/javascript/widget/i18n/locale/lt.json | 6 ++ app/javascript/widget/i18n/locale/lv.json | 6 ++ app/javascript/widget/i18n/locale/ml.json | 6 ++ app/javascript/widget/i18n/locale/ms.json | 6 ++ app/javascript/widget/i18n/locale/ne.json | 6 ++ app/javascript/widget/i18n/locale/nl.json | 6 ++ app/javascript/widget/i18n/locale/no.json | 6 ++ app/javascript/widget/i18n/locale/pl.json | 6 ++ app/javascript/widget/i18n/locale/pt.json | 6 ++ app/javascript/widget/i18n/locale/pt_BR.json | 6 ++ app/javascript/widget/i18n/locale/ro.json | 6 ++ app/javascript/widget/i18n/locale/ru.json | 6 ++ app/javascript/widget/i18n/locale/sk.json | 6 ++ app/javascript/widget/i18n/locale/sr.json | 6 ++ app/javascript/widget/i18n/locale/sv.json | 6 ++ app/javascript/widget/i18n/locale/ta.json | 6 ++ app/javascript/widget/i18n/locale/th.json | 6 ++ app/javascript/widget/i18n/locale/tr.json | 6 ++ app/javascript/widget/i18n/locale/uk.json | 6 ++ app/javascript/widget/i18n/locale/ur.json | 6 ++ app/javascript/widget/i18n/locale/ur_IN.json | 6 ++ app/javascript/widget/i18n/locale/vi.json | 6 ++ app/javascript/widget/i18n/locale/zh_CN.json | 6 ++ app/javascript/widget/i18n/locale/zh_TW.json | 6 ++ config/locales/ar.yml | 6 ++ config/locales/bg.yml | 6 ++ config/locales/ca.yml | 6 ++ config/locales/cs.yml | 6 ++ config/locales/da.yml | 6 ++ config/locales/de.yml | 6 ++ config/locales/el.yml | 6 ++ config/locales/es.yml | 6 ++ config/locales/fa.yml | 6 ++ config/locales/fi.yml | 6 ++ config/locales/fr.yml | 6 ++ config/locales/he.yml | 6 ++ config/locales/hi.yml | 6 ++ config/locales/hu.yml | 6 ++ config/locales/id.yml | 6 ++ config/locales/is.yml | 6 ++ config/locales/it.yml | 6 ++ config/locales/ja.yml | 6 ++ config/locales/ka.yml | 6 ++ config/locales/ko.yml | 6 ++ config/locales/lt.yml | 6 ++ config/locales/lv.yml | 6 ++ config/locales/ml.yml | 6 ++ config/locales/ms.yml | 6 ++ config/locales/ne.yml | 6 ++ config/locales/nl.yml | 6 ++ config/locales/no.yml | 6 ++ config/locales/pl.yml | 6 ++ config/locales/pt.yml | 6 ++ config/locales/pt_BR.yml | 6 ++ config/locales/ro.yml | 6 ++ config/locales/ru.yml | 6 ++ config/locales/sk.yml | 6 ++ config/locales/sr.yml | 6 ++ config/locales/sv.yml | 6 ++ config/locales/ta.yml | 6 ++ config/locales/th.yml | 6 ++ config/locales/tr.yml | 6 ++ config/locales/uk.yml | 6 ++ config/locales/ur.yml | 6 ++ config/locales/ur_IN.yml | 6 ++ config/locales/vi.yml | 6 ++ config/locales/zh_CN.yml | 6 ++ config/locales/zh_TW.yml | 6 ++ 208 files changed, 1126 insertions(+), 296 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json index 33338d3e5..0aff8adad 100644 --- a/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "تم إضافة سمة مخصصة بنجاح", - "ERROR_MESSAGE": "تعذر إنشاء سمة مخصصة، الرجاء المحاولة مرة أخرى لاحقاً" + "SUCCESS_MESSAGE": "تم إضافة سمة مخصصة بنجاح!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ar/integrations.json b/app/javascript/dashboard/i18n/locale/ar/integrations.json index 299294819..a7fb6e5a7 100644 --- a/app/javascript/dashboard/i18n/locale/ar/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ar/integrations.json @@ -76,6 +76,13 @@ "BODY": "

ستتم الآن مزامنة جميع المحادثات الواردة إلى محادثة الزبائن داخل مكان العمل الخاص بك.

الرد على موضوع محادثة في محادثة العملاء قناة الركود سوف تقوم بإنشاء رد على العميل من خلال المحادثة.

ابدأ الردود ب ملاحظة: لإنشاء ملاحظات خاصة بدلاً من الردود.

إذا كان للرد على 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" + }, "DELETE": { "BUTTON_TEXT": "حذف", "API": { diff --git a/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json index 4f2789d92..de9fb8b16 100644 --- a/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/bg/integrations.json b/app/javascript/dashboard/i18n/locale/bg/integrations.json index c8966f02e..5e9751a48 100644 --- a/app/javascript/dashboard/i18n/locale/bg/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bg/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Изтрий", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json index 310a84d3b..142f50c15 100644 --- a/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ca/integrations.json b/app/javascript/dashboard/i18n/locale/ca/integrations.json index 4c0255b33..0f4a6baab 100644 --- a/app/javascript/dashboard/i18n/locale/ca/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ca/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Suprimeix", "API": { diff --git a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json index 22ce23b06..3cd8c1c8b 100644 --- a/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/cs/integrations.json b/app/javascript/dashboard/i18n/locale/cs/integrations.json index 9a2bd024a..2af657142 100644 --- a/app/javascript/dashboard/i18n/locale/cs/integrations.json +++ b/app/javascript/dashboard/i18n/locale/cs/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Vymazat", "API": { diff --git a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json index b6eae9c9e..2bfb67b9f 100644 --- a/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Brugerdefineret attribut blev tilføjet", - "ERROR_MESSAGE": "Kunne ikke oprette en brugerdefineret attribut. Prøv igen senere" + "SUCCESS_MESSAGE": "Brugerdefineret attribut blev tilføjet!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json index d9ecbfbcd..bdc320172 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrations.json +++ b/app/javascript/dashboard/i18n/locale/da/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot vil nu synkronisere alle indgående samtaler ind i kundesamtaler kanalen i din slack arbejdsplads.

Svar på en samtaletråd i kunde-samtaler slack kanal vil skabe et svar tilbage til kunden gennem chatwoot.

Start svarene med note: for at oprette private noter i stedet for svar.

Hvis replikatoren på slack har en agentprofil i chatwoot under samme e-mail, vil svarene blive tilknyttet i overensstemmelse hermed.

Når replikatoren ikke har en tilknyttet agentprofil, vil svarene blive fremsat fra bot-profilen.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Slet", "API": { diff --git a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json index d16090052..cbe7475ed 100644 --- a/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Benutzerdefiniertes Attribut erfolgreich hinzugefügt", - "ERROR_MESSAGE": "Konnte kein benutzerdefiniertes Attribut erstellen. Bitte versuchen Sie es später erneut" + "SUCCESS_MESSAGE": "Benutzerdefiniertes Attribut erfolgreich hinzugefügt!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json index 767598ef0..776cef26c 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrations.json +++ b/app/javascript/dashboard/i18n/locale/de/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot wird nun alle eingehenden Konversationen in den Kundengespräche Channel innerhalb Ihres Slack Arbeitsplatzes synchronisieren.

Wenn Sie in Kunden-Konversationen antworten, wird der Slack Kanal eine Antwort an den Kunden durch Chat erzeugen.

Starten Sie die Antworten mit Notiz: um private Notizen anstatt Antworten zu erstellen.

Wenn der Replier auf Slack ein Agentenprofil im Chatwoot unter der gleichen E-Mail hat, werden die Antworten entsprechend assoziiert.

Wenn der Replier kein Agentenprofil hat, werden die Antworten aus dem Bot-Profil getätigt.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Löschen", "API": { diff --git a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json index 78fdf1d3b..e3850ed07 100644 --- a/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Η ιδιότητα προστέθηκε με επιτυχία", - "ERROR_MESSAGE": "Δεν ήταν δυνατή η δημιουργία Ιδιότητας, Παρακαλώ δοκιμάστε ξανά αργότερα" + "SUCCESS_MESSAGE": "Η ιδιότητα προστέθηκε με επιτυχία!", + "ERROR_MESSAGE": "Δεν ήταν δυνατή η δημιουργία Ιδιότητας, Παρακαλώ δοκιμάστε ξανά αργότερα." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/el/integrations.json b/app/javascript/dashboard/i18n/locale/el/integrations.json index b4a9e2c3f..7bbb23d35 100644 --- a/app/javascript/dashboard/i18n/locale/el/integrations.json +++ b/app/javascript/dashboard/i18n/locale/el/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Το Chatwoot θα συγχρονίσει τώρα όλες τις εισερχόμενες συνομιλίες στο κανάλι πελατών-συνομιλιών μέσα στο slack χώρο εργασίας σας.

Απάντηση σε μια συνομιλία από συνομιλίες πελατών το κανάλι slack θα δημιουργήσει μια απάντηση για στον πελάτη μέσω chatwoot.

Ξεκινήστε τις απαντήσεις με το note: για να δημιουργήσετε ιδιωτικές σημειώσεις αντί για απαντήσεις.

Αν ο χρήστης στο slack έχει προφίλ πράκτορα στο chatwoot με το ίδιο email, οι απαντήσεις θα συσχετιστούν ανάλογα.

Εφόσον δεν έχει προφίλ συνδεδεμένου πράκτορα, οι απαντήσεις θα γίνουν από το προφίλ bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Διαγραφή", "API": { diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index 489c9349f..505ed8e03 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -282,7 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { - "TOGGLE_MODAL": "View all shortcuts", + "TOGGLE_MODAL": "Εμφάνιση όλων των συντομεύσεων", "TITLE": { "OPEN_CONVERSATION": "Άνοιγμα συνομιλίας", "RESOLVE_AND_NEXT": "Επίλυση και μετακίνηση στην επόμενη", diff --git a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json index 3875f6241..1a8723fd0 100644 --- a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Atributo personalizado añadido correctamente", - "ERROR_MESSAGE": "No se pudo crear un atributo personalizado, por favor inténtalo de nuevo" + "SUCCESS_MESSAGE": "Atributo personalizado añadido correctamente!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/es/integrations.json b/app/javascript/dashboard/i18n/locale/es/integrations.json index 8d5eed664..01d9ecf5b 100644 --- a/app/javascript/dashboard/i18n/locale/es/integrations.json +++ b/app/javascript/dashboard/i18n/locale/es/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot ahora sincronizará todas las conversaciones entrantes en el canal de conversaciones del cliente dentro de tu lugar de trabajo slack.

Respondiendo a un tema de conversación en conversaciones de clientes canal de slack creará una respuesta al cliente a través de chatwoot.

Inicie las respuestas con nota: para crear notas privadas en lugar de respuestas.

Si el respondente de slack tiene un perfil de agente en el chatwoot bajo el mismo correo electrónico, las respuestas se asociarán en consecuencia.

Cuando el replicador no tiene un perfil de agente asociado, las respuestas se harán con el perfil del bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Eliminar", "API": { diff --git a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json index 3f45ac578..8783a53fe 100644 --- a/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "ویژگی سفارشی با موفقیت اضافه شد", - "ERROR_MESSAGE": "نمی‌توان ویژگی سفارشی ایجاد کرد، لطفا بعداً دوباره امتحان کنید" + "SUCCESS_MESSAGE": "ویژگی سفارشی با موفقیت اضافه شد!", + "ERROR_MESSAGE": "نمی‌توان یک ویژگی سفارشی ایجاد کرد. لطفا بعدا دوباره امتحان کنید." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fa/integrations.json b/app/javascript/dashboard/i18n/locale/fa/integrations.json index 12f72eb4f..ebd1a67c0 100644 --- a/app/javascript/dashboard/i18n/locale/fa/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fa/integrations.json @@ -76,6 +76,13 @@ "BODY": "

ما اکنون تمام مکالمات ورودی را در کانال گفتگوهای مشتری داخل محل کار شما همگام سازی می کنیم.

پاسخ به یک رشته مکالمه در کانال مکالمه مشتری- مکالمات از طریق برنامه پاسخی به مشتری ایجاد می کند.

پاسخ ها را با شروع کنید توجه: برای ایجاد یادداشت های خصوصی به جای پاسخ ها.

اگر پاسخ دهنده در 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" + }, "DELETE": { "BUTTON_TEXT": "حذف", "API": { diff --git a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json index 7f1592e2b..6e6ef580c 100644 --- a/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fi/integrations.json b/app/javascript/dashboard/i18n/locale/fi/integrations.json index f95b0ae4f..a2d8b2ca6 100644 --- a/app/javascript/dashboard/i18n/locale/fi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fi/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Poista", "API": { diff --git a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json index 529a7e2ce..472bc6a22 100644 --- a/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/fr/integrations.json b/app/javascript/dashboard/i18n/locale/fr/integrations.json index 97a21aa66..e37ff95fb 100644 --- a/app/javascript/dashboard/i18n/locale/fr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fr/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot va maintenant synchroniser toutes les conversations entrantes dans le canal customer-conversations à l'intérieur de Workspace Sack.

Répondre à un fil de conversation dans le canal Slack customer-conversations créera une réponse au client via chatwoot.

Commencez les réponses avec note : pour créer des notes privées au lieu de réponses.

Si le répondant sur Slack a un profil d'agent dans le chat avec la même adresse email, les réponses seront associées en conséquence.

Lorsque le répondant n'a pas de profil d'agent associé, les réponses seront faites avec le profil du bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Supprimer", "API": { diff --git a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json index a60c05396..378001afb 100644 --- a/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json index c8a395c86..226de4ce8 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrations.json +++ b/app/javascript/dashboard/i18n/locale/he/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot תסנכרן כעת את כל השיחות הנכנסות לערוץ שיחות-לקוח בתוך מקום העבודה הרפוי שלך.

משיב ל- שרשור שיחה בשיחות לקוח ערוץ רפוי ייצור תגובה חזרה ללקוח באמצעות chatwoot.

התחל את התשובות עם הערה: כדי ליצור הערות פרטיות במקום תשובות.

אם למשיב ב-slack יש פרופיל סוכן ב-chatwoot תחת אותו דוא\"ל, התשובות ישויכו בהתאם. p>

כאשר למשיב אין פרופיל סוכן משויך, התשובות ייעשו מפרופיל הבוט.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "מחק", "API": { diff --git a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json index ff4904c34..2a9ea7de3 100644 --- a/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hi/integrations.json b/app/javascript/dashboard/i18n/locale/hi/integrations.json index 6c6cecde9..833b72ed4 100644 --- a/app/javascript/dashboard/i18n/locale/hi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hi/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json index 0d4870c74..e7ab3ef87 100644 --- a/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/hu/integrations.json b/app/javascript/dashboard/i18n/locale/hu/integrations.json index e7fa6bffb..e126dcbbb 100644 --- a/app/javascript/dashboard/i18n/locale/hu/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hu/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Törlés", "API": { diff --git a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json index 066ccba79..963b5f9d2 100644 --- a/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/id/integrations.json b/app/javascript/dashboard/i18n/locale/id/integrations.json index e755b4ab5..b56b18cde 100644 --- a/app/javascript/dashboard/i18n/locale/id/integrations.json +++ b/app/javascript/dashboard/i18n/locale/id/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Hapus", "API": { diff --git a/app/javascript/dashboard/i18n/locale/is/agentBots.json b/app/javascript/dashboard/i18n/locale/is/agentBots.json index aba78be01..c9fc34493 100644 --- a/app/javascript/dashboard/i18n/locale/is/agentBots.json +++ b/app/javascript/dashboard/i18n/locale/is/agentBots.json @@ -23,7 +23,7 @@ "BOT_CONFIGURATION": { "TITLE": "Select an agent bot", "DESC": "You can set an agent bot from the list to this inbox. The bot can initially handle the conversation and transfer it to an agent when needed.", - "SUBMIT": "Update", + "SUBMIT": "Uppfæra", "SUCCESS_MESSAGE": "Successfully updated the agent bot", "ERROR_MESSAGE": "Could not update the agent bot, please try again later", "SELECT_PLACEHOLDER": "Select Bot" diff --git a/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json index 472316ed8..5a7140287 100644 --- a/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Gat ekki búið til sérsniðna eiginleika, vinsamlegast reyndu aftur síðar" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { @@ -62,7 +62,7 @@ }, "EDIT": { "TITLE": "Edit Custom Attribute", - "UPDATE_BUTTON_TEXT": "Update", + "UPDATE_BUTTON_TEXT": "Uppfæra", "TYPE": { "LIST": { "LABEL": "List Values", diff --git a/app/javascript/dashboard/i18n/locale/is/automation.json b/app/javascript/dashboard/i18n/locale/is/automation.json index 9676fd033..49815e07c 100644 --- a/app/javascript/dashboard/i18n/locale/is/automation.json +++ b/app/javascript/dashboard/i18n/locale/is/automation.json @@ -64,7 +64,7 @@ }, "EDIT": { "TITLE": "Edit Automation Rule", - "SUBMIT": "Update", + "SUBMIT": "Uppfæra", "CANCEL_BUTTON_TEXT": "Hætta við", "API": { "SUCCESS_MESSAGE": "Automation rule updated successfully", @@ -104,8 +104,8 @@ "DEACTIVATION_SUCCESFUL": "Automation Rule Deactivated Successfully", "ACTIVATION_ERROR": "Gat ekki virkjað sjálfvirkni, vinsamlegast reyndu aftur síðar", "DEACTIVATION_ERROR": "Gat ekki slökkt á sjálfvirkni, vinsamlegast reyndu aftur síðar", - "CONFIRMATION_LABEL": "Yes", - "CANCEL_LABEL": "No" + "CONFIRMATION_LABEL": "Já", + "CANCEL_LABEL": "Nei" }, "ATTACHMENT": { "UPLOAD_ERROR": "Gat ekki hlaðið upp viðhengi, vinsamlegast reyndu aftur", diff --git a/app/javascript/dashboard/i18n/locale/is/bulkActions.json b/app/javascript/dashboard/i18n/locale/is/bulkActions.json index e72234506..ef77739c8 100644 --- a/app/javascript/dashboard/i18n/locale/is/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/is/bulkActions.json @@ -6,7 +6,7 @@ "UNASSIGN_CONFIRMATION_LABEL": "Ertu viss um að hætta við úthlutun %{conversationCount} %{conversationLabel}?", "GO_BACK_LABEL": "Go back", "ASSIGN_LABEL": "Úthluta", - "YES": "Yes", + "YES": "Já", "ASSIGN_AGENT_TOOLTIP": "Assign Agent", "ASSIGN_TEAM_TOOLTIP": "Assign team", "ASSIGN_SUCCESFUL": "Conversations assigned successfully", diff --git a/app/javascript/dashboard/i18n/locale/is/campaign.json b/app/javascript/dashboard/i18n/locale/is/campaign.json index aad2f6f3e..0b683498d 100644 --- a/app/javascript/dashboard/i18n/locale/is/campaign.json +++ b/app/javascript/dashboard/i18n/locale/is/campaign.json @@ -77,7 +77,7 @@ }, "EDIT": { "TITLE": "Edit campaign", - "UPDATE_BUTTON_TEXT": "Update", + "UPDATE_BUTTON_TEXT": "Uppfæra", "API": { "SUCCESS_MESSAGE": "Campaign updated successfully", "ERROR_MESSAGE": "There was an error, please try again" diff --git a/app/javascript/dashboard/i18n/locale/is/contact.json b/app/javascript/dashboard/i18n/locale/is/contact.json index cea524c18..f98dd9335 100644 --- a/app/javascript/dashboard/i18n/locale/is/contact.json +++ b/app/javascript/dashboard/i18n/locale/is/contact.json @@ -161,7 +161,7 @@ }, "NEW_CONVERSATION": { "BUTTON_LABEL": "Hefja samtal", - "TITLE": "New conversation", + "TITLE": "Nýtt samtal", "DESC": "Byrjaðu nýtt samtal með því að senda ný skilaboð.", "NO_INBOX": "Gat ekki fundið innhólf til að hefja nýtt samtal við þennan tengilið.", "FORM": { @@ -203,7 +203,7 @@ "NO_CONTACTS": "There are no available contacts", "TABLE_HEADER": { "NAME": "Nafn", - "PHONE_NUMBER": "Phone Number", + "PHONE_NUMBER": "Símanúmer", "CONVERSATIONS": "Samtöl", "LAST_ACTIVITY": "Last Activity", "COUNTRY": "Country", diff --git a/app/javascript/dashboard/i18n/locale/is/contactFilters.json b/app/javascript/dashboard/i18n/locale/is/contactFilters.json index e761dd50f..2dc22d6e7 100644 --- a/app/javascript/dashboard/i18n/locale/is/contactFilters.json +++ b/app/javascript/dashboard/i18n/locale/is/contactFilters.json @@ -27,7 +27,7 @@ }, "ATTRIBUTES": { "NAME": "Nafn", - "EMAIL": "Email", + "EMAIL": "Tölvupóstfang", "PHONE_NUMBER": "Símanúmer", "IDENTIFIER": "Identifier", "CITY": "City", diff --git a/app/javascript/dashboard/i18n/locale/is/generalSettings.json b/app/javascript/dashboard/i18n/locale/is/generalSettings.json index 43d83facf..016ff0eaa 100644 --- a/app/javascript/dashboard/i18n/locale/is/generalSettings.json +++ b/app/javascript/dashboard/i18n/locale/is/generalSettings.json @@ -1,30 +1,30 @@ { "GENERAL_SETTINGS": { - "TITLE": "Account settings", - "SUBMIT": "Update settings", - "BACK": "Back", + "TITLE": "Aðgangs stillingar", + "SUBMIT": "Uppfæra stillingar", + "BACK": "Til baka", "UPDATE": { - "ERROR": "Could not update settings, try again!", - "SUCCESS": "Successfully updated account settings" + "ERROR": "Gat ekki uppfært stillingar, reyndu aftur!", + "SUCCESS": "Tókst að uppfæra stillingar" }, "FORM": { - "ERROR": "Please fix form errors", + "ERROR": "Vinsamlegast lagfærðu villurnar", "GENERAL_SECTION": { - "TITLE": "General settings", + "TITLE": "Almennar stillingar", "NOTE": "" }, "ACCOUNT_ID": { - "TITLE": "Account ID", + "TITLE": "Númer aðgangs", "NOTE": "Þetta auðkenni er nauðsynlegt ef þú ert að byggja upp API byggða samþættingu" }, "NAME": { - "LABEL": "Account name", - "PLACEHOLDER": "Your account name", - "ERROR": "Please enter a valid account name" + "LABEL": "Aðgangsnafn", + "PLACEHOLDER": "Þitt aðgangsnafn", + "ERROR": "Vinsamlegast sláðu inn samþykkt aðgangsnafn" }, "LANGUAGE": { - "LABEL": "Site language", - "PLACEHOLDER": "Your account name", + "LABEL": "Tungumál síðu", + "PLACEHOLDER": "Þitt aðgangsnafn", "ERROR": "" }, "DOMAIN": { @@ -33,8 +33,8 @@ "ERROR": "" }, "SUPPORT_EMAIL": { - "LABEL": "Support Email", - "PLACEHOLDER": "Your company's support email", + "LABEL": "Þjónustu tölvupóstur", + "PLACEHOLDER": "Þjónustu tölvupóstur fyrirtækisins", "ERROR": "" }, "AUTO_RESOLVE_DURATION": { @@ -48,57 +48,57 @@ } }, "UPDATE_CHATWOOT": "Uppfærsla %{latestChatwootVersion} fyrir Chatwoot er fáanleg. Vinsamlegast uppfærðu tilvikið þitt.", - "LEARN_MORE": "Learn more" + "LEARN_MORE": "Læra meira" }, "FORMS": { "MULTISELECT": { - "ENTER_TO_SELECT": "Press enter to select", - "ENTER_TO_REMOVE": "Press enter to remove", - "SELECT_ONE": "Select one", - "SELECT": "Select" + "ENTER_TO_SELECT": "Enter til þess að velja", + "ENTER_TO_REMOVE": "Enter til þess að fjarlægja", + "SELECT_ONE": "Veldu eitt", + "SELECT": "Velja" } }, "NOTIFICATIONS_PAGE": { - "HEADER": "Notifications", - "MARK_ALL_DONE": "Mark All Done", - "DELETE_TITLE": "deleted", + "HEADER": "Skilaboð", + "MARK_ALL_DONE": "Merkja allt tilbúð", + "DELETE_TITLE": "eyða", "UNREAD_NOTIFICATION": { - "TITLE": "Unread Notifications", - "ALL_NOTIFICATIONS": "View all notifications", - "LOADING_UNREAD_MESSAGE": "Loading unread notifications...", - "EMPTY_MESSAGE": "You have no unread notifications" + "TITLE": "Ólesnar tilkynningar", + "ALL_NOTIFICATIONS": "Skoða allar tilkynningar", + "LOADING_UNREAD_MESSAGE": "Hleð ólesnum skilaboðum...", + "EMPTY_MESSAGE": "Þú átt enginn ólesin skilaboð" }, "LIST": { - "LOADING_MESSAGE": "Loading notifications...", - "404": "No Notifications", + "LOADING_MESSAGE": "Hleð skilaboðum...", + "404": "Engin skilaboð", "TABLE_HEADER": [ "Nafn", - "Phone Number", + "Símanúmer", "Samtöl", - "Last Contacted" + "Síðast samband" ] }, "TYPE_LABEL": { - "conversation_creation": "New conversation", - "conversation_assignment": "Conversation Assigned", - "assigned_conversation_new_message": "New Message", - "conversation_mention": "Mention" + "conversation_creation": "Nýtt samtal", + "conversation_assignment": "Samtali úthlutað", + "assigned_conversation_new_message": "Nýtt skilaboð", + "conversation_mention": "Nefna" } }, "NETWORK": { "NOTIFICATION": { - "TEXT": "Disconnected from Chatwoot" + "TEXT": "Aftengdur Chatwoot" }, "BUTTON": { - "REFRESH": "Refresh" + "REFRESH": "Uppfæra" } }, "COMMAND_BAR": { - "SEARCH_PLACEHOLDER": "Search or jump to", + "SEARCH_PLACEHOLDER": "Leita eða stökkva til", "SECTIONS": { - "GENERAL": "General", - "REPORTS": "Reports", - "CONVERSATION": "Conversation", + "GENERAL": "Almennar", + "REPORTS": "Skýrslur", + "CONVERSATION": "Samtal", "CHANGE_ASSIGNEE": "Breyta úthlutun", "CHANGE_TEAM": "Breyta Teymi", "ADD_LABEL": "Merkja samtalið", diff --git a/app/javascript/dashboard/i18n/locale/is/helpCenter.json b/app/javascript/dashboard/i18n/locale/is/helpCenter.json index 53e548a5b..73d9e2bdf 100644 --- a/app/javascript/dashboard/i18n/locale/is/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/is/helpCenter.json @@ -3,7 +3,7 @@ "HEADER": { "FILTER": "Filter by", "SORT": "Sort by", - "SETTINGS_BUTTON": "Settings", + "SETTINGS_BUTTON": "Stillingar", "NEW_BUTTON": "New Article", "DROPDOWN_OPTIONS": { "PUBLISHED": "Published", @@ -86,7 +86,7 @@ "COUNT_LABEL": "articles", "ADD": "Add locale", "VISIT": "Visit site", - "SETTINGS": "Settings", + "SETTINGS": "Stillingar", "DELETE": "Eyða" }, "PORTAL_CONFIG": { @@ -181,7 +181,7 @@ } ], "CREATE_FLOW_PAGE": { - "BACK_BUTTON": "Back", + "BACK_BUTTON": "Til baka", "BASIC_SETTINGS_PAGE": { "HEADER": "Create Portal", "TITLE": "Help center information", diff --git a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json index b681e3a78..2977c7fd4 100644 --- a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json @@ -421,11 +421,11 @@ "PRE_CHAT_FORM": "Pre Chat Form", "BUSINESS_HOURS": "Business Hours", "WIDGET_BUILDER": "Widget Builder", - "BOT_CONFIGURATION": "Bot Configuration" + "BOT_CONFIGURATION": "Bot stillingar" }, - "SETTINGS": "Settings", + "SETTINGS": "Stillingar", "FEATURES": { - "LABEL": "Features", + "LABEL": "Fídusar", "DISPLAY_FILE_PICKER": "Display file picker on the widget", "DISPLAY_EMOJI_PICKER": "Display emoji picker on the widget", "ALLOW_END_CONVERSATION": "Leyfa notendum að ljúka samtali úr græjunni" @@ -437,7 +437,7 @@ "INBOX_AGENTS_SUB_TEXT": "Add or remove agents from this inbox", "AGENT_ASSIGNMENT": "Conversation Assignment", "AGENT_ASSIGNMENT_SUB_TEXT": "Update conversation assignment settings", - "UPDATE": "Update", + "UPDATE": "Uppfæra", "ENABLE_EMAIL_COLLECT_BOX": "Enable email collect box", "ENABLE_EMAIL_COLLECT_BOX_SUB_TEXT": "Virkja eða slökkva á söfnunarreit tölvupósts í nýju samtali", "AUTO_ASSIGNMENT": "Enable auto assignment", @@ -483,13 +483,13 @@ "PLACE_HOLDER": "Placeholder", "KEY": "Key", "TYPE": "Type", - "REQUIRED": "Required" + "REQUIRED": "Nauðsynlegt" }, "ENABLE": { "LABEL": "Enable pre chat form", "OPTIONS": { - "ENABLED": "Yes", - "DISABLED": "No" + "ENABLED": "Já", + "DISABLED": "Nei" } }, "PRE_CHAT_MESSAGE": { diff --git a/app/javascript/dashboard/i18n/locale/is/integrations.json b/app/javascript/dashboard/i18n/locale/is/integrations.json index 9b0d0ae2d..ff22d3649 100644 --- a/app/javascript/dashboard/i18n/locale/is/integrations.json +++ b/app/javascript/dashboard/i18n/locale/is/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot mun nú samstilla öll innkomin samtöl inn á customer-conversations á Slack vinnusvæðinu þínu.

Að svara samtalsþræði í customer-conversations Slack rás mun senda svar til viðskiptavinar í gegnum chatwoot.

Byrjaðu svörin með note: til að búa til einkaglósur í stað svara.

Ef svarandinn á Slack er með skráðann þjónustufulltrúa í chatwoot undir sama netfangi verða svörin tengd í samræmi við það.

Þegar svarandinn er ekki með tengdan þjónustufulltrúa verða svörin gerð úr spjallmanna prófílnum.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Eyða", "API": { @@ -117,7 +124,7 @@ }, "UPDATE": { "HEADER": "Edit dashboard app", - "FORM_SUBMIT": "Update", + "FORM_SUBMIT": "Uppfæra", "FORM_CANCEL": "Hætta við", "API_SUCCESS": "Dashboard app updated successfully", "API_ERROR": "Ekki tókst að uppfæra forrit. Vinsamlegast reyndu aftur síðar" diff --git a/app/javascript/dashboard/i18n/locale/is/login.json b/app/javascript/dashboard/i18n/locale/is/login.json index dd8eb1256..8ce5267d8 100644 --- a/app/javascript/dashboard/i18n/locale/is/login.json +++ b/app/javascript/dashboard/i18n/locale/is/login.json @@ -2,20 +2,20 @@ "LOGIN": { "TITLE": "Login to Chatwoot", "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "Email eg: someone@example.com" + "LABEL": "Tölvupóstfang", + "PLACEHOLDER": "Tölvupóstfang t.d. someone@example.com" }, "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password" + "LABEL": "Lykilorð", + "PLACEHOLDER": "Lykilorð" }, "API": { - "SUCCESS_MESSAGE": "Login Successful", + "SUCCESS_MESSAGE": "Innskráning tókst", "ERROR_MESSAGE": "Náði ekki að tengjast við netþjóna Woot, vinsamlegast reynið aftur", "UNAUTH": "Notandanafn / lykilorð rangt. Vinsamlegast reyndu aftur" }, - "FORGOT_PASSWORD": "Forgot your password?", - "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "FORGOT_PASSWORD": "Gleymt lykilorð?", + "CREATE_NEW_ACCOUNT": "Stofna nýjan aðgang", + "SUBMIT": "Innskráning" } } diff --git a/app/javascript/dashboard/i18n/locale/is/macros.json b/app/javascript/dashboard/i18n/locale/is/macros.json index 913545bfb..6896ea953 100644 --- a/app/javascript/dashboard/i18n/locale/is/macros.json +++ b/app/javascript/dashboard/i18n/locale/is/macros.json @@ -37,7 +37,7 @@ "CONFIRM": { "MESSAGE": "Ertu viss um að þú viljir eyða", "YES": "Yes, Delete", - "NO": "No" + "NO": "Nei" }, "API": { "SUCCESS_MESSAGE": "Macro deleted successfully", diff --git a/app/javascript/dashboard/i18n/locale/is/resetPassword.json b/app/javascript/dashboard/i18n/locale/is/resetPassword.json index 7262f70a7..4f3067751 100644 --- a/app/javascript/dashboard/i18n/locale/is/resetPassword.json +++ b/app/javascript/dashboard/i18n/locale/is/resetPassword.json @@ -2,7 +2,7 @@ "RESET_PASSWORD": { "TITLE": "Endurstilla lykilorð", "EMAIL": { - "LABEL": "Email", + "LABEL": "Tölvupóstfang", "PLACEHOLDER": "Please enter your email", "ERROR": "Please enter a valid email" }, diff --git a/app/javascript/dashboard/i18n/locale/is/setNewPassword.json b/app/javascript/dashboard/i18n/locale/is/setNewPassword.json index 978ee3448..af28dc081 100644 --- a/app/javascript/dashboard/i18n/locale/is/setNewPassword.json +++ b/app/javascript/dashboard/i18n/locale/is/setNewPassword.json @@ -2,8 +2,8 @@ "SET_NEW_PASSWORD": { "TITLE": "Set New Password", "PASSWORD": { - "LABEL": "Password", - "PLACEHOLDER": "Password", + "LABEL": "Lykilorð", + "PLACEHOLDER": "Lykilorð", "ERROR": "Password is too short" }, "CONFIRM_PASSWORD": { diff --git a/app/javascript/dashboard/i18n/locale/is/settings.json b/app/javascript/dashboard/i18n/locale/is/settings.json index 498c6c9f1..87ec8c58b 100644 --- a/app/javascript/dashboard/i18n/locale/is/settings.json +++ b/app/javascript/dashboard/i18n/locale/is/settings.json @@ -11,7 +11,7 @@ "AFTER_EMAIL_CHANGED": "Prófíllinn þinn hefur verið uppfærður, vinsamlegast skráðu þig inn aftur þar sem innskráningarskilríkjum þínum er breytt", "FORM": { "AVATAR": "Profile Image", - "ERROR": "Please fix form errors", + "ERROR": "Vinsamlegast lagfærðu villurnar", "REMOVE_IMAGE": "Remove", "UPLOAD_IMAGE": "Upload image", "UPDATE_IMAGE": "Update image", @@ -47,7 +47,7 @@ "PLACEHOLDER": "Settu inn persónulegu skilaboðaundirskriftina þína hér." }, "PASSWORD_SECTION": { - "TITLE": "Password", + "TITLE": "Lykilorð", "NOTE": "Að uppfæra lykilorðið þitt myndi endurstilla innskráningar þínar í mörgum tækjum.", "BTN_TEXT": "Change password" }, @@ -193,13 +193,13 @@ "MENTIONED_CONVERSATIONS": "Mentions", "UNATTENDED_CONVERSATIONS": "Unattended", "REPORTS": "Reports", - "SETTINGS": "Settings", + "SETTINGS": "Stillingar", "CONTACTS": "Contacts", "HOME": "Home", "AGENTS": "Þjónustufulltrúar", "AGENT_BOTS": "Bots", "INBOXES": "Innhólf", - "NOTIFICATIONS": "Notifications", + "NOTIFICATIONS": "Skilaboð", "CANNED_RESPONSES": "Stöðluð svör", "INTEGRATIONS": "Integrations", "PROFILE_SETTINGS": "Profile Settings", diff --git a/app/javascript/dashboard/i18n/locale/is/teamsSettings.json b/app/javascript/dashboard/i18n/locale/is/teamsSettings.json index 698c71f54..abc333ac6 100644 --- a/app/javascript/dashboard/i18n/locale/is/teamsSettings.json +++ b/app/javascript/dashboard/i18n/locale/is/teamsSettings.json @@ -104,7 +104,7 @@ "NO": "Hætta við" } }, - "SETTINGS": "Settings", + "SETTINGS": "Stillingar", "FORM": { "UPDATE": "Update team", "CREATE": "Create team", diff --git a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json index b603fc710..f1f866328 100644 --- a/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Attributo personalizzato aggiunto con successo", - "ERROR_MESSAGE": "Impossibile creare un attributo personalizzato, riprova più tardi" + "SUCCESS_MESSAGE": "Attributo personalizzato aggiunto con successo!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/it/integrations.json b/app/javascript/dashboard/i18n/locale/it/integrations.json index ff2e1a6cb..3d952fdc9 100644 --- a/app/javascript/dashboard/i18n/locale/it/integrations.json +++ b/app/javascript/dashboard/i18n/locale/it/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot ora sincronizzerà tutte le conversazioni in arrivo nel canale conversazioni dei clienti all'interno del tuo spazio di lavoro Slack.

Rispondendo a un thread di conversazione nel canale Slack conversazioni dei clienti verrà creata una risposta al cliente attraverso chatwoot.

Inizia le risposte con nota: per creare note private invece che risposte.

Se il replicante su slack ha un profilo agente in chatwoot sotto la stessa email, le risposte saranno associate di conseguenza.

Quando il replicante non ha un profilo di agente associato, le risposte saranno fatte dal profilo del bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Elimina", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json index 94f5ae25c..c44e1428c 100644 --- a/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ja/integrations.json b/app/javascript/dashboard/i18n/locale/ja/integrations.json index d1e0a3f1d..44aebcf19 100644 --- a/app/javascript/dashboard/i18n/locale/ja/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ja/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "削除", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json index ff4904c34..2a9ea7de3 100644 --- a/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ka/integrations.json b/app/javascript/dashboard/i18n/locale/ka/integrations.json index 6c6cecde9..833b72ed4 100644 --- a/app/javascript/dashboard/i18n/locale/ka/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ka/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json index 04902da4f..4885b59d9 100644 --- a/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json index 2193a4b03..19ff7e086 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "삭제", "API": { diff --git a/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json index ff4904c34..2a9ea7de3 100644 --- a/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/lt/integrations.json b/app/javascript/dashboard/i18n/locale/lt/integrations.json index 6c6cecde9..833b72ed4 100644 --- a/app/javascript/dashboard/i18n/locale/lt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lt/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json index ef12fa631..f3490c4eb 100644 --- a/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Pielāgotā īpašība ir veiksmīgi pievienota", - "ERROR_MESSAGE": "Nevarēja izveidot pielāgotu īpašību. Lūdzu, vēlāk mēģiniet vēlreiz" + "SUCCESS_MESSAGE": "Pielāgotā īpašība ir veiksmīgi pievienota!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/lv/integrations.json b/app/javascript/dashboard/i18n/locale/lv/integrations.json index 48752ccce..f69050371 100644 --- a/app/javascript/dashboard/i18n/locale/lv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lv/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot tagad sinhronizēs visas ienākošās customer-conversations kanāla sarunas, kas atrodas Jūsu slack workplace.

Atbildot uz sarunas vītni, customer-conversations slack kanālā tiks izveidota atbilde klientam, izmantojot chatwoot.

Sāciet atbildes ar note: lai izveidotu individuālas piezīmes, nevis atbildes.

Ja slack atbildētājam ir aģenta profils pakalpojumā chatwoot, ar tādu pašu e-pasta adresi, atbildes tiks attiecīgi sasaistītas.

Kad atbildētājam nebūs piesaistīts aģenta profils, atbildes tiks sniegtas no robotprogrammatūras profila.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Dzēst", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json index 5c5bbd49a..4cb7120e7 100644 --- a/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ml/integrations.json b/app/javascript/dashboard/i18n/locale/ml/integrations.json index f2352a676..b8ac8b2d0 100644 --- a/app/javascript/dashboard/i18n/locale/ml/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ml/integrations.json @@ -76,6 +76,13 @@ "BODY": "

ചാറ്റ്‌വൂട്ട് ഇപ്പോൾ വരുന്ന എല്ലാ സംഭാഷണങ്ങളും ഉപഭോക്തൃ-സംഭാഷണങ്ങൾ നിങ്ങളുടെ മന്ദഗതിയിലുള്ള ജോലിസ്ഥലത്തെ ചാനലിലേക്ക് സമന്വയിപ്പിക്കും.

ഒരു മറുപടി നൽകുന്നു. ഉപഭോക്തൃ-സംഭാഷണങ്ങൾ സ്ലാക്ക് ചാനലിലെ സംഭാഷണ ത്രെഡ്, ചാറ്റ്‌വൂട്ടിലൂടെ ഉപഭോക്താവിന് ഒരു പ്രതികരണം സൃഷ്ടിക്കും.

എന്നതിൽ മറുപടികൾ ആരംഭിക്കുക കുറിപ്പ്: മറുപടികൾക്ക് പകരം സ്വകാര്യ കുറിപ്പുകൾ സൃഷ്‌ടിക്കുക.

സ്ലാക്കിലുള്ള റിപ്ലയർക്ക് ചാറ്റ്‌വൂട്ടിൽ ഒരു ഏജന്റ് പ്രൊഫൈൽ ഉണ്ടെങ്കിൽ അതേ ഇമെയിലിന് കീഴിൽ, മറുപടികൾ അതിനനുസരിച്ച് ബന്ധപ്പെടുത്തും.

p>

റിപ്ലെയർക്ക് അനുബന്ധ ഏജന്റ് പ്രൊഫൈൽ ഇല്ലെങ്കിൽ, മറുപടികൾ ബോട്ട് പ്രൊഫൈലിൽ നിന്നായിരിക്കും.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "ഇല്ലാതാക്കുക", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json index 5f743e38f..97ce785a4 100644 --- a/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ms/integrations.json b/app/javascript/dashboard/i18n/locale/ms/integrations.json index 1f47f5f51..896a35785 100644 --- a/app/javascript/dashboard/i18n/locale/ms/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ms/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Padamkan", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json index ff4904c34..2a9ea7de3 100644 --- a/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ne/integrations.json b/app/javascript/dashboard/i18n/locale/ne/integrations.json index c8fbacb07..4a39563ad 100644 --- a/app/javascript/dashboard/i18n/locale/ne/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ne/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json index 29a996893..be82d4bf8 100644 --- a/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json index 1e5b06850..51bc3a1c4 100644 --- a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json @@ -1,11 +1,11 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "%{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select Agent", + "AGENT_SELECT_LABEL": "Selecteer medewerker", "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", + "ASSIGN_LABEL": "Toewijzen", "YES": "Yes", "ASSIGN_AGENT_TOOLTIP": "Assign Agent", "ASSIGN_TEAM_TOOLTIP": "Assign team", diff --git a/app/javascript/dashboard/i18n/locale/nl/campaign.json b/app/javascript/dashboard/i18n/locale/nl/campaign.json index b998d4f9a..5fb2ab6d5 100644 --- a/app/javascript/dashboard/i18n/locale/nl/campaign.json +++ b/app/javascript/dashboard/i18n/locale/nl/campaign.json @@ -89,7 +89,7 @@ "TABLE_HEADER": { "TITLE": "Title", "MESSAGE": "Bericht", - "INBOX": "Inbox", + "INBOX": "Postvak In", "STATUS": "Status", "SENDER": "Sender", "URL": "URL", @@ -98,7 +98,7 @@ "CREATED_AT": "Created at" }, "BUTTONS": { - "ADD": "Add", + "ADD": "Toevoegen", "EDIT": "Bewerken", "DELETE": "Verwijderen" }, diff --git a/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json b/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json index c10ba67f5..3b7751160 100644 --- a/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/cannedMgmt.json @@ -22,7 +22,7 @@ "FORM": { "SHORT_CODE": { "LABEL": "Korte code", - "PLACEHOLDER": "Please enter a short code", + "PLACEHOLDER": "Vul een korte code in", "ERROR": "Korte code is vereist" }, "CONTENT": { diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index e0bbbea7a..5ff346232 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -75,8 +75,8 @@ "DELETE_NOTE": { "CONFIRM": { "TITLE": "Verwijderen bevestigen", - "MESSAGE": "Are you want sure to delete this note?", - "YES": "Yes, Delete it", + "MESSAGE": "Weet je zeker dat je deze notitie wilt verwijderen?", + "YES": "Ja, verwijderen", "NO": "Nee, Bewaar het" } }, @@ -153,10 +153,10 @@ "DELETE_AVATAR": { "API": { "SUCCESS_MESSAGE": "Contact avatar deleted successfully", - "ERROR_MESSAGE": "Could not delete the contact avatar. Please try again later." + "ERROR_MESSAGE": "Contact avatar kon niet verwijderd worden. Probeer het later opnieuw." } }, - "SUCCESS_MESSAGE": "Contact saved successfully", + "SUCCESS_MESSAGE": "Contact succesvol opgeslagen", "ERROR_MESSAGE": "Er is een fout opgetreden, probeer het opnieuw" }, "NEW_CONVERSATION": { @@ -166,15 +166,15 @@ "NO_INBOX": "Couldn't find an inbox to initiate a new conversation with this contact.", "FORM": { "TO": { - "LABEL": "To" + "LABEL": "Aan" }, "INBOX": { - "LABEL": "Inbox", + "LABEL": "Postvak In", "ERROR": "Select an inbox" }, "SUBJECT": { - "LABEL": "Subject", - "PLACEHOLDER": "Subject", + "LABEL": "Onderwerp", + "PLACEHOLDER": "Onderwerp", "ERROR": "Subject can't be empty" }, "MESSAGE": { @@ -184,44 +184,44 @@ }, "SUBMIT": "Send message", "CANCEL": "Annuleren", - "SUCCESS_MESSAGE": "Message sent!", + "SUCCESS_MESSAGE": "Bericht verzonden!", "GO_TO_CONVERSATION": "Bekijken", "ERROR_MESSAGE": "Couldn't send! try again" } }, "CONTACTS_PAGE": { - "HEADER": "Contacts", + "HEADER": "Contacten", "FIELDS": "Contact fields", - "SEARCH_BUTTON": "Search", - "SEARCH_INPUT_PLACEHOLDER": "Search for contacts", + "SEARCH_BUTTON": "Zoeken", + "SEARCH_INPUT_PLACEHOLDER": "Zoeken naar contacten", "FILTER_CONTACTS": "Filteren", "FILTER_CONTACTS_SAVE": "Filter opslaan", "FILTER_CONTACTS_DELETE": "Filter verwijderen", "LIST": { "LOADING_MESSAGE": "Loading contacts...", - "404": "No contacts matches your search 🔍", + "404": "Er zijn geen contacten die overeenkomen met je zoekopdracht 🔍", "NO_CONTACTS": "There are no available contacts", "TABLE_HEADER": { "NAME": "Naam", - "PHONE_NUMBER": "Phone Number", + "PHONE_NUMBER": "Telefoonnummer", "CONVERSATIONS": "Gesprekken", - "LAST_ACTIVITY": "Last Activity", + "LAST_ACTIVITY": "Laatste Activiteit", "COUNTRY": "Country", - "CITY": "City", + "CITY": "Woonplaats", "SOCIAL_PROFILES": "Social Profiles", "COMPANY": "Bedrijfsnaam", "EMAIL_ADDRESS": "Uw e-mailadres" }, - "VIEW_DETAILS": "View details" + "VIEW_DETAILS": "Details bekijken" } }, "CONTACT_PROFILE": { - "BACK_BUTTON": "Contacts", + "BACK_BUTTON": "Contacten", "LOADING": "Loading contact profile..." }, "REMINDER": { "ADD_BUTTON": { - "BUTTON": "Add", + "BUTTON": "Toevoegen", "TITLE": "Shift + Enter to create a task" }, "FOOTER": { @@ -236,15 +236,15 @@ "TITLE": "Notes" }, "LIST": { - "LABEL": "added a note" + "LABEL": "heeft een notitie toegevoegd" }, "ADD": { - "BUTTON": "Add", - "PLACEHOLDER": "Add a note", + "BUTTON": "Toevoegen", + "PLACEHOLDER": "Notitie toevoegen", "TITLE": "Shift + Enter to create a note" }, "CONTENT_HEADER": { - "DELETE": "Delete note" + "DELETE": "Notitie verwijderen" } }, "EVENTS": { @@ -297,39 +297,39 @@ "ERROR": "Unable to delete attribute. Please try again later" }, "ATTRIBUTE_SELECT": { - "TITLE": "Add attributes", - "PLACEHOLDER": "Search attributes", - "NO_RESULT": "No attributes found" + "TITLE": "Attributen toevoegen", + "PLACEHOLDER": "Attributen zoeken", + "NO_RESULT": "Geen attributen gevonden" }, "ATTRIBUTE_TYPE": { "LIST": { - "PLACEHOLDER": "Select value", - "SEARCH_INPUT_PLACEHOLDER": "Search value", - "NO_RESULT": "No result found" + "PLACEHOLDER": "Selecteer waarde", + "SEARCH_INPUT_PLACEHOLDER": "Zoek waarde", + "NO_RESULT": "Geen resultaten gevonden" } } }, "VALIDATIONS": { - "REQUIRED": "Valid value is required", - "INVALID_URL": "Invalid URL" + "REQUIRED": "Geldige waarde is vereist", + "INVALID_URL": "Ongeldige URL" } }, "MERGE_CONTACTS": { - "TITLE": "Merge contacts", + "TITLE": "Contacten samenvoegen", "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.", "PRIMARY": { - "TITLE": "Primary contact", - "HELP_LABEL": "To be kept" + "TITLE": "Primair contact", + "HELP_LABEL": "Te behouden" }, "CHILD": { - "TITLE": "Contact to merge", - "PLACEHOLDER": "Search for a contact", - "HELP_LABEL": "To be deleted" + "TITLE": "Contact om samen te voegen", + "PLACEHOLDER": "Zoeken naar contacten", + "HELP_LABEL": "Nog te verwijderen" }, "SUMMARY": { - "TITLE": "Summary", - "DELETE_WARNING": "Contact of %{childContactName} will be deleted.", - "ATTRIBUTE_WARNING": "Contact details of %{childContactName} will be copied to %{primaryContactName}." + "TITLE": "Samenvatting", + "DELETE_WARNING": "Contact van %{childContactName} zal worden verwijderd.", + "ATTRIBUTE_WARNING": "Contactgegevens van %{childContactName} worden gekopieerd naar %{primaryContactName}." }, "SEARCH": { "ERROR": "ERROR_MESSAGE" diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index 6d92fca81..a51c617ab 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -1,7 +1,7 @@ { "CONVERSATION": { "SELECT_A_CONVERSATION": "Selecteer een gesprek in het linker paneel", - "CSAT_REPLY_MESSAGE": "Please rate the conversation", + "CSAT_REPLY_MESSAGE": "Beoordeel het gesprek", "404": "Sorry, we cannot find the conversation. Please try again", "SWITCH_VIEW_LAYOUT": "Switch the layout", "DASHBOARD_APP_TAB_MESSAGES": "Messages", @@ -144,14 +144,14 @@ "CHANGE_TEAM": "Conversation team changed", "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", - "SENT_BY": "Sent by:", + "SENT_BY": "Verzonden door:", "BOT": "Bot", - "SEND_FAILED": "Couldn't send message! Try again", - "TRY_AGAIN": "retry", + "SEND_FAILED": "Kon bericht niet verzenden! Probeer het opnieuw", + "TRY_AGAIN": "opnieuw proberen", "ASSIGNMENT": { - "SELECT_AGENT": "Select Agent", + "SELECT_AGENT": "Selecteer medewerker", "REMOVE": "Verwijderen", - "ASSIGN": "Assign" + "ASSIGN": "Toewijzen" }, "CONTEXT_MENU": { "COPY": "Kopiëren", @@ -160,7 +160,7 @@ } }, "EMAIL_TRANSCRIPT": { - "TITLE": "Send conversation transcript", + "TITLE": "Verstuur conversatie transcript", "DESC": "Send a copy of the conversation transcript to the specified email address", "SUBMIT": "Bevestigen", "CANCEL": "Annuleren", @@ -224,7 +224,7 @@ "ERROR": "Unable to update attribute. Please try again later" }, "ADD": { - "TITLE": "Add", + "TITLE": "Toevoegen", "SUCCESS": "Attribute added successfully", "ERROR": "Unable to add attribute. Please try again later" }, @@ -234,13 +234,13 @@ }, "ATTRIBUTE_SELECT": { "TITLE": "Add attributes", - "PLACEHOLDER": "Search attributes", - "NO_RESULT": "No attributes found" + "PLACEHOLDER": "Attributen zoeken", + "NO_RESULT": "Geen attributen gevonden" } }, "EMAIL_HEADER": { "FROM": "From", - "TO": "To", + "TO": "Aan", "BCC": "Bcc", "CC": "Cc", "SUBJECT": "Subject" diff --git a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json index d643cf352..5fa24ea85 100644 --- a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json @@ -32,7 +32,7 @@ "TITLE": "Article Settings", "FORM": { "CATEGORY": { - "LABEL": "Category", + "LABEL": "Categorie", "TITLE": "Select category", "PLACEHOLDER": "Select category", "NO_RESULT": "No category found", @@ -286,7 +286,7 @@ "NO_ARTICLES": "There are no available articles", "HEADERS": { "TITLE": "Title", - "CATEGORY": "Category", + "CATEGORY": "Categorie", "READ_COUNT": "Read count", "STATUS": "Status", "LAST_EDITED": "Last edited" diff --git a/app/javascript/dashboard/i18n/locale/nl/integrationApps.json b/app/javascript/dashboard/i18n/locale/nl/integrationApps.json index 22ca277d6..909d96b7e 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrationApps.json @@ -30,7 +30,7 @@ }, "LIST": { "FETCHING": "Fetching integration hooks", - "INBOX": "Inbox", + "INBOX": "Postvak In", "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 084762439..754c6670f 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Verwijderen", "API": { diff --git a/app/javascript/dashboard/i18n/locale/nl/macros.json b/app/javascript/dashboard/i18n/locale/nl/macros.json index 760fa4392..67d3e4177 100644 --- a/app/javascript/dashboard/i18n/locale/nl/macros.json +++ b/app/javascript/dashboard/i18n/locale/nl/macros.json @@ -26,9 +26,9 @@ "LIST": { "TABLE_HEADER": [ "Naam", - "Created by", + "Aangemaakt door", "Last updated by", - "Visibility" + "Zichtbaarheid" ], "404": "No macros found" }, @@ -37,7 +37,7 @@ "CONFIRM": { "MESSAGE": "Weet u zeker dat u wilt verwijderen ", "YES": "Ja, verwijderen", - "NO": "No" + "NO": "Nee" }, "API": { "SUCCESS_MESSAGE": "Macro deleted successfully", diff --git a/app/javascript/dashboard/i18n/locale/nl/report.json b/app/javascript/dashboard/i18n/locale/nl/report.json index 1f8337af4..5bd7f3ea0 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": "Download agent reports", + "DOWNLOAD_AGENT_REPORTS": "Medewerkerrapporten downloaden", "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -18,15 +18,15 @@ "DESC": "( Totaal )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "Eerste reactietijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is %{metricValue} (based on %{conversationCount} conversations)" + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", + "TOOLTIP_TEXT": "Eerste Reactie Tijd is %{metricValue} (gebaseerd op %{conversationCount} gesprekken)" }, "RESOLUTION_TIME": { "NAME": "Resolutie Tijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", "TOOLTIP_TEXT": "Resolution Time is %{metricValue} (based on %{conversationCount} conversations)" }, "RESOLUTION_COUNT": { @@ -120,8 +120,8 @@ "HEADER": "Agents Overview", "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": "Download agent reports", - "FILTER_DROPDOWN_LABEL": "Select Agent", + "DOWNLOAD_AGENT_REPORTS": "Medewerkerrapporten downloaden", + "FILTER_DROPDOWN_LABEL": "Selecteer medewerker", "METRICS": { "CONVERSATIONS": { "NAME": "Gesprekken", @@ -136,15 +136,15 @@ "DESC": "( Totaal )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "Eerste reactietijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is %{metricValue} (based on %{conversationCount} conversations)" + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", + "TOOLTIP_TEXT": "Eerste Reactie Tijd is %{metricValue} (gebaseerd op %{conversationCount} gesprekken)" }, "RESOLUTION_TIME": { "NAME": "Resolutie Tijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", "TOOLTIP_TEXT": "Resolution Time is %{metricValue} (based on %{conversationCount} conversations)" }, "RESOLUTION_COUNT": { @@ -203,15 +203,15 @@ "DESC": "( Totaal )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "Eerste reactietijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is %{metricValue} (based on %{conversationCount} conversations)" + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", + "TOOLTIP_TEXT": "Eerste Reactie Tijd is %{metricValue} (gebaseerd op %{conversationCount} gesprekken)" }, "RESOLUTION_TIME": { "NAME": "Resolutie Tijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", "TOOLTIP_TEXT": "Resolution Time is %{metricValue} (based on %{conversationCount} conversations)" }, "RESOLUTION_COUNT": { @@ -270,15 +270,15 @@ "DESC": "( Totaal )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "Eerste reactietijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is %{metricValue} (based on %{conversationCount} conversations)" + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", + "TOOLTIP_TEXT": "Eerste Reactie Tijd is %{metricValue} (gebaseerd op %{conversationCount} gesprekken)" }, "RESOLUTION_TIME": { "NAME": "Resolutie Tijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", "TOOLTIP_TEXT": "Resolution Time is %{metricValue} (based on %{conversationCount} conversations)" }, "RESOLUTION_COUNT": { @@ -337,15 +337,15 @@ "DESC": "( Totaal )" }, "FIRST_RESPONSE_TIME": { - "NAME": "First Response Time", + "NAME": "Eerste reactietijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", - "TOOLTIP_TEXT": "First Response Time is %{metricValue} (based on %{conversationCount} conversations)" + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", + "TOOLTIP_TEXT": "Eerste Reactie Tijd is %{metricValue} (gebaseerd op %{conversationCount} gesprekken)" }, "RESOLUTION_TIME": { "NAME": "Resolutie Tijd", "DESC": "(Gem. )", - "INFO_TEXT": "Total number of conversations used for computation:", + "INFO_TEXT": "Totaal aantal conversaties gebruikt voor berekening:", "TOOLTIP_TEXT": "Resolution Time is %{metricValue} (based on %{conversationCount} conversations)" }, "RESOLUTION_COUNT": { diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index 50ddcea81..edc7a0327 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -22,11 +22,11 @@ "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", + "UPDATE_SUCCESS": "Uw instellingen zijn met succes bijgewerkt", "CARD": { "ENTER_KEY": { "HEADING": "Enter (↵)", - "CONTENT": "Send messages by pressing Enter key instead of clicking the send button." + "CONTENT": "Verstuur berichten door op Enter te drukken in plaats van op de verzendknop te klikken." }, "CMD_ENTER_KEY": { "HEADING": "Cmd/Ctrl + Enter (⌘ + ↵)", @@ -194,7 +194,7 @@ "UNATTENDED_CONVERSATIONS": "Unattended", "REPORTS": "Rapporten", "SETTINGS": "Instellingen", - "CONTACTS": "Contacts", + "CONTACTS": "Contacten", "HOME": "Startpagina", "AGENTS": "Medewerkers", "AGENT_BOTS": "Bots", @@ -225,7 +225,7 @@ "ONE_OFF": "One off", "REPORTS_AGENT": "Medewerkers", "REPORTS_LABEL": "Labelen", - "REPORTS_INBOX": "Inbox", + "REPORTS_INBOX": "Postvak In", "REPORTS_TEAM": "Team", "SET_AVAILABILITY_TITLE": "Set yourself as", "BETA": "Beta", @@ -237,7 +237,7 @@ "MY_ARTICLES": "My Articles", "DRAFT": "Draft", "ARCHIVED": "Archived", - "CATEGORY": "Category", + "CATEGORY": "Categorie", "CATEGORY_EMPTY_MESSAGE": "No categories found" }, "SET_AUTO_OFFLINE": { diff --git a/app/javascript/dashboard/i18n/locale/nl/whatsappTemplates.json b/app/javascript/dashboard/i18n/locale/nl/whatsappTemplates.json index bbcf28156..aa5ac5d9c 100644 --- a/app/javascript/dashboard/i18n/locale/nl/whatsappTemplates.json +++ b/app/javascript/dashboard/i18n/locale/nl/whatsappTemplates.json @@ -2,24 +2,24 @@ "WHATSAPP_TEMPLATES": { "MODAL": { "TITLE": "Whatsapp Templates", - "SUBTITLE": "Select the whatsapp template you want to send", - "TEMPLATE_SELECTED_SUBTITLE": "Process %{templateName}" + "SUBTITLE": "Selecteer de whatsapp template die u wilt verzenden", + "TEMPLATE_SELECTED_SUBTITLE": "Verwerk %{templateName}" }, "PICKER": { - "SEARCH_PLACEHOLDER": "Search Templates", - "NO_TEMPLATES_FOUND": "No templates found for", + "SEARCH_PLACEHOLDER": "Templates zoeken", + "NO_TEMPLATES_FOUND": "Geen templates gevonden voor", "LABELS": { - "LANGUAGE": "Language", - "TEMPLATE_BODY": "Template Body", - "CATEGORY": "Category" + "LANGUAGE": "Taal", + "TEMPLATE_BODY": "Template bericht", + "CATEGORY": "Categorie" } }, "PARSER": { - "VARIABLES_LABEL": "Variables", - "VARIABLE_PLACEHOLDER": "Enter %{variable} value", - "GO_BACK_LABEL": "Go Back", - "SEND_MESSAGE_LABEL": "Send Message", - "FORM_ERROR_MESSAGE": "Please fill all variables before sending" + "VARIABLES_LABEL": "Variabelen", + "VARIABLE_PLACEHOLDER": "Voer %{variable} waarde in", + "GO_BACK_LABEL": "Ga terug", + "SEND_MESSAGE_LABEL": "Verstuur bericht", + "FORM_ERROR_MESSAGE": "Vul alstublieft alle variabelen in voordat u deze verzendt" } } } diff --git a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json index b26ebc840..d4aa4acd1 100644 --- a/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/no/integrations.json b/app/javascript/dashboard/i18n/locale/no/integrations.json index 7b51269ba..f5b663887 100644 --- a/app/javascript/dashboard/i18n/locale/no/integrations.json +++ b/app/javascript/dashboard/i18n/locale/no/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Slett", "API": { diff --git a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json index 447f6bc95..3853cea94 100644 --- a/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pl/integrations.json b/app/javascript/dashboard/i18n/locale/pl/integrations.json index 30fc52fbb..0c05a26f9 100644 --- a/app/javascript/dashboard/i18n/locale/pl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pl/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Usuń", "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json index dba146efd..7fb98f473 100644 --- a/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Atributo Personalizado adicionado com sucesso", - "ERROR_MESSAGE": "Não foi possível criar um atributo personalizado, por favor tente novamente mais tarde" + "SUCCESS_MESSAGE": "Atributo Personalizado adicionado com sucesso!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pt/integrations.json b/app/javascript/dashboard/i18n/locale/pt/integrations.json index acd922339..014afdfee 100644 --- a/app/javascript/dashboard/i18n/locale/pt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot irá agora sincronizar todas as mensagens recebidas através do canal de conversas com clientes dentro do seu local de trabalho do Slack.

A resposta a uma mensagem nas conversas com o cliente no seu canal de slack irá criar uma resposta para o cliente através do Chatwoot.

Comece as respostas com nota: para criar notas privadas em vez de respostas.

Se o remetente do slack tiver um perfil de agente no Chatwoot com o mesmo e-mail, as respostas serão associadas de acordo com isso.

Quando a pessoa que responde não tiver um perfil de agente associado, as respostas serão dadas a partir do perfil do bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "excluir", "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json index 082c6d190..0975b0790 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/attributesMgmt.json @@ -1,8 +1,8 @@ { "ATTRIBUTES_MGMT": { "HEADER": "Atributos Personalizados", - "HEADER_BTN_TXT": "Adicionar atributo personalizado", - "LOADING": "Buscando atributos personalizados", + "HEADER_BTN_TXT": "Criar atributo personalizado", + "LOADING": "Buscando atributos", "SIDEBAR_TXT": "

Atributos personalizados

Um atributo customizado rastreia fatos sobre seus contatos/conversa — como o plano de inscrição, ou quando eles compraram o primeiro item, etc.

Para criar um atributo personalizado, basta clicar noAdicionar atributo personalizado. Você também pode editar ou apagar um atributo existente clicando em Editar ou Apagar botão.

", "ADD": { "TITLE": "Adicionar atributo personalizado", @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Atributo personalizado adicionado com sucesso", - "ERROR_MESSAGE": "Não foi possível criar um atributo personalizado, por favor, tente novamente mais tarde" + "SUCCESS_MESSAGE": "Atributo personalizado adicionado com sucesso!", + "ERROR_MESSAGE": "Não foi possível criar um atributo personalizado. Por favor, tente novamente mais tarde." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json index 0bc4b0f2d..17bdb472a 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/chatlist.json @@ -8,7 +8,7 @@ }, "TAB_HEADING": "Conversas", "MENTION_HEADING": "Menções", - "UNATTENDED_HEADING": "Não atendidas", + "UNATTENDED_HEADING": "Não Atendidas", "SEARCH": { "INPUT": "Pesquisar pessoas, conversas, respostas salvas .." }, @@ -57,7 +57,7 @@ "REPLY_TO_TWEET": "Responder a este tweet", "LINK_TO_STORY": "Vá para o Story do Instagram", "SENT": "Enviado com sucesso", - "READ": "Leitura com sucesso", + "READ": "Lido com sucesso", "DELIVERED": "Entregue com sucesso", "NO_MESSAGES": "Nova Mensagem", "NO_CONTENT": "Nenhum conteúdo disponível", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index 705d59a5a..faed77d6a 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -81,7 +81,7 @@ } }, "DELETE_CONTACT": { - "BUTTON_LABEL": "Excluir contato", + "BUTTON_LABEL": "Excluir Contato", "TITLE": "Excluir contato", "DESC": "Excluir detalhes do contato", "CONFIRM": { @@ -152,7 +152,7 @@ }, "DELETE_AVATAR": { "API": { - "SUCCESS_MESSAGE": "Avatar de contato excluído com sucesso", + "SUCCESS_MESSAGE": "Avatar do contato excluído com sucesso", "ERROR_MESSAGE": "Não foi possível excluir o avatar do contato. Por favor, tente novamente mais tarde." } }, @@ -195,7 +195,7 @@ "SEARCH_BUTTON": "Pesquisar", "SEARCH_INPUT_PLACEHOLDER": "Procurar contatos", "FILTER_CONTACTS": "Filtro", - "FILTER_CONTACTS_SAVE": "Salvar Filtro", + "FILTER_CONTACTS_SAVE": "Salvar filtro", "FILTER_CONTACTS_DELETE": "Excluir filtro", "LIST": { "LOADING_MESSAGE": "Carregando contatos...", @@ -217,7 +217,7 @@ }, "CONTACT_PROFILE": { "BACK_BUTTON": "Contato", - "LOADING": "Carregando perfil de contato..." + "LOADING": "Carregando o perfil do contato..." }, "REMINDER": { "ADD_BUTTON": { @@ -236,7 +236,7 @@ "TITLE": "Observações" }, "LIST": { - "LABEL": "Adicionando uma anotação" + "LABEL": "adicionou uma anotação" }, "ADD": { "BUTTON": "Adicionar", @@ -244,7 +244,7 @@ "TITLE": "Shift + Enter para criar uma nota" }, "CONTENT_HEADER": { - "DELETE": "Deletar Anotação" + "DELETE": "Excluir anotação" } }, "EVENTS": { @@ -258,7 +258,7 @@ } }, "CUSTOM_ATTRIBUTES": { - "ADD_BUTTON_TEXT": "Adicionar atributo", + "ADD_BUTTON_TEXT": "Adicionar atributos", "BUTTON": "Criar atributo personalizado", "NOT_AVAILABLE": "Não há atributos personalizados para este contato.", "COPY_SUCCESSFUL": "Copiado para área de transferência com sucesso", @@ -297,7 +297,7 @@ "ERROR": "Não foi possível excluir o atributo. Por favor, tente mais tarde" }, "ATTRIBUTE_SELECT": { - "TITLE": "Adicionar atributo", + "TITLE": "Adicionar atributos", "PLACEHOLDER": "Procurar atributos", "NO_RESULT": "Nenhum atributo encontrado" }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index d7c09d677..5a1d157db 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -42,8 +42,8 @@ "RATING_TITLE": "Classificação", "FEEDBACK_TITLE": "Feedback", "CARD": { - "SHOW_LABELS": "Show labels", - "HIDE_LABELS": "Hide labels" + "SHOW_LABELS": "Mostrar rótulos", + "HIDE_LABELS": "Ocultar os rótulos" }, "HEADER": { "RESOLVE_ACTION": "Resolver", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json index fe3869878..189240f1d 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot irá agora sincronizar todas as conversas recebidas no canal de conversas com clientes dentro de seu local de trabalho de slack.

A resposta para uma conversa em conversas ao cliente canal de slack irá criar uma resposta para o cliente através do chatwoot.

Inicie as respostas com nota: para criar notas privadas em vez de respostas.

Se o remetente do slack tiver um perfil de agente no chatwoot sob o mesmo e-mail, as respostas serão associadas de acordo.

Quando o respondente não tiver um perfil de agente associado, as respostas serão dadas a partir do perfil do bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Excluir", "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 65e78ef6b..871c633ec 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -59,18 +59,18 @@ "TITLE": "Notificações de Áudio", "NOTE": "Habilitar notificações de áudio no painel para novas mensagens e conversas.", "ALERT_TYPE": { - "TITLE": "Alert events:", + "TITLE": "Tipo de Alerta:", "NONE": "Nenhuma", "ASSIGNED": "Conversas atribuídas", "ALL_CONVERSATIONS": "Todas as conversas" }, "DEFAULT_TONE": { - "TITLE": "Alert tone:" + "TITLE": "Titulo:" }, "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": "Condições:", + "CONDITION_ONE": "Condição 1", + "CONDITION_TWO": "Condição 2" } }, "EMAIL_NOTIFICATIONS_SECTION": { @@ -282,7 +282,7 @@ } }, "KEYBOARD_SHORTCUTS": { - "TOGGLE_MODAL": "View all shortcuts", + "TOGGLE_MODAL": "Alternar Modal", "TITLE": { "OPEN_CONVERSATION": "Abrir conversa", "RESOLVE_AND_NEXT": "Resolver e ir para o próximo", diff --git a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json index 67eb28a0a..7e3d61dbb 100644 --- a/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Atribut personalizat adăugat cu succes", - "ERROR_MESSAGE": "Nu s-a putut crea un atribut personalizat, încercați din nou mai târziu" + "SUCCESS_MESSAGE": "Atribut personalizat adăugat cu succes!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ro/integrations.json b/app/javascript/dashboard/i18n/locale/ro/integrations.json index 05c7f380e..3f8587056 100644 --- a/app/javascript/dashboard/i18n/locale/ro/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ro/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot va sincroniza acum toate conversațiile primite în canalul de conversații cu clienții din interiorul locului de muncă slăbit.

Răspunsul la un fir de conversație în canalul de slăbire a conversațiilor clienților va crea un răspuns înapoi la client prin chatwoot.

Începeți răspunsurile cu notă: pentru a crea note private în loc de răspunsuri.

În cazul în care replier pe slack are un profil de agent în chatwoot sub același e-mail, răspunsurile vor fi asociate în consecință.

Atunci când replierul nu are un profil de agent asociat, răspunsurile vor fi făcute din profilul botului.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Şterge", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json index d82bd59aa..3632bf9aa 100644 --- a/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Пользовательский атрибут успешно добавлен", - "ERROR_MESSAGE": "Невозможно создать пользовательский атрибут, пожалуйста, повторите попытку позже" + "SUCCESS_MESSAGE": "Пользовательский атрибут успешно добавлен!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ru/integrations.json b/app/javascript/dashboard/i18n/locale/ru/integrations.json index 76f1c8ee8..9e092eb62 100644 --- a/app/javascript/dashboard/i18n/locale/ru/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ru/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot теперь будет синхронизировать все входящие разговоры с каналом разговоров с клиентами внутри вашего рабочего места.

Ответ на цепочку разговоров в канале slack для разговоров с клиентом создаст ответ клиенту через chatwoot.

Начните ответы с примечания: для создания приватных сообщений. примечания вместо ответов.

Если отвечающий в Slack имеет профиль агента в chatwoot под тем же адресом электронной почты, ответы будут связаны соответственно.

Если отвечающий не имеет связанного профиля агента, ответы будут отправляться из профиля бота.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Удалить", "API": { diff --git a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json index f7e030f31..87d409e06 100644 --- a/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sk/integrations.json b/app/javascript/dashboard/i18n/locale/sk/integrations.json index fe1830704..b006ed7ac 100644 --- a/app/javascript/dashboard/i18n/locale/sk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sk/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Vymazať", "API": { diff --git a/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json index ac1ed4f7b..476286ce7 100644 --- a/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Prilagođeni atribut je uspešno dodat", - "ERROR_MESSAGE": "Nije bilo moguće kreirati prilagođeni atribut. Molim Vas pokušajte kasnije" + "SUCCESS_MESSAGE": "Prilagođeni atribut je uspešno dodat!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sr/integrations.json b/app/javascript/dashboard/i18n/locale/sr/integrations.json index 0d52b7595..d334fc502 100644 --- a/app/javascript/dashboard/i18n/locale/sr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sr/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot će sada sinhronizovati sve dolazne razgovore u kanal customer-conversations unutar vašeg slack radnog mesta.

Odgovaranjem na razgovor u customer-conversations slack kanal će napraviti odgovor potrošaču kroz chatwoot.

Započnite odgovore sa note: da bi ste napravili privatne beleške umesto odgovora.

Ako odgovarač na slack-u ima agentski profil u chatwoot-u pod istom adresom e-pošte, odgovori će biti odgovarajuće povezani.

Kada odgovarač nema povezani agentski profil, odgovori će biti napravljeni od strane bot profila.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Izbriši", "API": { diff --git a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json index fbd488c54..f219c1895 100644 --- a/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json index 94ba345d9..a45742026 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Radera", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json index 915d53a59..bba596f6f 100644 --- a/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ta/integrations.json b/app/javascript/dashboard/i18n/locale/ta/integrations.json index ce79469b2..a0d5ff719 100644 --- a/app/javascript/dashboard/i18n/locale/ta/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ta/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json index 925864ed9..8e52ac44c 100644 --- a/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "เพิ่มแอตทริบิวต์เเบบกำหนดเองสำเร็จแล้ว", - "ERROR_MESSAGE": "ไม่สามารถสร้างแอตทริบิวต์เเบบกำหนดเอง ได้โปรดลองใหม่อีกครั้ง" + "SUCCESS_MESSAGE": "เพิ่มแอตทริบิวต์เเบบกำหนดเองสำเร็จแล้ว!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/th/integrations.json b/app/javascript/dashboard/i18n/locale/th/integrations.json index c4e5debcb..ccf190863 100644 --- a/app/javascript/dashboard/i18n/locale/th/integrations.json +++ b/app/javascript/dashboard/i18n/locale/th/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot จะเชื่อมข้อความทั้งหมดไว้ที่ช่อง การสนทนากับลูกค้า บน slack ของคุณ หากตอบกลับเธรดบน slack ในช่อง การสนทนากับลูกค้า จะมีสร้างการตอบกลับลูกค้าใน Chatwoot ด้วยเช่นเดียวกัน

การตอบกลับด้วยโน๊ตจะสร้างโน๊ตส่วนตัวแทนการตอบกลับเป็นข้อความ และหากผู้ตอบกลับบน slack มีโปรไฟล์พนักงานบน Chatwoot ซึ่งใช้อีเมลเดียวกัน การตอบกลับของเขาจะถูกส่งจากโปรไฟล์ที่เชื่อมไว้ใน Chatwoot

แต่หากผู้ตอบกลับไม่ได้มีโปรไฟล์พนักงานที่เชื่อมกัน การตอบกลับบน slack จะแสดงผลเป็นการตอบกลับที่มาจากโปรไฟล์บอทใน Chatwoot แทน

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "ลบ", "API": { diff --git a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json index 4a4e64d86..df6b2e9c6 100644 --- a/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/tr/integrations.json b/app/javascript/dashboard/i18n/locale/tr/integrations.json index d5beca403..a64d37704 100644 --- a/app/javascript/dashboard/i18n/locale/tr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tr/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Sil", "API": { diff --git a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json index 2ee9c79a6..c5c188c49 100644 --- a/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Користувацький атрибут успішно додано", - "ERROR_MESSAGE": "Не вдалося створити користувацький атрибут, будь ласка спробуйте пізніше" + "SUCCESS_MESSAGE": "Користувацький атрибут успішно додано!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json index 1be4e99a2..9f2df5e5c 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot тепер синхронізує всі вхідні розмови на customer-conversations каналу всередині вашого slack workplace.

Відповідь на тему розмови в customer-conversations slack канал створить відповідь покупцю через chatwoot.

Розпочніть відповіді з нотатки: для створення приватних нотаток замість відповідей.

Якщо автор на slack має профіль агента в chatwoot під тим самим повідомленням, відповіді будуть надані відповідно.

, коли користувач не має пов'язаного агента, відповідь буде виконана з профілю бота.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Видалити", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json index ffb9af4b0..02fdadd89 100644 --- a/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ur/integrations.json b/app/javascript/dashboard/i18n/locale/ur/integrations.json index 27d8ccc2e..06cefeb7d 100644 --- a/app/javascript/dashboard/i18n/locale/ur/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "حذف کریں۔", "API": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json index ff4904c34..2a9ea7de3 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json index 6c6cecde9..833b72ed4 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Delete", "API": { diff --git a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json index 40e68c319..efdf9235a 100644 --- a/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Thuộc tính tuỳ chỉnh được thêm thành công", - "ERROR_MESSAGE": "Không thể tạo thuộc tính tuỳ chỉnh, Vui lòng thử lại sau" + "SUCCESS_MESSAGE": "Thuộc tính tuỳ chỉnh được thêm thành công!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/vi/integrations.json b/app/javascript/dashboard/i18n/locale/vi/integrations.json index 903694425..a1a715d19 100644 --- a/app/javascript/dashboard/i18n/locale/vi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/vi/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot giờ đây sẽ đồng bộ hóa tất cả các cuộc trò chuyện đến vào kênh cuộc trò chuyện với khách hàng bên trong nơi làm việc Slack của bạn.

Trả lời chuỗi hội thoại trong kênh Slack cuộc trò chuyện với khách hàng sẽ tạo phản hồi lại cho khách hàng thông qua chatwoot.

Bắt đầu câu trả lời bằng ghi chú: để tạo ghi chú riêng tư thay vì trả lời.

Nếu người trả lời trên slack có hồ sơ đại lý trong chatwoot dưới cùng một email, thì các câu trả lời sẽ được liên kết theo đó.

Khi người trả lời không có hồ sơ đại lý được liên kết, các câu trả lời sẽ được thực hiện từ hồ sơ bot.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "Xoá", "API": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json index 22b9d13b8..2db45ec24 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "自定义属性添加成功", - "ERROR_MESSAGE": "无法创建自定义属性,请稍后再试" + "SUCCESS_MESSAGE": "自定义属性添加成功!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index 51a165de9..65b0eef1e 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "删除", "API": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json index 4e2892d3c..c34eaf48b 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/attributesMgmt.json @@ -42,8 +42,8 @@ } }, "API": { - "SUCCESS_MESSAGE": "Custom Attribute added successfully", - "ERROR_MESSAGE": "Could not able to create a custom attribute, Please try again later" + "SUCCESS_MESSAGE": "Custom Attribute added successfully!", + "ERROR_MESSAGE": "Could not create a Custom Attribute. Please try again later." } }, "DELETE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json index 2ed343ace..455a3bae1 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json @@ -76,6 +76,13 @@ "BODY": "

Chatwoot will now sync all the incoming conversations into the customer-conversations channel inside your slack workplace.

Replying to a conversation thread in customer-conversations slack channel will create a response back to the customer through chatwoot.

Start the replies with note: to create private notes instead of replies.

If the replier on slack has an agent profile in chatwoot under the same email, the replies will be associated accordingly.

When the replier doesn't have an associated agent profile, the replies will be made from the bot profile.

" } }, + "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" + }, "DELETE": { "BUTTON_TEXT": "刪除", "API": { diff --git a/app/javascript/widget/i18n/locale/ar.json b/app/javascript/widget/i18n/locale/ar.json index 6f84c04b8..6114b5b4f 100644 --- a/app/javascript/widget/i18n/locale/ar.json +++ b/app/javascript/widget/i18n/locale/ar.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "طلب نسخة محادثة النص", "SEND_EMAIL_SUCCESS": "تم إرسال نص المحادثة بنجاح", "SEND_EMAIL_ERROR": "حدث خطأ، الرجاء المحاولة مرة أخرى" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/bg.json b/app/javascript/widget/i18n/locale/bg.json index 3136aaedf..cbea820c3 100644 --- a/app/javascript/widget/i18n/locale/bg.json +++ b/app/javascript/widget/i18n/locale/bg.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Поискайте копие от разговора", "SEND_EMAIL_SUCCESS": "Копието от разговора бе изпратено успешно", "SEND_EMAIL_ERROR": "Възникна грешка, моля опитайте отново" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ca.json b/app/javascript/widget/i18n/locale/ca.json index b8f7aae5c..e0b2e9ba5 100644 --- a/app/javascript/widget/i18n/locale/ca.json +++ b/app/javascript/widget/i18n/locale/ca.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "La transcripció del xat s'ha enviat correctament", "SEND_EMAIL_ERROR": "S'ha produït un error; tornau-ho a provar" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/cs.json b/app/javascript/widget/i18n/locale/cs.json index 8ee2c82f3..0fc9279ef 100644 --- a/app/javascript/widget/i18n/locale/cs.json +++ b/app/javascript/widget/i18n/locale/cs.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Požádat o přepis konverzace", "SEND_EMAIL_SUCCESS": "Přepis chatu byl úspěšně odeslán", "SEND_EMAIL_ERROR": "Došlo k chybě, zkuste to prosím znovu" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/da.json b/app/javascript/widget/i18n/locale/da.json index 74e118d39..298149788 100644 --- a/app/javascript/widget/i18n/locale/da.json +++ b/app/javascript/widget/i18n/locale/da.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Anmod om en samtaleudskrift", "SEND_EMAIL_SUCCESS": "Chatudskriften blev sendt med succes", "SEND_EMAIL_ERROR": "Der opstod en fejl. Prøv venligst igen" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/de.json b/app/javascript/widget/i18n/locale/de.json index bb4c51855..5c63a6d4d 100644 --- a/app/javascript/widget/i18n/locale/de.json +++ b/app/javascript/widget/i18n/locale/de.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Chat-Protokoll anfordern", "SEND_EMAIL_SUCCESS": "Das Chat-Protokoll wurde erfolgreich gesendet", "SEND_EMAIL_ERROR": "Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/el.json b/app/javascript/widget/i18n/locale/el.json index d926f9057..35b11f4ad 100644 --- a/app/javascript/widget/i18n/locale/el.json +++ b/app/javascript/widget/i18n/locale/el.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Αίτηση μεταγραφής συνομιλίας", "SEND_EMAIL_SUCCESS": "Η μεταγραφή της συνομιλίας έχει αποσταλεί επιτυχώς", "SEND_EMAIL_ERROR": "Υπήρξε ένα σφάλμα, παρακαλώ προσπαθήστε ξανά" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/en.json b/app/javascript/widget/i18n/locale/en.json index 141e9b102..6329cdeb3 100644 --- a/app/javascript/widget/i18n/locale/en.json +++ b/app/javascript/widget/i18n/locale/en.json @@ -86,11 +86,5 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" - }, - "INTEGRATIONS": { - "DYTE": { - "CLICK_HERE_TO_JOIN": "Click here to join", - "LEAVE_THE_ROOM": "Leave the call" - } } } diff --git a/app/javascript/widget/i18n/locale/es.json b/app/javascript/widget/i18n/locale/es.json index 07ed0c92d..7e8753ded 100644 --- a/app/javascript/widget/i18n/locale/es.json +++ b/app/javascript/widget/i18n/locale/es.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Enviar transcripción de la conversación", "SEND_EMAIL_SUCCESS": "La transcripción ha sido enviada", "SEND_EMAIL_ERROR": "Hubo un error, por favor inténtelo de nuevo" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/fa.json b/app/javascript/widget/i18n/locale/fa.json index b78b66c08..4b4f8f3a6 100644 --- a/app/javascript/widget/i18n/locale/fa.json +++ b/app/javascript/widget/i18n/locale/fa.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "درخواست رونوشت گفتگو", "SEND_EMAIL_SUCCESS": "رونوشت گفتگو با موفقیت ارسال شد", "SEND_EMAIL_ERROR": "خطایی پیش آمد. لطفا دوباره امتحان کنید" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/fi.json b/app/javascript/widget/i18n/locale/fi.json index e0905bf04..05f917174 100644 --- a/app/javascript/widget/i18n/locale/fi.json +++ b/app/javascript/widget/i18n/locale/fi.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "Chat-keskustelu on lähetetty onnistuneesti", "SEND_EMAIL_ERROR": "Tapahtui virhe, yritä uudelleen" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/fr.json b/app/javascript/widget/i18n/locale/fr.json index 2fde255a3..271c6a1e0 100644 --- a/app/javascript/widget/i18n/locale/fr.json +++ b/app/javascript/widget/i18n/locale/fr.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Demander une transcription de la conversation", "SEND_EMAIL_SUCCESS": "La transcription du chat a été envoyée avec succès", "SEND_EMAIL_ERROR": "Une erreur est survenue, veuillez réessayer" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/he.json b/app/javascript/widget/i18n/locale/he.json index eab2c3fc9..76c620e1c 100644 --- a/app/javascript/widget/i18n/locale/he.json +++ b/app/javascript/widget/i18n/locale/he.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "בקש תמליל שיחה", "SEND_EMAIL_SUCCESS": "תמליל הצ'אט נשלח בהצלחה", "SEND_EMAIL_ERROR": "היתה שגיאה, בקשה נסה שוב" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/hi.json b/app/javascript/widget/i18n/locale/hi.json index 6329cdeb3..141e9b102 100644 --- a/app/javascript/widget/i18n/locale/hi.json +++ b/app/javascript/widget/i18n/locale/hi.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/hu.json b/app/javascript/widget/i18n/locale/hu.json index 808adb534..4fde2c35d 100644 --- a/app/javascript/widget/i18n/locale/hu.json +++ b/app/javascript/widget/i18n/locale/hu.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Beszélgetés kivonat igénylése", "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" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/id.json b/app/javascript/widget/i18n/locale/id.json index cb23ce28e..0149430b6 100644 --- a/app/javascript/widget/i18n/locale/id.json +++ b/app/javascript/widget/i18n/locale/id.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "Transkrip percakapan berhasil terkirim", "SEND_EMAIL_ERROR": "Terjadi kesalahan, harap coba lagi" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/is.json b/app/javascript/widget/i18n/locale/is.json index bd993874f..cdec64f16 100644 --- a/app/javascript/widget/i18n/locale/is.json +++ b/app/javascript/widget/i18n/locale/is.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Biðja um afrit af samtalinu", "SEND_EMAIL_SUCCESS": "Afritið af samtalinu var sent", "SEND_EMAIL_ERROR": "Það kom upp villa, vinsamlegast reyndur aftur" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/it.json b/app/javascript/widget/i18n/locale/it.json index 10eeca4b2..6524c0918 100644 --- a/app/javascript/widget/i18n/locale/it.json +++ b/app/javascript/widget/i18n/locale/it.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Richiedi la trascrizione della conversazione", "SEND_EMAIL_SUCCESS": "La trascrizione della chat è stata inviata con successo", "SEND_EMAIL_ERROR": "Si è verificato un errore, riprova" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ja.json b/app/javascript/widget/i18n/locale/ja.json index 4541254f2..98a57b852 100644 --- a/app/javascript/widget/i18n/locale/ja.json +++ b/app/javascript/widget/i18n/locale/ja.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "チャットの記録は正常に送信されました", "SEND_EMAIL_ERROR": "エラーが発生しました。もう一度お試しください。" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ka.json b/app/javascript/widget/i18n/locale/ka.json index 6329cdeb3..141e9b102 100644 --- a/app/javascript/widget/i18n/locale/ka.json +++ b/app/javascript/widget/i18n/locale/ka.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ko.json b/app/javascript/widget/i18n/locale/ko.json index 71a99ea7f..b6f404d9a 100644 --- a/app/javascript/widget/i18n/locale/ko.json +++ b/app/javascript/widget/i18n/locale/ko.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "대화 내용이 성공적으로 전송됨", "SEND_EMAIL_ERROR": "오류가 발생했습니다. 다시 시도하십시오." + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/lt.json b/app/javascript/widget/i18n/locale/lt.json index 6329cdeb3..141e9b102 100644 --- a/app/javascript/widget/i18n/locale/lt.json +++ b/app/javascript/widget/i18n/locale/lt.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/lv.json b/app/javascript/widget/i18n/locale/lv.json index 858a063bf..3d9d48658 100644 --- a/app/javascript/widget/i18n/locale/lv.json +++ b/app/javascript/widget/i18n/locale/lv.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Pieprasīt sarunas transkriptu", "SEND_EMAIL_SUCCESS": "Sarunas transkripts tika veiksmīgi nosūtīts", "SEND_EMAIL_ERROR": "Radās kļūda. Lūdzu, mēģiniet vēlreiz" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ml.json b/app/javascript/widget/i18n/locale/ml.json index 577b7e944..db9c22061 100644 --- a/app/javascript/widget/i18n/locale/ml.json +++ b/app/javascript/widget/i18n/locale/ml.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "ഒരു സംഭാഷണ ട്രാൻസ്ക്രിപ്റ്റ് അഭ്യർത്ഥിക്കുക", "SEND_EMAIL_SUCCESS": "ചാറ്റ് ട്രാൻസ്ക്രിപ്റ്റ് വിജയകരമായി അയച്ചു", "SEND_EMAIL_ERROR": "ഒരു പിശക് ഉണ്ടായിരുന്നു, ദയവായി വീണ്ടും ശ്രമിക്കുക" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ms.json b/app/javascript/widget/i18n/locale/ms.json index 1194a5135..60ca99d51 100644 --- a/app/javascript/widget/i18n/locale/ms.json +++ b/app/javascript/widget/i18n/locale/ms.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ne.json b/app/javascript/widget/i18n/locale/ne.json index ddecddd35..b624bafed 100644 --- a/app/javascript/widget/i18n/locale/ne.json +++ b/app/javascript/widget/i18n/locale/ne.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/nl.json b/app/javascript/widget/i18n/locale/nl.json index aa4dd4f20..86e57b847 100644 --- a/app/javascript/widget/i18n/locale/nl.json +++ b/app/javascript/widget/i18n/locale/nl.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Verzoek een conversatie-transcript", "SEND_EMAIL_SUCCESS": "Het gesprekstranscript is succesvol verzonden", "SEND_EMAIL_ERROR": "Er is een fout opgetreden, probeer het opnieuw" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/no.json b/app/javascript/widget/i18n/locale/no.json index 79c800cc7..7d56815f7 100644 --- a/app/javascript/widget/i18n/locale/no.json +++ b/app/javascript/widget/i18n/locale/no.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Be om utskrift av samtalen", "SEND_EMAIL_SUCCESS": "Kopi av samtalen ble sendt", "SEND_EMAIL_ERROR": "Det oppstod en feil. Prøv igjen" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/pl.json b/app/javascript/widget/i18n/locale/pl.json index ec10cacc8..9f25c6b3d 100644 --- a/app/javascript/widget/i18n/locale/pl.json +++ b/app/javascript/widget/i18n/locale/pl.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Poproś o skrypt rozmowy", "SEND_EMAIL_SUCCESS": "Transkrypcja czatu została wysłana pomyślnie", "SEND_EMAIL_ERROR": "Wystąpił błąd, spróbuj ponownie" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/pt.json b/app/javascript/widget/i18n/locale/pt.json index b7227b18e..d2231de0e 100644 --- a/app/javascript/widget/i18n/locale/pt.json +++ b/app/javascript/widget/i18n/locale/pt.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Pedir a transcrição da conversa", "SEND_EMAIL_SUCCESS": "A transcrição do chat foi enviada com sucesso", "SEND_EMAIL_ERROR": "Ocorreu um erro, por favor tente novamente" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/pt_BR.json b/app/javascript/widget/i18n/locale/pt_BR.json index e029b5b0e..05b6b6423 100644 --- a/app/javascript/widget/i18n/locale/pt_BR.json +++ b/app/javascript/widget/i18n/locale/pt_BR.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Solicitar uma transcrição de conversa", "SEND_EMAIL_SUCCESS": "A transcrição do chat foi enviada com sucesso", "SEND_EMAIL_ERROR": "Ocorreu um erro, por favor tente novamente" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ro.json b/app/javascript/widget/i18n/locale/ro.json index a0454fa40..a6b7410d0 100644 --- a/app/javascript/widget/i18n/locale/ro.json +++ b/app/javascript/widget/i18n/locale/ro.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Solicitați o transcriere a conversației", "SEND_EMAIL_SUCCESS": "Transscrisul de chat a fost trimis cu succes", "SEND_EMAIL_ERROR": "A apărut o eroare, încercați din nou" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ru.json b/app/javascript/widget/i18n/locale/ru.json index 5c67ad106..7a2f294f4 100644 --- a/app/javascript/widget/i18n/locale/ru.json +++ b/app/javascript/widget/i18n/locale/ru.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Запросить историю разговора", "SEND_EMAIL_SUCCESS": "Субтитры чата успешно отправлены", "SEND_EMAIL_ERROR": "Произошла ошибка, попробуйте еще раз" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/sk.json b/app/javascript/widget/i18n/locale/sk.json index 5288d96cd..647eb4dac 100644 --- a/app/javascript/widget/i18n/locale/sk.json +++ b/app/javascript/widget/i18n/locale/sk.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "Prepis chatu bol úspešne odoslaný", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/sr.json b/app/javascript/widget/i18n/locale/sr.json index e937c81cd..e4391e938 100644 --- a/app/javascript/widget/i18n/locale/sr.json +++ b/app/javascript/widget/i18n/locale/sr.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Zatražite kopiju razgovora", "SEND_EMAIL_SUCCESS": "Transkript razgovora je uspešno poslat", "SEND_EMAIL_ERROR": "Pojavila se greška, molim vas pokušajte ponovo" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/sv.json b/app/javascript/widget/i18n/locale/sv.json index 86955b2eb..b09684848 100644 --- a/app/javascript/widget/i18n/locale/sv.json +++ b/app/javascript/widget/i18n/locale/sv.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Skicka konversationstranskribering", "SEND_EMAIL_SUCCESS": "Chattranskriberingen har skickats", "SEND_EMAIL_ERROR": "Ett fel uppstod, vänligen försök igen" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ta.json b/app/javascript/widget/i18n/locale/ta.json index e1eab536d..7a25893d5 100644 --- a/app/javascript/widget/i18n/locale/ta.json +++ b/app/javascript/widget/i18n/locale/ta.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/th.json b/app/javascript/widget/i18n/locale/th.json index 7e4faad1a..1b5be63b8 100644 --- a/app/javascript/widget/i18n/locale/th.json +++ b/app/javascript/widget/i18n/locale/th.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "ต้องการให้ส่งบทสนทนานี้ทางอีเมล์", "SEND_EMAIL_SUCCESS": "บันทึกการสนทนาได้ถูกส่งเเล้ว", "SEND_EMAIL_ERROR": "เกิดข้อผิดพลาดกรุณาลองใหม่อีกครั้ง" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/tr.json b/app/javascript/widget/i18n/locale/tr.json index bfa05ae38..13f97b96f 100644 --- a/app/javascript/widget/i18n/locale/tr.json +++ b/app/javascript/widget/i18n/locale/tr.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Konuşma transkripti talep et", "SEND_EMAIL_SUCCESS": "Sohbet metni başarıyla gönderildi", "SEND_EMAIL_ERROR": "Bir hata oluştu, lütfen tekrar deneyin" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/uk.json b/app/javascript/widget/i18n/locale/uk.json index 444793ae1..c92d84162 100644 --- a/app/javascript/widget/i18n/locale/uk.json +++ b/app/javascript/widget/i18n/locale/uk.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Запит на текст розмови", "SEND_EMAIL_SUCCESS": "Текст розмови надісланий", "SEND_EMAIL_ERROR": "Сталася помилка, будь ласка, спробуйте ще раз" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ur.json b/app/javascript/widget/i18n/locale/ur.json index 9b245a03c..6771f4144 100644 --- a/app/javascript/widget/i18n/locale/ur.json +++ b/app/javascript/widget/i18n/locale/ur.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/ur_IN.json b/app/javascript/widget/i18n/locale/ur_IN.json index 6329cdeb3..141e9b102 100644 --- a/app/javascript/widget/i18n/locale/ur_IN.json +++ b/app/javascript/widget/i18n/locale/ur_IN.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Request a conversation transcript", "SEND_EMAIL_SUCCESS": "The chat transcript was sent successfully", "SEND_EMAIL_ERROR": "There was an error, please try again" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/vi.json b/app/javascript/widget/i18n/locale/vi.json index 0a1ad9753..e15bfe7b4 100644 --- a/app/javascript/widget/i18n/locale/vi.json +++ b/app/javascript/widget/i18n/locale/vi.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "Yêu cầu bản ghi hội thoại", "SEND_EMAIL_SUCCESS": "Bản ghi cuộc trò chuyện đã được gửi thành công", "SEND_EMAIL_ERROR": "Đã có lỗi, vui lòng thử lại" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/zh_CN.json b/app/javascript/widget/i18n/locale/zh_CN.json index 57037a508..089cb5449 100644 --- a/app/javascript/widget/i18n/locale/zh_CN.json +++ b/app/javascript/widget/i18n/locale/zh_CN.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "请求会话抄本", "SEND_EMAIL_SUCCESS": "已成功发送聊天记录", "SEND_EMAIL_ERROR": "出现错误,请重试" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/app/javascript/widget/i18n/locale/zh_TW.json b/app/javascript/widget/i18n/locale/zh_TW.json index e2170e864..a4749ccf3 100644 --- a/app/javascript/widget/i18n/locale/zh_TW.json +++ b/app/javascript/widget/i18n/locale/zh_TW.json @@ -86,5 +86,11 @@ "BUTTON_TEXT": "請求對話記錄", "SEND_EMAIL_SUCCESS": "對話記錄已成功發送", "SEND_EMAIL_ERROR": "出現錯誤,請重試" + }, + "INTEGRATIONS": { + "DYTE": { + "CLICK_HERE_TO_JOIN": "Click here to join", + "LEAVE_THE_ROOM": "Leave the call" + } } } diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 0f5bf966f..e0ab1b074 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -44,6 +44,8 @@ ar: categories: locale: unique: يجب أن تكون فريدة من نوعها في الفئة والبوابة + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: الرجاء التحقق من اتصال الشبكة، عنوان IMAP وحاول مرة أخرى. @@ -137,6 +139,10 @@ ar: online: delete: "%{contact_name} متصل، يرجى المحاولة مرة أخرى لاحقاً" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack هي أداة دردشة تجمع كل اتصالاتك معا في مكان واحد. من خلال دمج Slack، يمكنك الحصول على إشعار بجميع المحادثات الجديدة في حسابك مباشرة داخل Slack." diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 949f90373..dac883881 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -44,6 +44,8 @@ bg: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ bg: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 0c4a0345f..09ef691d3 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -44,6 +44,8 @@ ca: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ca: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack és una eina de xat que uneix tota la teva comunicació en un sol lloc. Integrant Slack, podràs rebre notificacions de totes les noves conversacions a la teva compte directament a dins l'Slack." diff --git a/config/locales/cs.yml b/config/locales/cs.yml index c87fd6bb7..d6cd4f1ae 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -44,6 +44,8 @@ cs: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ cs: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/da.yml b/config/locales/da.yml index 021bbea46..f9f480ce7 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -44,6 +44,8 @@ da: categories: locale: unique: bør være unik i kategorien og portalen + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Tjek venligst netværksforbindelsen, IMAP-adressen og prøv igen. @@ -137,6 +139,10 @@ da: online: delete: "%{contact_name} er online, prøv igen senere" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack er et chatværktøj, der bringer al din kommunikation sammen på ét sted. Ved at integrere Slack, kan du få besked om alle de nye samtaler på din konto lige inde i din Slack." diff --git a/config/locales/de.yml b/config/locales/de.yml index d3bddcd19..ba4a6449e 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -44,6 +44,8 @@ de: categories: locale: unique: sollte in der Kategorie und im Portal eindeutig sein + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Bitte überprüfen Sie die Netzwerkverbindung, die IMAP-Adresse und versuchen Sie es erneut. @@ -137,6 +139,10 @@ de: online: delete: "%{contact_name} ist online, bitte versuchen Sie es später erneut" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack ist ein Chat-Tool, das all deine Kommunikation an einem Ort zusammenbringt. Durch die Integration von Slack kannst du über alle neuen Unterhaltungen in deinem Account direkt in deinem Slack benachrichtigt werden." diff --git a/config/locales/el.yml b/config/locales/el.yml index 65d67dfac..bc2e87a31 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -44,6 +44,8 @@ el: categories: locale: unique: πρέπει να είναι μοναδικό στην κατηγορία και την πύλη + dyte: + invalid_message_type: "Μη έγκυρος τύπος μηνύματος. Δεν επιτρέπεται η ενέργεια" inboxes: imap: socket_error: Παρακαλώ ελέγξτε τη σύνδεση δικτύου, τη διεύθυνση IMAP και προσπαθήστε ξανά. @@ -137,6 +139,10 @@ el: online: delete: "%{contact_name} είναι Online, παρακαλώ προσπαθήστε ξανά αργότερα" integration_apps: + dyte: + name: "Dyte" + description: "Το Dyte είναι εργαλείο που σας βοηθά να προσθέσετε ζωντανό ήχο & βίντεο στην εφαρμογή σας με λίγες μόνο γραμμές κώδικα. Αυτή η ενσωμάτωση σας επιτρέπει να δώσετε μια επιλογή στους πράκτορές σας να έχουν ένα βίντεο ή μια φωνητική κλήση με τους πελάτες σας χωρίς να φύγετε από το Chatwoot." + meeting_name: "Ό πράκτορας %{agent_name} ξεκίνησε μια συνάντηση" slack: name: "Slack" description: "Το Slack είναι ένα εργαλείο συνομιλιών (chat) το οποίο ενώνει σε ένα σημείο όλες τις επικοινωνίες. Ενοποιώντας με το Slack, μπορείτε να λαμβάνετε ειδοποιήσεις για όλες τις συνομιλίες στον λογαριασμό σας από το Slack." diff --git a/config/locales/es.yml b/config/locales/es.yml index 56c689818..23cd3dbbc 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -44,6 +44,8 @@ es: categories: locale: unique: debe ser único en la categoría y el portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Verifique la conexión de red, la dirección IMAP y vuelva a intentarlo. @@ -137,6 +139,10 @@ es: online: delete: "%{contact_name} está conectado, por favor inténtalo más tarde" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack es una herramienta de chat que reúne toda su comunicación en un solo lugar. Al integrar Slack, puede ser notificado de todas las nuevas conversaciones en su cuenta directamente dentro de su Slack." diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 5d6621c5f..efb93a58c 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -44,6 +44,8 @@ fa: categories: locale: unique: باید منحصر به فرد در دسته‌بندی و پورتال باشد + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: لطفا اتصال شبکه، آدرس IMAP را بررسی کنید و دوباره امتحان کنید. @@ -137,6 +139,10 @@ fa: online: delete: "%{contact_name} آنلاین است ، لطفاً بعداً دوباره امتحان کنید" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack ابزاری برای گفتگو است که تمام ارتباطات شما را در یک مکان جمع می کند. با ادغام Slack ، می توانید از تمام مکالمات جدید در حساب خود در داخل Slack مطلع شوید." diff --git a/config/locales/fi.yml b/config/locales/fi.yml index d0e5ab721..ff2c4c386 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -44,6 +44,8 @@ fi: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ fi: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack on chat-työkalu, joka tuo kaiken viestintäsi yhteen paikkaan. Integroimalla Slackin voit saada ilmoituksen kaikista uusista keskusteluista Slackin sisällä." diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 4f6357232..bdca1c819 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -44,6 +44,8 @@ fr: categories: locale: unique: Doit être unique dans la catégorie et le portail + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Veuillez vérifier la connexion, l'adresse IMAP et réessayez. @@ -137,6 +139,10 @@ fr: online: delete: "%{contact_name} est en ligne, veuillez réessayer plus tard" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack est un outil de chat qui regroupe toutes vos communications en un seul endroit. En intégrant Slack, vous pouvez être notifié de toutes les nouvelles conversations de votre compte directement dans votre Slack." diff --git a/config/locales/he.yml b/config/locales/he.yml index 3779786c6..50df3fe72 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -44,6 +44,8 @@ he: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ he: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/hi.yml b/config/locales/hi.yml index d178a1fab..9f108798a 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -44,6 +44,8 @@ hi: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ hi: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/hu.yml b/config/locales/hu.yml index c060076a5..9d15b5425 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -44,6 +44,8 @@ hu: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ hu: online: delete: "%{contact_name} elérhető, kérjük, próbálja meg később újra" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "A Slack egy chat eszköz mely minden kommunikációdat összehozza. A Slack integrálásával értesítést kaphasz új beszélgetésekről a Slack fiókodban." diff --git a/config/locales/id.yml b/config/locales/id.yml index 70ffc327b..1a61535f2 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -44,6 +44,8 @@ id: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ id: online: delete: "%{contact_name} sedang Online, silakan coba lagi nanti" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack adalah alat obrolan yang menyatukan semua komunikasi Anda di satu tempat. Dengan mengintegrasikan Slack, Anda bisa mendapatkan pemberitahuan tentang semua percakapan baru di akun Anda tepat di dalam Slack Anda." diff --git a/config/locales/is.yml b/config/locales/is.yml index 41c5959ef..bc474cd07 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -44,6 +44,8 @@ is: categories: locale: unique: ætti að vera einstakt í flokki og gátt + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Athugaðu nettenginguna, IMAP vistfangið og reyndu aftur. @@ -137,6 +139,10 @@ is: online: delete: "%{contact_name} er á tengdur, vinsamlegast reyndu aftur síðar" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack er spjallforrit sem sameinar öll samskipti þín á einum stað. Með því að samþætta Slack geturðu fengið tilkynningu um öll nýju samtölin á reikningnum þínum beint inni í Slackinu þínu." diff --git a/config/locales/it.yml b/config/locales/it.yml index 2c965215d..0a68e552a 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -44,6 +44,8 @@ it: categories: locale: unique: dovrebbe essere unico nella categoria e nel portale + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Controlla la connessione di rete, l'indirizzo IMAP e riprova. @@ -137,6 +139,10 @@ it: online: delete: "%{contact_name} è online, riprova più tardi" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack è uno strumento di chat che porta tutta la vostra comunicazione insieme in un unico posto. Integrando Slack, puoi ricevere una notifica di tutte le nuove conversazioni nel tuo account direttamente all'interno di Slack." diff --git a/config/locales/ja.yml b/config/locales/ja.yml index aebc35cac..710a88560 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -44,6 +44,8 @@ ja: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ja: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 2c8cfb52c..dffa39bbd 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -44,6 +44,8 @@ ka: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ka: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 1da5a5aa6..d6c4f0a0b 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -44,6 +44,8 @@ ko: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ko: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 49f34a7bb..a6b7e7b75 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -44,6 +44,8 @@ lt: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ lt: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 69a9d9a3e..49d33a211 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -44,6 +44,8 @@ lv: categories: locale: unique: vajadzētu būt unikālai, kategorijā un portālā + dyte: + invalid_message_type: "Nederīgs ziņojuma veids. Darbība nav atļauta" inboxes: imap: socket_error: Lūdzu, pārbaudiet tīkla savienojumu, IMAP adresi un mēģiniet vēlreiz. @@ -137,6 +139,10 @@ lv: online: delete: "%{contact_name} ir Tiešsaistē, lūdzu, vēlāk mēģiniet vēlreiz" integration_apps: + dyte: + name: "Dyte" + description: "Dyte ir rīks, kas lietojumprogrammai palīdz pievienot audio un video tiešraidi, izmantojot tikai dažas koda rindiņas. Šī integrācija ļauj piedāvāt iespēju Jūsu aģentiem veikt video vai balss zvanu ar klientiem, neizejot no Chatwoot." + meeting_name: "%{agent_name} ir sācis sapulci" slack: name: "Slack" description: "Slack ir tērzēšanas rīks, kas apvieno visu Jūsu saziņu vienuviet. Integrējot Slack, Jūs varat saņemt paziņojumus par visām jaunajām sarunām savā kontā tieši savā Slack." diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 15e054a13..3a188cacb 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -44,6 +44,8 @@ ml: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ml: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ms.yml b/config/locales/ms.yml index da06d9679..a5bd86df8 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -44,6 +44,8 @@ ms: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ms: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ne.yml b/config/locales/ne.yml index f5f394277..98ee902db 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -44,6 +44,8 @@ ne: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ne: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 3f9b50ca8..8c73257ca 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -44,6 +44,8 @@ nl: categories: locale: unique: moet uniek zijn in de categorie en portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Controleer de netwerkverbinding, IMAP-adres en probeer het opnieuw. @@ -137,6 +139,10 @@ nl: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/no.yml b/config/locales/no.yml index a11b01d9c..be8a83f59 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -44,6 +44,8 @@ categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack er et chat-verktøy som bringer all kommunikasjon sammen på ett sted. Ved å integrere Slack, kan du få beskjed om alle nye samtaler i kontoen din." diff --git a/config/locales/pl.yml b/config/locales/pl.yml index dafd9a609..3860bde9a 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -44,6 +44,8 @@ pl: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ pl: online: delete: "%{contact_name} jest online, spróbuj ponownie później" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack to narzędzie czatu, które łączy całą Twoją komunikację w jednym miejscu. Integrując Slack, możesz otrzymywać powiadomienia o wszystkich nowych rozmowach na swoim koncie bezpośrednio wewnątrz Slack." diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 0384651ec..c769d6e04 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -44,6 +44,8 @@ pt: categories: locale: unique: deve ser único na categoria e no portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ pt: online: delete: "%{contact_name} está Online, por favor, tente novamente mais tarde" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack é uma ferramenta de chat que junta num só lugar todas as suas comunicações. Ao integrar o Slack com a sua conta, pode ser notificado de todas as novas conversas diretamente no seu Slack." diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index 1030ff4fa..70f2d9cfe 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -44,6 +44,8 @@ pt_BR: categories: locale: unique: deve ser único na categoria e no portal + dyte: + invalid_message_type: "Tipo de mensagem inválido. Ação não permitida" inboxes: imap: socket_error: Por favor, verifique a conexão de rede, endereço de IMAP e tente novamente. @@ -137,6 +139,10 @@ pt_BR: online: delete: "%{contact_name} está Online, por favor, tente novamente mais tarde" integration_apps: + dyte: + name: "Dyte" + description: "Dyte é uma ferramenta que ajuda você a adicionar áudio e vídeo ao vivo em sua aplicação com apenas algumas linhas de código. Essa integração permite dar uma opção aos seus agentes para ter uma chamada de vídeo ou voz com os seus clientes sem sair do Chatwoot." + meeting_name: "%{agent_name} começou a reunião" slack: name: "Slack" description: "Slack é uma ferramenta que reúne todas as suas comunicações em um só lugar. Ao integrar o Slack, você pode ser notificado de todas as novas conversas da sua conta diretamente no seu Slack." diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 02880fa43..985de9f34 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -44,6 +44,8 @@ ro: categories: locale: unique: ar trebui să fie unic în categorie și portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Verificați conexiunea la rețea, adresa IMAP și încercați din nou. @@ -137,6 +139,10 @@ ro: online: delete: "%{contact_name} este online, încercați din nou mai târziu" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack este un instrument de chat care vă reunește toate comunicările într-un singur loc. Prin integrarea Slack, puteți fi notificat cu privire la toate conversațiile noi din cont chiar în interiorul Slack-ului." diff --git a/config/locales/ru.yml b/config/locales/ru.yml index bcdc10be0..b64a685db 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -44,6 +44,8 @@ ru: categories: locale: unique: Должны быть уникальными в категории и портале + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Пожалуйста, проверьте сетевое подключение, адрес IMAP и повторите попытку. @@ -137,6 +139,10 @@ ru: online: delete: "%{contact_name} в сети, повторите попытку позже" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack это сервис, который позволяет объединить рабочие коммуникации в одном месте. При интеграции с Slack вы будете получать уведомления обо всех новых разговорах прямо в Slack." diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 74307f1d7..74cf8d370 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -44,6 +44,8 @@ sk: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ sk: online: delete: "%{contact_name} je online, skúste to prosím neskôr" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack je chatovací nástroj, ktorý spája všetku vašu komunikáciu na jednom mieste. Integráciou služby Slack môžete dostávať upozornenia na všetky nové konverzácie vo vašom účte priamo v službe Slack." diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 55d2ff766..5a17c7c0c 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -44,6 +44,8 @@ sr-Latn: categories: locale: unique: treba biti jedinstvena u kategoriji i portalu + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Molim vas proverite vezu sa mrežom, IMAP adresu i pokušajte ponovo. @@ -137,6 +139,10 @@ sr-Latn: online: delete: "%{contact_name} je dostupan, molim vas pokušajte ponovo" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack je alat za ćaskanje koji objedinjuje sve vaše komunikacije na jedno mesto. Integracijom Slack-a, možete biti obavešteni o svim novim razgovorima na vašem nalogu direktno u Slack-u." diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 2fdcd5e0f..57951284f 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -44,6 +44,8 @@ sv: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ sv: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack är ett chattverktyg som samlar all din kommunikation på ett ställe. Genom att integrera Slack kan du få meddelanden om alla nya konversationer på ditt konto direkt i din Slack." diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 05d7ade2f..d60dbcfff 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -44,6 +44,8 @@ ta: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ta: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/th.yml b/config/locales/th.yml index 3047a2765..f2eb3bd6f 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -44,6 +44,8 @@ th: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ th: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 27ed413d1..de9264115 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -44,6 +44,8 @@ tr: categories: locale: unique: kategori ve portalde tekil olmalı + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Lütfen ağ bağlantınızı, IMAP adresini kontrol edin ve tekrar deneyin. @@ -137,6 +139,10 @@ tr: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack, tüm iletişiminizi tek bir yerde bir araya getiren bir sohbet aracıdır. Slack'i entegre ederek, hesabınızdaki tüm yeni konuşmalardan Slack'inizin içinde bildirim alabilirsiniz." diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 2ac099568..eb17b1db6 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -44,6 +44,8 @@ uk: categories: locale: unique: має бути унікальним на категорії і порталі + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Перевірте підключення до мережі, адреса IMAP і повторіть спробу. @@ -137,6 +139,10 @@ uk: online: delete: "%{contact_name} в онлайні, будь ласка, спробуйте ще раз пізніше" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack - це інструмент чату, який об'єднує ваші комунікації разом в одному місці. Інтегруючи Slack, ви можете отримати повідомлення про всі нові діалоги у вашому обліковому записі прямо в Slack." diff --git a/config/locales/ur.yml b/config/locales/ur.yml index bb1e4e158..ecdedefc7 100644 --- a/config/locales/ur.yml +++ b/config/locales/ur.yml @@ -44,6 +44,8 @@ ur: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ur: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/ur_IN.yml b/config/locales/ur_IN.yml index 31101b203..5eb302471 100644 --- a/config/locales/ur_IN.yml +++ b/config/locales/ur_IN.yml @@ -44,6 +44,8 @@ ur: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ ur: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 6e0a94a6c..1217f0132 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -44,6 +44,8 @@ vi: categories: locale: unique: phải là duy nhất trong danh mục và cổng thông tin + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Vui lòng kiểm tra kết nối mạng, địa chỉ IMAP và thử lại. @@ -137,6 +139,10 @@ vi: online: delete: "%{contact_name} đang trực tiếng, vui lòng thử lại sau" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack là một công cụ trò chuyện giúp mang tất cả các cuộc giao tiếp của bạn lại với nhau ở một nơi. Bằng cách tích hợp Slack, bạn có thể nhận được thông báo về tất cả các cuộc trò chuyện mới trong tài khoản của mình ngay bên trong Slack." diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml index 683d345c4..e609b6dcd 100644 --- a/config/locales/zh_CN.yml +++ b/config/locales/zh_CN.yml @@ -44,6 +44,8 @@ zh_CN: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ zh_CN: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." diff --git a/config/locales/zh_TW.yml b/config/locales/zh_TW.yml index 2c6d8200b..292d7c0ed 100644 --- a/config/locales/zh_TW.yml +++ b/config/locales/zh_TW.yml @@ -44,6 +44,8 @@ zh_TW: categories: locale: unique: should be unique in the category and portal + dyte: + invalid_message_type: "Invalid message type. Action not permitted" inboxes: imap: socket_error: Please check the network connection, IMAP address and try again. @@ -137,6 +139,10 @@ zh_TW: online: delete: "%{contact_name} is Online, please try again later" integration_apps: + dyte: + name: "Dyte" + description: "Dyte is tool that helps you to add live audio & video to your application with just a few lines of code. This integration allows you to give an option to your agents to have a video or voice call with your customers from without leaving Chatwoot." + meeting_name: "%{agent_name} has started a meeting" slack: name: "Slack" description: "Slack is a chat tool that brings all your communication together in one place. By integrating Slack, you can get notified of all the new conversations in your account right inside your Slack." From add33d032c48c6dc8e5c99da1d9ff966a8af8cd7 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 10 Jan 2023 11:35:56 +0530 Subject: [PATCH 23/48] feat: Adds automation view for assigning an agent (#6131) * feat: Adds automation view for assigning an agent Co-authored-by: Tejaswini Chile Co-authored-by: Muhsin Keloth Co-authored-by: Pranav Raj S --- .../dashboard/helper/automationHelper.js | 11 +++++----- .../mixins/automations/methodsMixin.js | 4 ++-- .../settings/automation/AddAutomationRule.vue | 2 +- .../settings/automation/constants.js | 20 +++++++++++++++++++ .../mixins/specs/automationHelper.spec.js | 2 +- .../mixins/specs/automationMixin.spec.js | 8 +++++++- .../concerns/activity_message_handler.rb | 2 ++ 7 files changed, 39 insertions(+), 10 deletions(-) diff --git a/app/javascript/dashboard/helper/automationHelper.js b/app/javascript/dashboard/helper/automationHelper.js index 715a11294..6bafb6b45 100644 --- a/app/javascript/dashboard/helper/automationHelper.js +++ b/app/javascript/dashboard/helper/automationHelper.js @@ -97,8 +97,9 @@ export const generateConditionOptions = (options, key = 'id') => { }); }; -export const getActionOptions = ({ teams, labels, type }) => { +export const getActionOptions = ({ agents, teams, labels, type }) => { const actionsMap = { + assign_agent: agents, assign_team: teams, send_email_to_team: teams, add_label: generateConditionOptions(labels, 'title'), @@ -178,7 +179,7 @@ export const getDefaultConditions = eventName => { export const getDefaultActions = () => { return [ { - action_name: 'assign_team', + action_name: 'assign_agent', action_params: [], }, ]; @@ -213,7 +214,7 @@ export const isCustomAttribute = (attrs, key) => { export const generateCustomAttributes = ( conversationAttributes = [], - contactAttribtues = [], + contactAttributes = [], conversationlabel, contactlabel ) => { @@ -228,14 +229,14 @@ export const generateCustomAttributes = ( ...conversationAttributes ); } - if (contactAttribtues.length) { + if (contactAttributes.length) { customAttributes.push( { key: `contact_custom_attribute`, name: contactlabel, disabled: true, }, - ...contactAttribtues + ...contactAttributes ); } return customAttributes; diff --git a/app/javascript/dashboard/mixins/automations/methodsMixin.js b/app/javascript/dashboard/mixins/automations/methodsMixin.js index ac9dddd06..1387868c5 100644 --- a/app/javascript/dashboard/mixins/automations/methodsMixin.js +++ b/app/javascript/dashboard/mixins/automations/methodsMixin.js @@ -250,8 +250,8 @@ export default { }; }, getActionDropdownValues(type) { - const { labels, teams } = this; - return getActionOptions({ labels, teams, type }); + const { agents, labels, teams } = this; + return getActionOptions({ agents, labels, teams, type }); }, manifestCustomAttributes() { const conversationCustomAttributesRaw = this.$store.getters[ diff --git a/app/javascript/dashboard/routes/dashboard/settings/automation/AddAutomationRule.vue b/app/javascript/dashboard/routes/dashboard/settings/automation/AddAutomationRule.vue index 8b5a13585..e0af07c04 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/automation/AddAutomationRule.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/automation/AddAutomationRule.vue @@ -187,7 +187,7 @@ export default { ], actions: [ { - action_name: 'assign_team', + action_name: 'assign_agent', action_params: [], }, ], diff --git a/app/javascript/dashboard/routes/dashboard/settings/automation/constants.js b/app/javascript/dashboard/routes/dashboard/settings/automation/constants.js index 62606ff13..260288e8b 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/automation/constants.js +++ b/app/javascript/dashboard/routes/dashboard/settings/automation/constants.js @@ -30,6 +30,11 @@ export const AUTOMATIONS = { }, ], actions: [ + { + key: 'assign_agent', + name: 'Assign to agent', + attributeI18nKey: 'ASSIGN_AGENT', + }, { key: 'assign_team', name: 'Assign a team', @@ -129,6 +134,11 @@ export const AUTOMATIONS = { }, ], actions: [ + { + key: 'assign_agent', + name: 'Assign to agent', + attributeI18nKey: 'ASSIGN_AGENT', + }, { key: 'assign_team', name: 'Assign a team', @@ -241,6 +251,11 @@ export const AUTOMATIONS = { }, ], actions: [ + { + key: 'assign_agent', + name: 'Assign to agent', + attributeI18nKey: 'ASSIGN_AGENT', + }, { key: 'assign_team', name: 'Assign a team', @@ -311,6 +326,11 @@ export const AUTOMATION_RULE_EVENTS = [ ]; export const AUTOMATION_ACTION_TYPES = [ + { + key: 'assign_agent', + label: 'Assign to agent', + inputType: 'search_select', + }, { key: 'assign_team', label: 'Assign a team', diff --git a/app/javascript/shared/mixins/specs/automationHelper.spec.js b/app/javascript/shared/mixins/specs/automationHelper.spec.js index 468f22d96..481613323 100644 --- a/app/javascript/shared/mixins/specs/automationHelper.spec.js +++ b/app/javascript/shared/mixins/specs/automationHelper.spec.js @@ -214,7 +214,7 @@ describe('automationMethodsMixin', () => { it('getDefaultActions returns the resp default action model', () => { const genericActionModel = [ { - action_name: 'assign_team', + action_name: 'assign_agent', action_params: [], }, ]; diff --git a/app/javascript/shared/mixins/specs/automationMixin.spec.js b/app/javascript/shared/mixins/specs/automationMixin.spec.js index e0f72c0d3..daf2121a0 100644 --- a/app/javascript/shared/mixins/specs/automationMixin.spec.js +++ b/app/javascript/shared/mixins/specs/automationMixin.spec.js @@ -209,7 +209,7 @@ describe('automationMethodsMixin', () => { it('appendNewAction appends a new condition to the automation data property', () => { const action = { - action_name: 'assign_team', + action_name: 'assign_agent', action_params: [], }; const data = () => { @@ -339,6 +339,9 @@ describe('automationMethodsMixin', () => { }; }; const computed = { + agents() { + return agents; + }, labels() { return labels; }, @@ -419,6 +422,9 @@ describe('automationMethodsMixin', () => { return {}; }; const computed = { + agents() { + return agents; + }, labels() { return labels; }, diff --git a/app/models/concerns/activity_message_handler.rb b/app/models/concerns/activity_message_handler.rb index cdab4e17d..7fc020e3c 100644 --- a/app/models/concerns/activity_message_handler.rb +++ b/app/models/concerns/activity_message_handler.rb @@ -104,6 +104,8 @@ module ActivityMessageHandler end def create_assignee_change_activity(user_name) + user_name = activity_message_ownner(user_name) + return unless user_name content = generate_assignee_change_activity_content(user_name) From e7a52c3a461b0313f7169c5ba9f590c4e626fd42 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:36:16 +0530 Subject: [PATCH 24/48] fix: If desktop view is false then the view not getting updated (#6214) * fix: Desktop view is false then the view not getting updated * chore: Handle sidebar in small screen * fix: Scroll issue in touch screens --- .../scss/widgets/_conversation-view.scss | 6 +++- app/javascript/dashboard/constants.js | 2 +- .../dashboard/routes/dashboard/Dashboard.vue | 29 +++++++++++++------ 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index 55135da2d..d46f5d5f8 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -81,8 +81,12 @@ } .conversations-list { - @include scroll-on-hover; + overflow-y: auto; flex: 1 1; + + @include breakpoint(large up) { + @include scroll-on-hover; + } } .chat-list__top { diff --git a/app/javascript/dashboard/constants.js b/app/javascript/dashboard/constants.js index cb3e398ad..2263154bd 100644 --- a/app/javascript/dashboard/constants.js +++ b/app/javascript/dashboard/constants.js @@ -23,6 +23,6 @@ export default { }, DOCS_URL: '//www.chatwoot.com/docs/product/', TESTIMONIAL_URL: 'https://testimonials.cdn.chatwoot.com/content.json', - SMALL_SCREEN_BREAKPOINT: 992, + SMALL_SCREEN_BREAKPOINT: 1024, }; export const DEFAULT_REDIRECT_URL = '/app/'; diff --git a/app/javascript/dashboard/routes/dashboard/Dashboard.vue b/app/javascript/dashboard/routes/dashboard/Dashboard.vue index 7f9f38f0a..46ea0d57a 100644 --- a/app/javascript/dashboard/routes/dashboard/Dashboard.vue +++ b/app/javascript/dashboard/routes/dashboard/Dashboard.vue @@ -62,13 +62,12 @@ export default { mixins: [uiSettingsMixin], data() { return { - isOnDesktop: true, showAccountModal: false, showCreateAccountModal: false, showAddLabelModal: false, showShortcutModal: false, isNotificationPanel: false, - isDesktopView: false, + displayLayoutType: '', }; }, computed: { @@ -85,14 +84,25 @@ export default { } = this.uiSettings; return conversationDisplayType; }, + previouslyUsedSidebarView() { + const { + previously_used_sidebar_view: showSecondarySidebar, + } = this.uiSettings; + return showSecondarySidebar; + }, }, watch: { - isDesktopView() { + displayLayoutType() { const { LAYOUT_TYPES } = wootConstants; this.updateUISettings({ - conversation_display_type: !this.isDesktopView - ? LAYOUT_TYPES.EXPANDED - : this.previouslyUsedDisplayType, + conversation_display_type: + this.displayLayoutType === LAYOUT_TYPES.EXPANDED + ? LAYOUT_TYPES.EXPANDED + : this.previouslyUsedDisplayType, + show_secondary_sidebar: + this.displayLayoutType === LAYOUT_TYPES.EXPANDED + ? false + : this.previouslyUsedSidebarView, }); }, }, @@ -108,7 +118,7 @@ export default { methods: { handleResize() { - const { SMALL_SCREEN_BREAKPOINT } = wootConstants; + const { SMALL_SCREEN_BREAKPOINT, LAYOUT_TYPES } = wootConstants; let throttled = false; const delay = 150; @@ -120,15 +130,16 @@ export default { setTimeout(() => { throttled = false; if (window.innerWidth <= SMALL_SCREEN_BREAKPOINT) { - this.isDesktopView = false; + this.displayLayoutType = LAYOUT_TYPES.EXPANDED; } else { - this.isDesktopView = true; + this.displayLayoutType = LAYOUT_TYPES.CONDENSED; } }, delay); }, toggleSidebar() { this.updateUISettings({ show_secondary_sidebar: !this.isSidebarOpen, + previously_used_sidebar_view: !this.isSidebarOpen, }); }, openCreateAccountModal() { From 078ff615ee100fb386846d08ea148f3e75465419 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Tue, 10 Jan 2023 16:00:34 +0530 Subject: [PATCH 25/48] feat: Add support for template variables in messages content (#6215) Fixes: #6078 Co-authored-by: Sojan --- app/drops/contact_drop.rb | 17 +++++++ app/drops/user_drop.rb | 8 ++++ app/models/concerns/liquidable.rb | 36 ++++++++++++++ app/models/message.rb | 1 + spec/drops/contact_drop_spec.rb | 26 ++++++++++ spec/drops/user_drop_spec.rb | 26 ++++++++++ spec/models/concerns/liquidable_shared.rb | 58 +++++++++++++++++++++++ spec/models/message_spec.rb | 5 ++ 8 files changed, 177 insertions(+) create mode 100644 app/drops/contact_drop.rb create mode 100644 app/models/concerns/liquidable.rb create mode 100644 spec/drops/contact_drop_spec.rb create mode 100644 spec/drops/user_drop_spec.rb create mode 100644 spec/models/concerns/liquidable_shared.rb diff --git a/app/drops/contact_drop.rb b/app/drops/contact_drop.rb new file mode 100644 index 000000000..7d5a85f0e --- /dev/null +++ b/app/drops/contact_drop.rb @@ -0,0 +1,17 @@ +class ContactDrop < BaseDrop + def email + @obj.try(:email) + end + + def phone_number + @obj.try(:phone_number) + end + + def first_name + @obj.try(:name).try(:split).try(:first) + end + + def last_name + @obj.try(:name).try(:split).try(:last) if @obj.try(:name).try(:split).try(:size) > 1 + end +end diff --git a/app/drops/user_drop.rb b/app/drops/user_drop.rb index f10eee131..0ef91a724 100644 --- a/app/drops/user_drop.rb +++ b/app/drops/user_drop.rb @@ -2,4 +2,12 @@ class UserDrop < BaseDrop def available_name @obj.try(:available_name) end + + def first_name + @obj.try(:name).try(:split).try(:first) + end + + def last_name + @obj.try(:name).try(:split).try(:last) if @obj.try(:name).try(:split).try(:size) > 1 + end end diff --git a/app/models/concerns/liquidable.rb b/app/models/concerns/liquidable.rb new file mode 100644 index 000000000..0ef1594d1 --- /dev/null +++ b/app/models/concerns/liquidable.rb @@ -0,0 +1,36 @@ +module Liquidable + extend ActiveSupport::Concern + + included do + acts_as_taggable_on :labels + before_create :process_liquid_in_content + end + + private + + def message_drops + { + 'contact' => ContactDrop.new(conversation.contact), + 'agent' => UserDrop.new(sender), + 'conversation' => ConversationDrop.new(conversation), + 'inbox' => InboxDrop.new(inbox) + } + end + + def liquid_processable_message? + content.present? && message_type == 'outgoing' + end + + def process_liquid_in_content + return unless liquid_processable_message? + + template = Liquid::Template.parse(modified_liquid_content) + self.content = template.render(message_drops) + end + + def modified_liquid_content + # This regex is used to match the code blocks in the content + # We don't want to process liquid in code blocks + content.gsub(/`(.*?)`/m, '{% raw %}`\\1`{% endraw %}') + end +end diff --git a/app/models/message.rb b/app/models/message.rb index 50b8661f7..b7ee24a8b 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -32,6 +32,7 @@ class Message < ApplicationRecord include MessageFilterHelpers + include Liquidable NUMBER_OF_PERMITTED_ATTACHMENTS = 15 before_validation :ensure_content_type diff --git a/spec/drops/contact_drop_spec.rb b/spec/drops/contact_drop_spec.rb new file mode 100644 index 000000000..c87eb4e2a --- /dev/null +++ b/spec/drops/contact_drop_spec.rb @@ -0,0 +1,26 @@ +require 'rails_helper' + +describe ::ContactDrop do + subject(:contact_drop) { described_class.new(contact) } + + let!(:contact) { create(:contact) } + + context 'when first name' do + it 'returns first name' do + contact.update!(name: 'John Doe') + expect(subject.first_name).to eq 'John' + end + end + + context 'when last name' do + it 'returns the last name' do + contact.update!(name: 'John Doe') + expect(subject.last_name).to eq 'Doe' + end + + it 'returns empty when last name not present' do + contact.update!(name: 'John') + expect(subject.last_name).to be_nil + end + end +end diff --git a/spec/drops/user_drop_spec.rb b/spec/drops/user_drop_spec.rb new file mode 100644 index 000000000..1af9f3014 --- /dev/null +++ b/spec/drops/user_drop_spec.rb @@ -0,0 +1,26 @@ +require 'rails_helper' + +describe ::UserDrop do + subject(:user_drop) { described_class.new(user) } + + let!(:user) { create(:user) } + + context 'when first name' do + it 'returns first name' do + user.update!(name: 'John Doe') + expect(subject.first_name).to eq 'John' + end + end + + context 'when last name' do + it 'returns the last name' do + user.update!(name: 'John Doe') + expect(subject.last_name).to eq 'Doe' + end + + it 'returns empty when last name not present' do + user.update!(name: 'John') + expect(subject.last_name).to be_nil + end + end +end diff --git a/spec/models/concerns/liquidable_shared.rb b/spec/models/concerns/liquidable_shared.rb new file mode 100644 index 000000000..530b76a59 --- /dev/null +++ b/spec/models/concerns/liquidable_shared.rb @@ -0,0 +1,58 @@ +require 'rails_helper' + +shared_examples_for 'liqudable' do + context 'when liquid is present in content' do + let(:contact) { create(:contact, name: 'john', phone_number: '+912883') } + let(:conversation) { create(:conversation, id: 1, contact: contact) } + + context 'when message is incoming' do + let(:message) { build(:message, conversation: conversation, message_type: 'incoming') } + + it 'will not process liquid in content' do + message.content = 'hey {{contact.name}} how are you?' + message.save! + expect(message.content).to eq 'hey {{contact.name}} how are you?' + end + end + + context 'when message is outgoing' do + let(:message) { build(:message, conversation: conversation, message_type: 'outgoing') } + + it 'set replaces liquid variables in message' do + message.content = 'hey {{contact.name}} how are you?' + message.save! + expect(message.content).to eq 'hey john how are you?' + end + + it 'process liquid operators like default value' do + message.content = 'Can we send you an email at {{ contact.email | default: "default" }} ?' + message.save! + expect(message.content).to eq 'Can we send you an email at default ?' + end + + it 'return empty string when value is not available' do + message.content = 'Can we send you an email at {{contact.email}}?' + message.save! + expect(message.content).to eq 'Can we send you an email at ?' + end + + it 'will not process liquid tags in multiple code blocks' do + message.content = 'hey {{contact.name}} how are you? ```code: {{contact.name}}``` ``` code: {{contact.name}} ``` test `{{contact.name}}`' + message.save! + expect(message.content).to eq 'hey john how are you? ```code: {{contact.name}}``` ``` code: {{contact.name}} ``` test `{{contact.name}}`' + end + + it 'will not process liquid tags in single ticks' do + message.content = 'hey {{contact.name}} how are you? ` code: {{contact.name}} ` ` code: {{contact.name}} ` test' + message.save! + expect(message.content).to eq 'hey john how are you? ` code: {{contact.name}} ` ` code: {{contact.name}} ` test' + end + + it 'will not throw error for broken quotes' do + message.content = 'hey {{contact.name}} how are you? ` code: {{contact.name}} ` ` code: {{contact.name}} test' + message.save! + expect(message.content).to eq 'hey john how are you? ` code: {{contact.name}} ` ` code: john test' + end + end + end +end diff --git a/spec/models/message_spec.rb b/spec/models/message_spec.rb index de237415f..f88214fbe 100644 --- a/spec/models/message_spec.rb +++ b/spec/models/message_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'rails_helper' +require Rails.root.join 'spec/models/concerns/liquidable_shared.rb' RSpec.describe Message, type: :model do context 'with validations' do @@ -9,6 +10,10 @@ RSpec.describe Message, type: :model do it { is_expected.to validate_presence_of(:account_id) } end + describe 'concerns' do + it_behaves_like 'liqudable' + end + describe '#reopen_conversation' do let(:conversation) { create(:conversation) } let(:message) { build(:message, message_type: :incoming, conversation: conversation) } From 60f16e895437a0d8b1d64816d5c20dc2b837abd1 Mon Sep 17 00:00:00 2001 From: Fayaz Ahmed <15716057+fayazara@users.noreply.github.com> Date: Tue, 10 Jan 2023 17:50:16 +0530 Subject: [PATCH 26/48] Use woot-editor instead of native textarea (#6216) --- .../widgets/AutomationActionInput.vue | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/AutomationActionInput.vue b/app/javascript/dashboard/components/widgets/AutomationActionInput.vue index 718be4c6f..07e49c235 100644 --- a/app/javascript/dashboard/components/widgets/AutomationActionInput.vue +++ b/app/javascript/dashboard/components/widgets/AutomationActionInput.vue @@ -88,9 +88,9 @@ v-model="action_params" :teams="dropdownValues" /> -