From 0a181b0cea826bd52728bb7446c4f05c2668feb6 Mon Sep 17 00:00:00 2001 From: Captain <92152627+chatwoot-bot@users.noreply.github.com> Date: Tue, 2 Jun 2026 08:51:50 -0700 Subject: [PATCH] chore: Update translations (#14498) Updates dashboard, widget, and backend locale files with the latest translation sync from Crowdin. ## Closes N/A ## What changed - Refreshes translated dashboard JSON locale files across supported languages. - Adds the latest backend Help Center/public portal locale strings. - Keeps the branch current with `develop` and resolves the `ar`, `fr`, and `pt_BR` locale conflicts. ## Validation - Parsed all changed JSON and YAML locale files successfully. - Checked for leftover merge conflict markers. - Ran `git diff --check`. --------- Co-authored-by: Sojan Jose --- .../dashboard/i18n/locale/am/bulkActions.json | 16 +-- .../dashboard/i18n/locale/am/campaign.json | 2 + .../dashboard/i18n/locale/am/components.json | 3 +- .../dashboard/i18n/locale/am/contact.json | 5 + .../i18n/locale/am/conversation.json | 26 ++++- .../dashboard/i18n/locale/am/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/am/inboxMgmt.json | 35 +++++- .../i18n/locale/am/integrations.json | 3 +- .../dashboard/i18n/locale/ar/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ar/campaign.json | 2 + .../dashboard/i18n/locale/ar/components.json | 3 +- .../dashboard/i18n/locale/ar/contact.json | 5 + .../i18n/locale/ar/conversation.json | 26 ++++- .../dashboard/i18n/locale/ar/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ar/inboxMgmt.json | 35 +++++- .../i18n/locale/ar/integrations.json | 3 +- .../dashboard/i18n/locale/az/bulkActions.json | 16 +-- .../dashboard/i18n/locale/az/campaign.json | 2 + .../dashboard/i18n/locale/az/components.json | 3 +- .../dashboard/i18n/locale/az/contact.json | 5 + .../i18n/locale/az/conversation.json | 26 ++++- .../dashboard/i18n/locale/az/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/az/inboxMgmt.json | 35 +++++- .../i18n/locale/az/integrations.json | 3 +- .../dashboard/i18n/locale/bg/bulkActions.json | 16 +-- .../dashboard/i18n/locale/bg/campaign.json | 2 + .../dashboard/i18n/locale/bg/components.json | 3 +- .../dashboard/i18n/locale/bg/contact.json | 5 + .../i18n/locale/bg/conversation.json | 26 ++++- .../dashboard/i18n/locale/bg/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/bg/inboxMgmt.json | 35 +++++- .../i18n/locale/bg/integrations.json | 3 +- .../dashboard/i18n/locale/bn/bulkActions.json | 16 +-- .../dashboard/i18n/locale/bn/campaign.json | 2 + .../dashboard/i18n/locale/bn/components.json | 3 +- .../dashboard/i18n/locale/bn/contact.json | 5 + .../i18n/locale/bn/conversation.json | 26 ++++- .../dashboard/i18n/locale/bn/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/bn/inboxMgmt.json | 35 +++++- .../i18n/locale/bn/integrations.json | 3 +- .../dashboard/i18n/locale/ca/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ca/campaign.json | 2 + .../dashboard/i18n/locale/ca/components.json | 3 +- .../dashboard/i18n/locale/ca/contact.json | 5 + .../i18n/locale/ca/conversation.json | 26 ++++- .../dashboard/i18n/locale/ca/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ca/inboxMgmt.json | 35 +++++- .../i18n/locale/ca/integrations.json | 3 +- .../dashboard/i18n/locale/cs/bulkActions.json | 16 +-- .../dashboard/i18n/locale/cs/campaign.json | 2 + .../dashboard/i18n/locale/cs/components.json | 3 +- .../dashboard/i18n/locale/cs/contact.json | 5 + .../i18n/locale/cs/conversation.json | 26 ++++- .../dashboard/i18n/locale/cs/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/cs/inboxMgmt.json | 35 +++++- .../i18n/locale/cs/integrations.json | 3 +- .../dashboard/i18n/locale/da/bulkActions.json | 16 +-- .../dashboard/i18n/locale/da/campaign.json | 2 + .../dashboard/i18n/locale/da/components.json | 3 +- .../dashboard/i18n/locale/da/contact.json | 5 + .../i18n/locale/da/conversation.json | 26 ++++- .../dashboard/i18n/locale/da/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/da/inboxMgmt.json | 35 +++++- .../i18n/locale/da/integrations.json | 3 +- .../dashboard/i18n/locale/de/bulkActions.json | 16 +-- .../dashboard/i18n/locale/de/campaign.json | 2 + .../dashboard/i18n/locale/de/components.json | 3 +- .../dashboard/i18n/locale/de/contact.json | 5 + .../i18n/locale/de/conversation.json | 26 ++++- .../dashboard/i18n/locale/de/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/de/inboxMgmt.json | 35 +++++- .../i18n/locale/de/integrations.json | 3 +- .../dashboard/i18n/locale/el/bulkActions.json | 16 +-- .../dashboard/i18n/locale/el/campaign.json | 2 + .../dashboard/i18n/locale/el/components.json | 3 +- .../dashboard/i18n/locale/el/contact.json | 5 + .../i18n/locale/el/conversation.json | 26 ++++- .../dashboard/i18n/locale/el/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/el/inboxMgmt.json | 35 +++++- .../i18n/locale/el/integrations.json | 3 +- .../dashboard/i18n/locale/es/bulkActions.json | 16 +-- .../dashboard/i18n/locale/es/campaign.json | 2 + .../dashboard/i18n/locale/es/components.json | 3 +- .../dashboard/i18n/locale/es/contact.json | 5 + .../i18n/locale/es/conversation.json | 26 ++++- .../dashboard/i18n/locale/es/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/es/inboxMgmt.json | 35 +++++- .../i18n/locale/es/integrations.json | 3 +- .../dashboard/i18n/locale/et/bulkActions.json | 16 +-- .../dashboard/i18n/locale/et/campaign.json | 2 + .../dashboard/i18n/locale/et/components.json | 3 +- .../dashboard/i18n/locale/et/contact.json | 5 + .../i18n/locale/et/conversation.json | 26 ++++- .../dashboard/i18n/locale/et/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/et/inboxMgmt.json | 35 +++++- .../i18n/locale/et/integrations.json | 3 +- .../dashboard/i18n/locale/fa/bulkActions.json | 16 +-- .../dashboard/i18n/locale/fa/campaign.json | 2 + .../dashboard/i18n/locale/fa/companies.json | 2 +- .../dashboard/i18n/locale/fa/components.json | 3 +- .../dashboard/i18n/locale/fa/contact.json | 5 + .../i18n/locale/fa/conversation.json | 34 +++++- .../dashboard/i18n/locale/fa/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/fa/inboxMgmt.json | 35 +++++- .../i18n/locale/fa/integrations.json | 3 +- .../dashboard/i18n/locale/fi/bulkActions.json | 16 +-- .../dashboard/i18n/locale/fi/campaign.json | 2 + .../dashboard/i18n/locale/fi/components.json | 3 +- .../dashboard/i18n/locale/fi/contact.json | 5 + .../i18n/locale/fi/conversation.json | 26 ++++- .../dashboard/i18n/locale/fi/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/fi/inboxMgmt.json | 35 +++++- .../i18n/locale/fi/integrations.json | 3 +- .../dashboard/i18n/locale/fr/bulkActions.json | 16 +-- .../dashboard/i18n/locale/fr/campaign.json | 2 + .../dashboard/i18n/locale/fr/components.json | 3 +- .../dashboard/i18n/locale/fr/contact.json | 5 + .../i18n/locale/fr/conversation.json | 26 ++++- .../dashboard/i18n/locale/fr/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/fr/inboxMgmt.json | 35 +++++- .../i18n/locale/fr/integrations.json | 3 +- .../dashboard/i18n/locale/fr/onboarding.json | 24 ++-- .../dashboard/i18n/locale/he/bulkActions.json | 16 +-- .../dashboard/i18n/locale/he/campaign.json | 2 + .../dashboard/i18n/locale/he/components.json | 3 +- .../dashboard/i18n/locale/he/contact.json | 5 + .../i18n/locale/he/conversation.json | 26 ++++- .../dashboard/i18n/locale/he/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/he/inboxMgmt.json | 35 +++++- .../i18n/locale/he/integrations.json | 3 +- .../dashboard/i18n/locale/hi/bulkActions.json | 16 +-- .../dashboard/i18n/locale/hi/campaign.json | 2 + .../dashboard/i18n/locale/hi/components.json | 3 +- .../dashboard/i18n/locale/hi/contact.json | 5 + .../i18n/locale/hi/conversation.json | 26 ++++- .../dashboard/i18n/locale/hi/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/hi/inboxMgmt.json | 35 +++++- .../i18n/locale/hi/integrations.json | 3 +- .../dashboard/i18n/locale/hr/bulkActions.json | 16 +-- .../dashboard/i18n/locale/hr/campaign.json | 2 + .../dashboard/i18n/locale/hr/components.json | 3 +- .../dashboard/i18n/locale/hr/contact.json | 5 + .../i18n/locale/hr/conversation.json | 26 ++++- .../dashboard/i18n/locale/hr/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/hr/inboxMgmt.json | 35 +++++- .../i18n/locale/hr/integrations.json | 3 +- .../dashboard/i18n/locale/hu/bulkActions.json | 26 ++--- .../dashboard/i18n/locale/hu/campaign.json | 2 + .../dashboard/i18n/locale/hu/companies.json | 108 +++++++++--------- .../dashboard/i18n/locale/hu/components.json | 3 +- .../dashboard/i18n/locale/hu/contact.json | 5 + .../i18n/locale/hu/conversation.json | 28 ++++- .../dashboard/i18n/locale/hu/helpCenter.json | 69 +++++++---- .../dashboard/i18n/locale/hu/inboxMgmt.json | 35 +++++- .../i18n/locale/hu/integrations.json | 3 +- .../dashboard/i18n/locale/hu/macros.json | 2 +- .../dashboard/i18n/locale/hu/onboarding.json | 38 +++--- .../dashboard/i18n/locale/hy/bulkActions.json | 16 +-- .../dashboard/i18n/locale/hy/campaign.json | 2 + .../dashboard/i18n/locale/hy/components.json | 3 +- .../dashboard/i18n/locale/hy/contact.json | 5 + .../i18n/locale/hy/conversation.json | 26 ++++- .../dashboard/i18n/locale/hy/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/hy/inboxMgmt.json | 35 +++++- .../i18n/locale/hy/integrations.json | 3 +- .../dashboard/i18n/locale/id/bulkActions.json | 16 +-- .../dashboard/i18n/locale/id/campaign.json | 2 + .../dashboard/i18n/locale/id/components.json | 3 +- .../dashboard/i18n/locale/id/contact.json | 5 + .../i18n/locale/id/conversation.json | 26 ++++- .../dashboard/i18n/locale/id/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/id/inboxMgmt.json | 35 +++++- .../i18n/locale/id/integrations.json | 3 +- .../dashboard/i18n/locale/is/bulkActions.json | 16 +-- .../dashboard/i18n/locale/is/campaign.json | 2 + .../dashboard/i18n/locale/is/components.json | 3 +- .../dashboard/i18n/locale/is/contact.json | 5 + .../i18n/locale/is/conversation.json | 26 ++++- .../dashboard/i18n/locale/is/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/is/inboxMgmt.json | 35 +++++- .../i18n/locale/is/integrations.json | 3 +- .../dashboard/i18n/locale/it/bulkActions.json | 16 +-- .../dashboard/i18n/locale/it/campaign.json | 2 + .../dashboard/i18n/locale/it/components.json | 3 +- .../dashboard/i18n/locale/it/contact.json | 5 + .../i18n/locale/it/conversation.json | 26 ++++- .../dashboard/i18n/locale/it/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/it/inboxMgmt.json | 35 +++++- .../i18n/locale/it/integrations.json | 3 +- .../dashboard/i18n/locale/ja/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ja/campaign.json | 2 + .../dashboard/i18n/locale/ja/components.json | 3 +- .../dashboard/i18n/locale/ja/contact.json | 5 + .../i18n/locale/ja/conversation.json | 26 ++++- .../dashboard/i18n/locale/ja/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ja/inboxMgmt.json | 35 +++++- .../i18n/locale/ja/integrations.json | 3 +- .../dashboard/i18n/locale/ka/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ka/campaign.json | 2 + .../dashboard/i18n/locale/ka/components.json | 3 +- .../dashboard/i18n/locale/ka/contact.json | 5 + .../i18n/locale/ka/conversation.json | 26 ++++- .../dashboard/i18n/locale/ka/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ka/inboxMgmt.json | 35 +++++- .../i18n/locale/ka/integrations.json | 3 +- .../dashboard/i18n/locale/ko/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ko/campaign.json | 2 + .../dashboard/i18n/locale/ko/components.json | 3 +- .../dashboard/i18n/locale/ko/contact.json | 5 + .../i18n/locale/ko/conversation.json | 26 ++++- .../dashboard/i18n/locale/ko/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ko/inboxMgmt.json | 35 +++++- .../i18n/locale/ko/integrations.json | 3 +- .../dashboard/i18n/locale/lt/bulkActions.json | 16 +-- .../dashboard/i18n/locale/lt/campaign.json | 2 + .../dashboard/i18n/locale/lt/components.json | 3 +- .../dashboard/i18n/locale/lt/contact.json | 5 + .../i18n/locale/lt/conversation.json | 26 ++++- .../dashboard/i18n/locale/lt/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/lt/inboxMgmt.json | 35 +++++- .../i18n/locale/lt/integrations.json | 3 +- .../dashboard/i18n/locale/lv/bulkActions.json | 16 +-- .../dashboard/i18n/locale/lv/campaign.json | 2 + .../dashboard/i18n/locale/lv/components.json | 3 +- .../dashboard/i18n/locale/lv/contact.json | 5 + .../i18n/locale/lv/conversation.json | 26 ++++- .../dashboard/i18n/locale/lv/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/lv/inboxMgmt.json | 35 +++++- .../i18n/locale/lv/integrations.json | 3 +- .../dashboard/i18n/locale/ml/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ml/campaign.json | 2 + .../dashboard/i18n/locale/ml/components.json | 3 +- .../dashboard/i18n/locale/ml/contact.json | 5 + .../i18n/locale/ml/conversation.json | 26 ++++- .../dashboard/i18n/locale/ml/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ml/inboxMgmt.json | 35 +++++- .../i18n/locale/ml/integrations.json | 3 +- .../dashboard/i18n/locale/ms/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ms/campaign.json | 2 + .../dashboard/i18n/locale/ms/components.json | 3 +- .../dashboard/i18n/locale/ms/contact.json | 5 + .../i18n/locale/ms/conversation.json | 26 ++++- .../dashboard/i18n/locale/ms/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ms/inboxMgmt.json | 35 +++++- .../i18n/locale/ms/integrations.json | 3 +- .../dashboard/i18n/locale/ne/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ne/campaign.json | 2 + .../dashboard/i18n/locale/ne/components.json | 3 +- .../dashboard/i18n/locale/ne/contact.json | 5 + .../i18n/locale/ne/conversation.json | 26 ++++- .../dashboard/i18n/locale/ne/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ne/inboxMgmt.json | 35 +++++- .../i18n/locale/ne/integrations.json | 3 +- .../dashboard/i18n/locale/nl/bulkActions.json | 16 +-- .../dashboard/i18n/locale/nl/campaign.json | 2 + .../dashboard/i18n/locale/nl/components.json | 3 +- .../dashboard/i18n/locale/nl/contact.json | 5 + .../i18n/locale/nl/conversation.json | 26 ++++- .../dashboard/i18n/locale/nl/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/nl/inboxMgmt.json | 35 +++++- .../i18n/locale/nl/integrations.json | 3 +- .../dashboard/i18n/locale/no/bulkActions.json | 16 +-- .../dashboard/i18n/locale/no/campaign.json | 2 + .../dashboard/i18n/locale/no/components.json | 3 +- .../dashboard/i18n/locale/no/contact.json | 5 + .../i18n/locale/no/conversation.json | 26 ++++- .../dashboard/i18n/locale/no/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/no/inboxMgmt.json | 35 +++++- .../i18n/locale/no/integrations.json | 3 +- .../dashboard/i18n/locale/pl/bulkActions.json | 16 +-- .../dashboard/i18n/locale/pl/campaign.json | 2 + .../dashboard/i18n/locale/pl/components.json | 3 +- .../dashboard/i18n/locale/pl/contact.json | 5 + .../i18n/locale/pl/conversation.json | 26 ++++- .../dashboard/i18n/locale/pl/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/pl/inboxMgmt.json | 35 +++++- .../i18n/locale/pl/integrations.json | 3 +- .../dashboard/i18n/locale/pt/bulkActions.json | 16 +-- .../dashboard/i18n/locale/pt/campaign.json | 2 + .../dashboard/i18n/locale/pt/components.json | 3 +- .../dashboard/i18n/locale/pt/contact.json | 5 + .../i18n/locale/pt/conversation.json | 26 ++++- .../dashboard/i18n/locale/pt/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/pt/inboxMgmt.json | 35 +++++- .../i18n/locale/pt/integrations.json | 3 +- .../i18n/locale/pt_BR/bulkActions.json | 16 +-- .../dashboard/i18n/locale/pt_BR/campaign.json | 2 + .../i18n/locale/pt_BR/components.json | 3 +- .../dashboard/i18n/locale/pt_BR/contact.json | 5 + .../i18n/locale/pt_BR/conversation.json | 26 ++++- .../i18n/locale/pt_BR/helpCenter.json | 25 ++++ .../i18n/locale/pt_BR/inboxMgmt.json | 35 +++++- .../i18n/locale/pt_BR/integrationApps.json | 2 +- .../i18n/locale/pt_BR/integrations.json | 3 +- .../dashboard/i18n/locale/ro/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ro/campaign.json | 2 + .../dashboard/i18n/locale/ro/components.json | 3 +- .../dashboard/i18n/locale/ro/contact.json | 5 + .../i18n/locale/ro/conversation.json | 26 ++++- .../dashboard/i18n/locale/ro/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ro/inboxMgmt.json | 35 +++++- .../i18n/locale/ro/integrations.json | 3 +- .../dashboard/i18n/locale/ru/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ru/campaign.json | 2 + .../dashboard/i18n/locale/ru/components.json | 3 +- .../dashboard/i18n/locale/ru/contact.json | 5 + .../i18n/locale/ru/conversation.json | 26 ++++- .../dashboard/i18n/locale/ru/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ru/inboxMgmt.json | 35 +++++- .../i18n/locale/ru/integrations.json | 3 +- .../dashboard/i18n/locale/sh/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sh/campaign.json | 2 + .../dashboard/i18n/locale/sh/components.json | 3 +- .../dashboard/i18n/locale/sh/contact.json | 5 + .../i18n/locale/sh/conversation.json | 26 ++++- .../dashboard/i18n/locale/sh/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sh/inboxMgmt.json | 35 +++++- .../i18n/locale/sh/integrations.json | 3 +- .../dashboard/i18n/locale/sk/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sk/campaign.json | 2 + .../dashboard/i18n/locale/sk/components.json | 3 +- .../dashboard/i18n/locale/sk/contact.json | 5 + .../i18n/locale/sk/conversation.json | 26 ++++- .../dashboard/i18n/locale/sk/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sk/inboxMgmt.json | 35 +++++- .../i18n/locale/sk/integrations.json | 3 +- .../dashboard/i18n/locale/sl/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sl/campaign.json | 2 + .../dashboard/i18n/locale/sl/components.json | 3 +- .../dashboard/i18n/locale/sl/contact.json | 5 + .../i18n/locale/sl/conversation.json | 26 ++++- .../dashboard/i18n/locale/sl/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sl/inboxMgmt.json | 35 +++++- .../i18n/locale/sl/integrations.json | 3 +- .../dashboard/i18n/locale/sq/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sq/campaign.json | 2 + .../dashboard/i18n/locale/sq/components.json | 3 +- .../dashboard/i18n/locale/sq/contact.json | 5 + .../i18n/locale/sq/conversation.json | 26 ++++- .../dashboard/i18n/locale/sq/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sq/inboxMgmt.json | 35 +++++- .../i18n/locale/sq/integrations.json | 3 +- .../dashboard/i18n/locale/sr/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sr/campaign.json | 2 + .../dashboard/i18n/locale/sr/components.json | 3 +- .../dashboard/i18n/locale/sr/contact.json | 5 + .../i18n/locale/sr/conversation.json | 26 ++++- .../dashboard/i18n/locale/sr/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sr/inboxMgmt.json | 35 +++++- .../i18n/locale/sr/integrations.json | 3 +- .../dashboard/i18n/locale/sv/bulkActions.json | 16 +-- .../dashboard/i18n/locale/sv/campaign.json | 2 + .../dashboard/i18n/locale/sv/components.json | 3 +- .../dashboard/i18n/locale/sv/contact.json | 5 + .../i18n/locale/sv/conversation.json | 26 ++++- .../dashboard/i18n/locale/sv/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/sv/inboxMgmt.json | 35 +++++- .../i18n/locale/sv/integrations.json | 3 +- .../dashboard/i18n/locale/ta/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ta/campaign.json | 2 + .../dashboard/i18n/locale/ta/components.json | 3 +- .../dashboard/i18n/locale/ta/contact.json | 5 + .../i18n/locale/ta/conversation.json | 26 ++++- .../dashboard/i18n/locale/ta/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ta/inboxMgmt.json | 35 +++++- .../i18n/locale/ta/integrations.json | 3 +- .../dashboard/i18n/locale/th/bulkActions.json | 16 +-- .../dashboard/i18n/locale/th/campaign.json | 2 + .../dashboard/i18n/locale/th/components.json | 3 +- .../dashboard/i18n/locale/th/contact.json | 5 + .../i18n/locale/th/conversation.json | 26 ++++- .../dashboard/i18n/locale/th/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/th/inboxMgmt.json | 35 +++++- .../i18n/locale/th/integrations.json | 3 +- .../dashboard/i18n/locale/tl/bulkActions.json | 16 +-- .../dashboard/i18n/locale/tl/campaign.json | 2 + .../dashboard/i18n/locale/tl/components.json | 3 +- .../dashboard/i18n/locale/tl/contact.json | 5 + .../i18n/locale/tl/conversation.json | 26 ++++- .../dashboard/i18n/locale/tl/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/tl/inboxMgmt.json | 35 +++++- .../i18n/locale/tl/integrations.json | 3 +- .../dashboard/i18n/locale/tr/bulkActions.json | 16 +-- .../dashboard/i18n/locale/tr/campaign.json | 2 + .../dashboard/i18n/locale/tr/components.json | 3 +- .../dashboard/i18n/locale/tr/contact.json | 5 + .../i18n/locale/tr/conversation.json | 26 ++++- .../dashboard/i18n/locale/tr/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/tr/inboxMgmt.json | 35 +++++- .../i18n/locale/tr/integrations.json | 3 +- .../dashboard/i18n/locale/uk/bulkActions.json | 16 +-- .../dashboard/i18n/locale/uk/campaign.json | 2 + .../dashboard/i18n/locale/uk/components.json | 3 +- .../dashboard/i18n/locale/uk/contact.json | 5 + .../i18n/locale/uk/conversation.json | 26 ++++- .../dashboard/i18n/locale/uk/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/uk/inboxMgmt.json | 35 +++++- .../i18n/locale/uk/integrations.json | 3 +- .../dashboard/i18n/locale/ur/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ur/campaign.json | 2 + .../dashboard/i18n/locale/ur/components.json | 3 +- .../dashboard/i18n/locale/ur/contact.json | 5 + .../i18n/locale/ur/conversation.json | 26 ++++- .../dashboard/i18n/locale/ur/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/ur/inboxMgmt.json | 35 +++++- .../i18n/locale/ur/integrations.json | 3 +- .../i18n/locale/ur_IN/bulkActions.json | 16 +-- .../dashboard/i18n/locale/ur_IN/campaign.json | 2 + .../i18n/locale/ur_IN/components.json | 3 +- .../dashboard/i18n/locale/ur_IN/contact.json | 5 + .../i18n/locale/ur_IN/conversation.json | 26 ++++- .../i18n/locale/ur_IN/helpCenter.json | 25 ++++ .../i18n/locale/ur_IN/inboxMgmt.json | 35 +++++- .../i18n/locale/ur_IN/integrations.json | 3 +- .../dashboard/i18n/locale/vi/bulkActions.json | 16 +-- .../dashboard/i18n/locale/vi/campaign.json | 2 + .../dashboard/i18n/locale/vi/components.json | 3 +- .../dashboard/i18n/locale/vi/contact.json | 5 + .../i18n/locale/vi/conversation.json | 26 ++++- .../dashboard/i18n/locale/vi/helpCenter.json | 25 ++++ .../dashboard/i18n/locale/vi/inboxMgmt.json | 35 +++++- .../i18n/locale/vi/integrations.json | 3 +- .../i18n/locale/zh_CN/bulkActions.json | 16 +-- .../dashboard/i18n/locale/zh_CN/campaign.json | 2 + .../i18n/locale/zh_CN/components.json | 3 +- .../dashboard/i18n/locale/zh_CN/contact.json | 5 + .../i18n/locale/zh_CN/conversation.json | 26 ++++- .../i18n/locale/zh_CN/helpCenter.json | 25 ++++ .../i18n/locale/zh_CN/inboxMgmt.json | 35 +++++- .../i18n/locale/zh_CN/integrations.json | 3 +- .../i18n/locale/zh_TW/bulkActions.json | 16 +-- .../dashboard/i18n/locale/zh_TW/campaign.json | 2 + .../i18n/locale/zh_TW/components.json | 3 +- .../dashboard/i18n/locale/zh_TW/contact.json | 5 + .../i18n/locale/zh_TW/conversation.json | 26 ++++- .../i18n/locale/zh_TW/helpCenter.json | 25 ++++ .../i18n/locale/zh_TW/inboxMgmt.json | 35 +++++- .../i18n/locale/zh_TW/integrations.json | 3 +- config/locales/am.yml | 33 ++++++ config/locales/ar.yml | 15 +++ config/locales/az.yml | 33 ++++++ config/locales/bg.yml | 33 ++++++ config/locales/bn.yml | 33 ++++++ config/locales/ca.yml | 33 ++++++ config/locales/cs.yml | 35 ++++++ config/locales/da.yml | 33 ++++++ config/locales/de.yml | 33 ++++++ config/locales/el.yml | 33 ++++++ config/locales/es.yml | 33 ++++++ config/locales/et.yml | 33 ++++++ config/locales/fa.yml | 33 ++++++ config/locales/fi.yml | 33 ++++++ config/locales/fr.yml | 43 ++++--- config/locales/he.yml | 35 ++++++ config/locales/hi.yml | 33 ++++++ config/locales/hr.yml | 34 ++++++ config/locales/hu.yml | 33 ++++++ config/locales/hy.yml | 33 ++++++ config/locales/id.yml | 32 ++++++ config/locales/is.yml | 33 ++++++ config/locales/it.yml | 33 ++++++ config/locales/ja.yml | 32 ++++++ config/locales/ka.yml | 33 ++++++ config/locales/ko.yml | 32 ++++++ config/locales/lt.yml | 35 ++++++ config/locales/lv.yml | 34 ++++++ config/locales/ml.yml | 33 ++++++ config/locales/ms.yml | 32 ++++++ config/locales/ne.yml | 33 ++++++ config/locales/nl.yml | 33 ++++++ config/locales/no.yml | 33 ++++++ config/locales/pl.yml | 35 ++++++ config/locales/pt.yml | 33 ++++++ config/locales/pt_BR.yml | 17 ++- config/locales/ro.yml | 34 ++++++ config/locales/ru.yml | 35 ++++++ config/locales/sh.yml | 35 ++++++ config/locales/sk.yml | 35 ++++++ config/locales/sl.yml | 35 ++++++ config/locales/sq.yml | 33 ++++++ config/locales/sr.yml | 34 ++++++ config/locales/sv.yml | 33 ++++++ config/locales/ta.yml | 33 ++++++ config/locales/th.yml | 32 ++++++ config/locales/tl.yml | 33 ++++++ config/locales/tr.yml | 33 ++++++ config/locales/uk.yml | 35 ++++++ config/locales/ur.yml | 33 ++++++ config/locales/ur_IN.yml | 33 ++++++ config/locales/vi.yml | 32 ++++++ config/locales/zh_CN.yml | 32 ++++++ config/locales/zh_TW.yml | 34 +++++- 492 files changed, 7166 insertions(+), 1058 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/am/bulkActions.json b/app/javascript/dashboard/i18n/locale/am/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/am/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/am/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/am/campaign.json b/app/javascript/dashboard/i18n/locale/am/campaign.json index 10366e79e8b..55de223679b 100644 --- a/app/javascript/dashboard/i18n/locale/am/campaign.json +++ b/app/javascript/dashboard/i18n/locale/am/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "በሂደት ላይ", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "በሂደት ላይ", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/am/components.json b/app/javascript/dashboard/i18n/locale/am/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/am/components.json +++ b/app/javascript/dashboard/i18n/locale/am/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/am/contact.json b/app/javascript/dashboard/i18n/locale/am/contact.json index 329a295696a..aa025f30c52 100644 --- a/app/javascript/dashboard/i18n/locale/am/contact.json +++ b/app/javascript/dashboard/i18n/locale/am/contact.json @@ -20,6 +20,8 @@ "CALL": "ደውል", "CALL_INITIATED": "ለእውነተኛው እውቀት መደወል እየተከናወነ ነው…", "CALL_FAILED": "ጥሪውን መጀመር አልቻልንም። እባክዎ ደግመው ይሞክሩ።.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "የድምፅ ኢንቦክስ ይምረጡ" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "መለያዎችን መሰጠት", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "መለያዎች በተሳካ ሁኔታ ተመዝግበዋል።.", "ASSIGN_LABELS_FAILED": "መለያዎችን ማስመዝገብ አልተሳካም", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "ለተመረጡት እውነተኛዎች የሚያክሉትን መለያዎች ይምረጡ።.", "NO_LABELS_FOUND": "እስካሁን መለያዎች አልተገኙም።.", "SELECTED_COUNT": "{count} ተመርጧል", diff --git a/app/javascript/dashboard/i18n/locale/am/conversation.json b/app/javascript/dashboard/i18n/locale/am/conversation.json index 3cfaeb3a759..a6803eae114 100644 --- a/app/javascript/dashboard/i18n/locale/am/conversation.json +++ b/app/javascript/dashboard/i18n/locale/am/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "ተፈትኗል", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/am/helpCenter.json b/app/javascript/dashboard/i18n/locale/am/helpCenter.json index f40b2b7f034..ef480e1eefa 100644 --- a/app/javascript/dashboard/i18n/locale/am/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/am/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "እቅድ", "ARCHIVE": "አርክቭ", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "ቅንብር አርትዕ" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "አስወግድ" + }, + "SAVE": "ለውጦች አስቀምጥ" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "ፖርታል በተሳካ ሁኔታ ተፈጥሯል", diff --git a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json index dbc8ba1f117..3f784dc9292 100644 --- a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "ከMeta ጋር በመረጋገጥ ላይ ነው", "WAITING_FOR_BUSINESS_INFO": "እባክዎ በMeta መስኮት ውስጥ የንግድ ቅንብር ያርኩ...", "PROCESSING": "የWhatsApp ቢዝነስ መለያዎን እየተዘጋጀ ነው", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK እየተጫነ ነው...", "CANCELLED": "የWhatsApp ምዝገባ ተሰርዟል", "SUCCESS_TITLE": "የWhatsApp ቢዝነስ መለያ ተገናኝቷል!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "ማረጋገጫ አልተጠናቀቀም። ሂደቱን እባክዎ ዳግም ይጀምሩ።.", "SUCCESS_FALLBACK": "የWhatsApp የንግድ መለያ በተሳካ ሁኔታ ተቋቋመ", "MANUAL_FALLBACK": "ቁጥርዎ ከWhatsApp Business Platform (API) ጋር ከተገናኘ እና ወይም እርስዎ የቴክኖሎጂ አቅራቢ ከሆኑ እና የእርስዎን ቁጥር በራስዎ ሲያስገቡ፣ እባክዎ የ{link} ሂደትን ይጠቀሙ", - "MANUAL_LINK_TEXT": "የእጅ ማቀናበሪያ ሂደት" + "MANUAL_LINK_TEXT": "የእጅ ማቀናበሪያ ሂደት", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsApp ቻናሉን ማስቀመጥ አልተቻለም" @@ -465,6 +467,10 @@ "TITLE": "ዋትስአፕ", "DESCRIPTION": "በWhatsApp ላይ ደንበኞችዎን ድጋፍ ያድርጉ" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "ኢሜይል", "DESCRIPTION": "ከGmail, Outlook ወይም ከሌሎች አቅራቢዎች ጋር ያገናኙ" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "የቦት ቅንብሮች", "ACCOUNT_HEALTH": "የመለያ ጤና", "CSAT": "የደንበኞች ደህንነት ግምገማ (CSAT)", - "VOICE": "ድምጽ" + "VOICE": "ድምጽ", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "የቻናል ቅድሚያዎች", "WIDGET_FEATURES": "የዊጅት ባህሪያት", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "ከWhatsApp መልእክት አብነቶች እጅግ በእጅ ማስተካከል ለእንደገና የሚገኙ አብነቶችን ያዘምኑ።.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "አብነቶችን ያዘምኑ", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "የአብነት ማስተካከያ በተሳካ ሁኔታ ተጀምሯል። ለማዘመን ጥቂት ደቂቃዎች ሊወስድ ይችላል።.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "የቀደም ቻት ቅጥያ ቅንብሮችን አዘምን" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/am/integrations.json b/app/javascript/dashboard/i18n/locale/am/integrations.json index e26adaa52bb..8af05114c7e 100644 --- a/app/javascript/dashboard/i18n/locale/am/integrations.json +++ b/app/javascript/dashboard/i18n/locale/am/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "እውቂያ ተፈጥሯል", "CONTACT_UPDATED": "እውቂያ ተሻሽሏል", "CONVERSATION_TYPING_ON": "ውይይት ማስተካከያ በተጠቃሚ ላይ ነው", - "CONVERSATION_TYPING_OFF": "ውይይት ማስተካከያ ከተጠቃሚ ላይ አልተጠቀሰም" + "CONVERSATION_TYPING_OFF": "ውይይት ማስተካከያ ከተጠቃሚ ላይ አልተጠቀሰም", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ar/bulkActions.json b/app/javascript/dashboard/i18n/locale/ar/bulkActions.json index d894fb3ce85..d436e35fb93 100644 --- a/app/javascript/dashboard/i18n/locale/ar/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ar/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} المحادثات المحددة", - "AGENT_SELECT_LABEL": "اختر وكيل", - "ASSIGN_CONFIRMATION_LABEL": "هل أنت متأكد من أنك تريد تعيين {conversationCount} {conversationLabel} إلى", - "UNASSIGN_CONFIRMATION_LABEL": "هل أنت متأكد من إلغاء تعيين {conversationCount} {conversationLabel}؟", - "GO_BACK_LABEL": "العودة للخلف", - "ASSIGN_LABEL": "تكليف", "NONE": "لا شيء", "CLEAR_SELECTION": "مسح", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "تم تسوية المحادثات بنجاح.", "RESOLVE_FAILED": "فشل في حل المحادثات، يرجى المحاولة مرة أخرى.", "ALL_CONVERSATIONS_SELECTED_ALERT": "المحادثات المرئية في هذه الصفحة هي المحددة فقط.", - "AGENT_LIST_LOADING": "جاري جلب الوكلاء", "UPDATE": { "CHANGE_STATUS": "تغيير الحالة", "SNOOZE_UNTIL": "تأجيل", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "إضافة وسم", - "NO_LABELS_FOUND": "لم يتم العثور على تصنيفات", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "تعيين التسميات المحددة", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "تم تعيين التسميات بنجاح.", - "ASSIGN_FAILED": "فشل في تعيين التسميات ، الرجاء المحاولة مرة أخرى." + "ASSIGN_FAILED": "فشل في تعيين التسميات ، الرجاء المحاولة مرة أخرى.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "اختر فريق", "NONE": "لا شيء", - "NO_TEAMS_AVAILABLE": "لا توجد فرق مضافة إلى هذا الحساب حتى الآن.", - "ASSIGN_SELECTED_TEAMS": "تعيين فريق محدد.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "تم تعيين الفرق بنجاح.", diff --git a/app/javascript/dashboard/i18n/locale/ar/campaign.json b/app/javascript/dashboard/i18n/locale/ar/campaign.json index 0af3565b36a..3d274c437d1 100644 --- a/app/javascript/dashboard/i18n/locale/ar/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ar/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "مكتمل", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "مكتمل", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ar/components.json b/app/javascript/dashboard/i18n/locale/ar/components.json index 9944f9f4765..62ad85d9346 100644 --- a/app/javascript/dashboard/i18n/locale/ar/components.json +++ b/app/javascript/dashboard/i18n/locale/ar/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json index 14b2e4f0d79..f5db01558ff 100644 --- a/app/javascript/dashboard/i18n/locale/ar/contact.json +++ b/app/javascript/dashboard/i18n/locale/ar/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "جار الاتصال بجهة الاتصال…", "CALL_FAILED": "تعذر بدء المكالمة. الرجاء المحاولة مرة أخرى.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "تعيين التسميات", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "تم تعيين التسميات بنجاح.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json index 1bb427f7da8..1794227c820 100644 --- a/app/javascript/dashboard/i18n/locale/ar/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "هذه الرسالة غير مدعومة، يمكنك مشاهدة هذه الرسالة على تطبيق فيسبوك (Messenger).", "UNSUPPORTED_MESSAGE_INSTAGRAM": "هذه الرسالة غير مدعومة، يمكنك عرض هذه الرسالة على تطبيق Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "هذه الرسالة غير مدعومة. يمكنك مشاهدة هذه الرسالة على تطبيق TikTok.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "تم حذف الرسالة بنجاح", "FAIL_DELETE_MESSSAGE": "تعذر حذف الرسالة! حاول مرة أخرى", "NO_RESPONSE": "لا توجد استجابة", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "انضم إلى المكالمة" + "JOIN_CALL": "انضم إلى المكالمة", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "حل المحادثة", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "تأجيل حتى الغد", "SNOOZED_UNTIL_NEXT_WEEK": "تأجيل حتى الأسبوع القادم", "SNOOZED_UNTIL_NEXT_REPLY": "تأجيل حتى الرد التالي", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "تسجيل الصوت", "TIP_AUDIORECORDER_PERMISSION": "السماح بالوصول إلى الصوت", "TIP_AUDIORECORDER_ERROR": "تعذر فتح الصوت", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "اسحب و أسقط هنا للإرفاق", "START_AUDIO_RECORDING": "بدء التسجيل الصوتي", "STOP_AUDIO_RECORDING": "إيقاف التسجيل الصوتي", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "لم يتم الرد بعد", "HANDLED_IN_ANOTHER_TAB": "يتم التعامل معها في علامة تبويب أخرى", "REJECT_CALL": "رفض", + "DISMISS_CALL": "تجاهل", "JOIN_CALL": "انضم إلى المكالمة", - "END_CALL": "إنهاء المكالمة" + "END_CALL": "إنهاء المكالمة", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json index 66dbd8e129d..5289aa444ce 100644 --- a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "مسودة", "ARCHIVE": "Archive", "TRANSLATE": "ترجم", + "MOVE_TO_CATEGORY": "الفئة", "DELETE": "حذف", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "حذف", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "المظهر", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "حذف" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "تم إنشاء البوابة بنجاح", diff --git a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json index 2f314baa6d3..6acb48cfc01 100644 --- a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "لم نتمكن من حفظ قناة واتساب" @@ -465,6 +467,10 @@ "TITLE": "واتساب", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "البريد الإلكتروني", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "اعدادات البوت", "ACCOUNT_HEALTH": "Account Health", "CSAT": "تقييم رضاء العملاء", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ar/integrations.json b/app/javascript/dashboard/i18n/locale/ar/integrations.json index 6d875fbcfda..2b2dfcef9c5 100644 --- a/app/javascript/dashboard/i18n/locale/ar/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ar/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/az/bulkActions.json b/app/javascript/dashboard/i18n/locale/az/bulkActions.json index 1f56b6ab3c9..e0582961235 100644 --- a/app/javascript/dashboard/i18n/locale/az/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/az/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "Heç biri", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/az/campaign.json b/app/javascript/dashboard/i18n/locale/az/campaign.json index 10366e79e8b..78db922d1c5 100644 --- a/app/javascript/dashboard/i18n/locale/az/campaign.json +++ b/app/javascript/dashboard/i18n/locale/az/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/az/components.json b/app/javascript/dashboard/i18n/locale/az/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/az/components.json +++ b/app/javascript/dashboard/i18n/locale/az/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/az/contact.json b/app/javascript/dashboard/i18n/locale/az/contact.json index aa19205cb58..acf103cebaf 100644 --- a/app/javascript/dashboard/i18n/locale/az/contact.json +++ b/app/javascript/dashboard/i18n/locale/az/contact.json @@ -20,6 +20,8 @@ "CALL": "Zəng et", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} seçildi", diff --git a/app/javascript/dashboard/i18n/locale/az/conversation.json b/app/javascript/dashboard/i18n/locale/az/conversation.json index 0fc8203c50a..eff53867cc0 100644 --- a/app/javascript/dashboard/i18n/locale/az/conversation.json +++ b/app/javascript/dashboard/i18n/locale/az/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Bu mesaj dəstəklənmir. Bu mesajı Facebook Messenger tətbiqində görə bilərsiniz.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Bu mesaj dəstəklənmir. Bu mesajı Instagram tətbiqində görə bilərsiniz.", "UNSUPPORTED_MESSAGE_TIKTOK": "Bu mesaj dəstəklənmir. Bu mesajı TikTok tətbiqində görə bilərsiniz.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mesaj uğurla silindi", "FAIL_DELETE_MESSSAGE": "Mesajı silmək mümkün olmadı! Yenidən cəhd edin", "NO_RESPONSE": "Cavab yoxdur", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Gedən zəng", "CALL_IN_PROGRESS": "Zəng davam edir", "NO_ANSWER": "Cavab yoxdur", + "NO_ANSWER_OUTBOUND_LABEL": "Cavab yoxdur", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Qeyri-işlək zəng", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Zəng bitdi", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Hələ cavab verilməyib", + "CALLING": "Calling…", "THEY_ANSWERED": "Onlar cavab verdi", "YOU_ANSWERED": "Siz cavab verdiniz", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Zəngə qoşul" + "JOIN_CALL": "Zəngə qoşul", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Həll et", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Sabaha qədər təxirə salındı", "SNOOZED_UNTIL_NEXT_WEEK": "Gələn həftəyə qədər təxirə salındı", "SNOOZED_UNTIL_NEXT_REPLY": "Növbəti cavaba qədər təxirə salındı", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Səs yaz", "TIP_AUDIORECORDER_PERMISSION": "Səsə girişə icazə ver", "TIP_AUDIORECORDER_ERROR": "Səsi açmaq mümkün olmadı", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Qoşmaq üçün buraya sürükləyin və buraxın", "START_AUDIO_RECORDING": "Səs yazısını başla", "STOP_AUDIO_RECORDING": "Səs yazısını dayandırın", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Hələ cavab verilməyib", "HANDLED_IN_ANOTHER_TAB": "Başqa sekmədə işlənir", "REJECT_CALL": "İmtina et", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Zəngə qoşul", - "END_CALL": "Zəngi bitir" + "END_CALL": "Zəngi bitir", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/az/helpCenter.json b/app/javascript/dashboard/i18n/locale/az/helpCenter.json index bbd8d72a6dc..eefb0c8dae7 100644 --- a/app/javascript/dashboard/i18n/locale/az/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/az/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Qaralama", "ARCHIVE": "Archive", "TRANSLATE": "Tərcümə et", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Sil" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json index e96e129421b..28af6066e9c 100644 --- a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta ilə autentifikasiya olunur", "WAITING_FOR_BUSINESS_INFO": "Zəhmət olmasa Meta pəncərəsində biznes quraşdırmasını tamamlayın...", "PROCESSING": "WhatsApp Biznes Hesabınızı quraşdırırıq", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK yüklənir...", "CANCELLED": "WhatsApp Qeydiyyatı ləğv edildi", "SUCCESS_TITLE": "WhatsApp Biznes Hesabı Qoşuldu!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Autentifikasiya tamamlanmadı. Zəhmət olmasa prosesi yenidən başladın.", "SUCCESS_FALLBACK": "WhatsApp Biznes Hesabı uğurla konfiqurasiya edildi", "MANUAL_FALLBACK": "Əgər nömrəniz artıq WhatsApp Business Platformasına (API) qoşulubsa və ya texnoloji təminatçı olaraq öz nömrənizi əlavə edirsinizsə, zəhmət olmasa {link} prosesindən istifadə edin", - "MANUAL_LINK_TEXT": "əl ilə qurma prosesi" + "MANUAL_LINK_TEXT": "əl ilə qurma prosesi", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsApp kanalını yadda saxlaya bilmədik" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Müştərilərinizi WhatsApp-da dəstəkləyin" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Elektron Poçt", "DESCRIPTION": "Gmail, Outlook və ya digər təminatçılarla qoşulun" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Konfiqurasiyası", "ACCOUNT_HEALTH": "Hesabın sağlamlığı", "CSAT": "CSAT", - "VOICE": "Səs" + "VOICE": "Səs", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Kanal üstünlükləri", "WIDGET_FEATURES": "Widget xüsusiyyətləri", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Mövcud şablonlarınızı yeniləmək üçün WhatsApp-dan mesaj şablonlarını əl ilə sinxronlaşdırın.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Şablonları sinxronlaşdır", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Şablonların sinxronizasiyası uğurla başlandı. Yenilənməsi bir neçə dəqiqə çəkə bilər.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Pre Chat Form Parametrlərini Yeniləyin" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/az/integrations.json b/app/javascript/dashboard/i18n/locale/az/integrations.json index 71b974565ea..be0b09003f6 100644 --- a/app/javascript/dashboard/i18n/locale/az/integrations.json +++ b/app/javascript/dashboard/i18n/locale/az/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Əlaqə yaradıldı", "CONTACT_UPDATED": "Əlaqə yeniləndi", "CONVERSATION_TYPING_ON": "Söhbət Yazılır", - "CONVERSATION_TYPING_OFF": "Söhbət Yazması Söndürülüb" + "CONVERSATION_TYPING_OFF": "Söhbət Yazması Söndürülüb", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/bg/bulkActions.json b/app/javascript/dashboard/i18n/locale/bg/bulkActions.json index 9d6ce07b6bd..24ef578ddb7 100644 --- a/app/javascript/dashboard/i18n/locale/bg/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/bg/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Изберете агент", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "Assign", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Няма намерени етикети", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Изберете екип", "NONE": "Нито един", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/bg/campaign.json b/app/javascript/dashboard/i18n/locale/bg/campaign.json index 49a61ee5a63..c7b65800f63 100644 --- a/app/javascript/dashboard/i18n/locale/bg/campaign.json +++ b/app/javascript/dashboard/i18n/locale/bg/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Завършено", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Завършено", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/bg/components.json b/app/javascript/dashboard/i18n/locale/bg/components.json index 12e3ed2329a..19a7801ef06 100644 --- a/app/javascript/dashboard/i18n/locale/bg/components.json +++ b/app/javascript/dashboard/i18n/locale/bg/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/bg/contact.json b/app/javascript/dashboard/i18n/locale/bg/contact.json index ed7277b9cec..8d35e6b3a1c 100644 --- a/app/javascript/dashboard/i18n/locale/bg/contact.json +++ b/app/javascript/dashboard/i18n/locale/bg/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/bg/conversation.json b/app/javascript/dashboard/i18n/locale/bg/conversation.json index b2e3ff3add2..43b582b2f3c 100644 --- a/app/javascript/dashboard/i18n/locale/bg/conversation.json +++ b/app/javascript/dashboard/i18n/locale/bg/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json index 7f3117eb0d6..fbb944c92fe 100644 --- a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Изтрий", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Изтрий", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Remove" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json index f39d20f7f23..2867f4db27e 100644 --- a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/bg/integrations.json b/app/javascript/dashboard/i18n/locale/bg/integrations.json index 40295bf859a..419aba43ecb 100644 --- a/app/javascript/dashboard/i18n/locale/bg/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bg/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/bn/bulkActions.json b/app/javascript/dashboard/i18n/locale/bn/bulkActions.json index 3476a0a4d9d..d62a07e35fa 100644 --- a/app/javascript/dashboard/i18n/locale/bn/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/bn/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "কিছুই না", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/bn/campaign.json b/app/javascript/dashboard/i18n/locale/bn/campaign.json index 10366e79e8b..51231c958a3 100644 --- a/app/javascript/dashboard/i18n/locale/bn/campaign.json +++ b/app/javascript/dashboard/i18n/locale/bn/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "প্রক্রিয়াধীন", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "প্রক্রিয়াধীন", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/bn/components.json b/app/javascript/dashboard/i18n/locale/bn/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/bn/components.json +++ b/app/javascript/dashboard/i18n/locale/bn/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/bn/contact.json b/app/javascript/dashboard/i18n/locale/bn/contact.json index 38553046449..88ff31edc71 100644 --- a/app/javascript/dashboard/i18n/locale/bn/contact.json +++ b/app/javascript/dashboard/i18n/locale/bn/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/bn/conversation.json b/app/javascript/dashboard/i18n/locale/bn/conversation.json index 26658903b4c..f7971308140 100644 --- a/app/javascript/dashboard/i18n/locale/bn/conversation.json +++ b/app/javascript/dashboard/i18n/locale/bn/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "এই বার্তাটি সমর্থিত নয়। আপনি Facebook Messenger অ্যাপে এই বার্তাটি দেখতে পারেন।", "UNSUPPORTED_MESSAGE_INSTAGRAM": "এই বার্তাটি সমর্থিত নয়। আপনি Instagram অ্যাপে এই বার্তাটি দেখতে পারেন।", "UNSUPPORTED_MESSAGE_TIKTOK": "এই বার্তাটি সমর্থিত নয়। TikTok অ্যাপে এই বার্তাটি দেখতে পারেন।", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "বার্তা সফলভাবে মুছে ফেলা হয়েছে", "FAIL_DELETE_MESSSAGE": "বার্তা মুছে ফেলা যায়নি! আবার চেষ্টা করুন", "NO_RESPONSE": "কোনো উত্তর নেই", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "আউটগোয়িং কল", "CALL_IN_PROGRESS": "কল চলছে", "NO_ANSWER": "উত্তর নেই", + "NO_ANSWER_OUTBOUND_LABEL": "উত্তর নেই", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "মিসড কল", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "কল শেষ হয়েছে", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "এখনও উত্তর পাওয়া যায়নি", + "CALLING": "Calling…", "THEY_ANSWERED": "তারা উত্তর দিয়েছে", "YOU_ANSWERED": "আপনি উত্তর দিয়েছেন", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "কলে যোগ দিন" + "JOIN_CALL": "কলে যোগ দিন", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "সমাধান করুন", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "আগামীকাল পর্যন্ত স্থগিত", "SNOOZED_UNTIL_NEXT_WEEK": "পরবর্তী সপ্তাহ পর্যন্ত স্থগিত", "SNOOZED_UNTIL_NEXT_REPLY": "পরবর্তী উত্তর পর্যন্ত স্থগিত", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "অডিও রেকর্ড করুন", "TIP_AUDIORECORDER_PERMISSION": "অডিও অ্যাক্সেসের অনুমতি দিন", "TIP_AUDIORECORDER_ERROR": "অডিও খোলা যায়নি", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "সংযুক্ত করতে এখানে ড্র্যাগ ও ড্রপ করুন", "START_AUDIO_RECORDING": "অডিও রেকর্ডিং শুরু করুন", "STOP_AUDIO_RECORDING": "অডিও রেকর্ডিং বন্ধ করুন", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "এখনও উত্তর পাওয়া যায়নি", "HANDLED_IN_ANOTHER_TAB": "অন্য ট্যাবে পরিচালিত হচ্ছে", "REJECT_CALL": "প্রত্যাখ্যান করুন", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "কলে যোগ দিন", - "END_CALL": "কল শেষ করুন" + "END_CALL": "কল শেষ করুন", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/bn/helpCenter.json b/app/javascript/dashboard/i18n/locale/bn/helpCenter.json index 797386cc13c..129a91b019f 100644 --- a/app/javascript/dashboard/i18n/locale/bn/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/bn/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "খসড়া", "ARCHIVE": "আর্কাইভ", "TRANSLATE": "অনুবাদ করুন", + "MOVE_TO_CATEGORY": "Category", "DELETE": "মুছে ফেলুন", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "মুছে ফেলুন", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "কনফিগারেশন সম্পাদনা করুন" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "সরান" + }, + "SAVE": "পরিবর্তন সংরক্ষণ করুন" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "পোর্টাল সফলভাবে তৈরি হয়েছে", diff --git a/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json index 049273ab62e..9446eee8b1a 100644 --- a/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/bn/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta-র সাথে প্রমাণীকরণ চলছে", "WAITING_FOR_BUSINESS_INFO": "অনুগ্রহ করে Meta উইন্ডোতে ব্যবসার সেটআপ সম্পন্ন করুন...", "PROCESSING": "আপনার WhatsApp Business Account সেটআপ করা হচ্ছে", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK লোড হচ্ছে...", "CANCELLED": "WhatsApp সাইনআপ বাতিল করা হয়েছে", "SUCCESS_TITLE": "WhatsApp Business Account সংযুক্ত হয়েছে!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "প্রমাণীকরণ সম্পন্ন হয়নি। অনুগ্রহ করে প্রক্রিয়াটি পুনরায় শুরু করুন।.", "SUCCESS_FALLBACK": "WhatsApp Business Account সফলভাবে কনফিগার করা হয়েছে", "MANUAL_FALLBACK": "আপনার নম্বর যদি ইতিমধ্যে WhatsApp Business Platform (API)-এর সাথে সংযুক্ত থাকে, অথবা আপনি যদি নিজস্ব নম্বর অনবোর্ড করতে টেক প্রোভাইডার হন, তাহলে অনুগ্রহ করে {link} ফ্লো ব্যবহার করুন", - "MANUAL_LINK_TEXT": "ম্যানুয়াল সেটআপ ফ্লো" + "MANUAL_LINK_TEXT": "ম্যানুয়াল সেটআপ ফ্লো", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "আমরা WhatsApp চ্যানেল সংরক্ষণ করতে পারিনি" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "WhatsApp-এ আপনার গ্রাহকদের সহায়তা দিন" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "ইমেইল", "DESCRIPTION": "Gmail, Outlook, অথবা অন্যান্য প্রদানকারীর সাথে সংযোগ করুন" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "বট কনফিগারেশন", "ACCOUNT_HEALTH": "অ্যাকাউন্টের স্বাস্থ্য", "CSAT": "CSAT", - "VOICE": "ভয়েস" + "VOICE": "ভয়েস", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "চ্যানেল পছন্দসমূহ", "WIDGET_FEATURES": "উইজেট ফিচারসমূহ", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "আপনার উপলব্ধ টেমপ্লেট আপডেট করতে WhatsApp থেকে মেসেজ টেমপ্লেটগুলো ম্যানুয়ালি সিঙ্ক করুন।.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "টেমপ্লেট সিঙ্ক করুন", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "টেমপ্লেট সিঙ্ক সফলভাবে শুরু হয়েছে। আপডেট হতে কয়েক মিনিট সময় লাগতে পারে।.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "প্রি-চ্যাট ফর্ম সেটিংস আপডেট করুন" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/bn/integrations.json b/app/javascript/dashboard/i18n/locale/bn/integrations.json index d3cac15012c..bcadf8389f3 100644 --- a/app/javascript/dashboard/i18n/locale/bn/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bn/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "যোগাযোগ তৈরি হয়েছে", "CONTACT_UPDATED": "যোগাযোগ আপডেট হয়েছে", "CONVERSATION_TYPING_ON": "কথোপকথন টাইপিং চালু আছে", - "CONVERSATION_TYPING_OFF": "কথোপকথন টাইপিং বন্ধ আছে" + "CONVERSATION_TYPING_OFF": "কথোপকথন টাইপিং বন্ধ আছে", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ca/bulkActions.json b/app/javascript/dashboard/i18n/locale/ca/bulkActions.json index dae8ef3c22c..a4713996a28 100644 --- a/app/javascript/dashboard/i18n/locale/ca/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ca/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} converses seleccionades", - "AGENT_SELECT_LABEL": "Seleccionar Agent", - "ASSIGN_CONFIRMATION_LABEL": "Estas segur d'assignar {conversationCount} {conversationLabel} a", - "UNASSIGN_CONFIRMATION_LABEL": "Estàs segur de desassignar {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Torna", - "ASSIGN_LABEL": "Assignar", "NONE": "Ningú", "CLEAR_SELECTION": "Neteja", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Les converses s'han resolt correctament.", "RESOLVE_FAILED": "No s'han pogut resoldre les converses. Torna-ho a provar.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Les converses visibles en aquesta pàgina només estan seleccionades.", - "AGENT_LIST_LOADING": "S'estan carregant els agents", "UPDATE": { "CHANGE_STATUS": "Canvia l'estat", "SNOOZE_UNTIL": "Posposat", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assignar etiquetes", - "NO_LABELS_FOUND": "No s'han trobat etiquetes", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assigna les etiquetes seleccionades", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "L'etiqueta s'ha assignat correctament.", - "ASSIGN_FAILED": "No s'han pogut assignar les etiquetes. Torna-ho a provar." + "ASSIGN_FAILED": "No s'han pogut assignar les etiquetes. Torna-ho a provar.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Selecciona equip", "NONE": "Ningú", - "NO_TEAMS_AVAILABLE": "Encara no hi ha cap equip afegit a aquest compte.", - "ASSIGN_SELECTED_TEAMS": "Assigna l'equip seleccionat.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Equips assignats correctament.", diff --git a/app/javascript/dashboard/i18n/locale/ca/campaign.json b/app/javascript/dashboard/i18n/locale/ca/campaign.json index fa192101e65..1686f5c1e4d 100644 --- a/app/javascript/dashboard/i18n/locale/ca/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ca/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completat", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completat", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ca/components.json b/app/javascript/dashboard/i18n/locale/ca/components.json index 3b0e062fd4a..2f29110f470 100644 --- a/app/javascript/dashboard/i18n/locale/ca/components.json +++ b/app/javascript/dashboard/i18n/locale/ca/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index c27684817f0..7cff15bb751 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "L'etiqueta s'ha assignat correctament.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json index abe1bbc0e63..b9c75f2c431 100644 --- a/app/javascript/dashboard/i18n/locale/ca/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Aquest missatge no està suportat. Pots veure aquest missatge a l'aplicació Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Aquest missatge no està suportat. Pots veure aquest missatge a l'aplicació d'Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "El missatge s'ha suprimit correctament", "FAIL_DELETE_MESSSAGE": "No s'ha pogut suprimir el missatge! Torna-ho a provar", "NO_RESPONSE": "Sense resposta", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resoldre", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Posposat fins demà", "SNOOZED_UNTIL_NEXT_WEEK": "Posposat fins a la setmana vinent", "SNOOZED_UNTIL_NEXT_REPLY": "Posposat fins a la següent resposta", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Gravar àudio", "TIP_AUDIORECORDER_PERMISSION": "Permet l'accés a l'àudio", "TIP_AUDIORECORDER_ERROR": "No s'ha pogut obrir l'àudio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Arrossega i deixa anar aquí per adjuntar-lo", "START_AUDIO_RECORDING": "Inicia la gravació d'àudio", "STOP_AUDIO_RECORDING": "Atura la gravació d'àudio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Descartar", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json index 7e9f3294268..5453c8e7405 100644 --- a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Esborrany", "ARCHIVE": "Archive", "TRANSLATE": "Tradueix", + "MOVE_TO_CATEGORY": "Categoria", "DELETE": "Esborrar", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Esborrar", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Aparença", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Suprimeix" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal creat correctament", diff --git a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json index 43209268aa0..e29814a0037 100644 --- a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "No hem pogut desar el canal WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Correu electrònic", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configuracions del bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Actualitza la configuració del formulari de xat prèvia" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ca/integrations.json b/app/javascript/dashboard/i18n/locale/ca/integrations.json index c83ca86e8d4..360c3c6bf63 100644 --- a/app/javascript/dashboard/i18n/locale/ca/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ca/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contacte creat", "CONTACT_UPDATED": "Contacte actualitzat", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/cs/bulkActions.json b/app/javascript/dashboard/i18n/locale/cs/bulkActions.json index 0d5b98d1d36..0330986dfe1 100644 --- a/app/javascript/dashboard/i18n/locale/cs/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/cs/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Vybrat agenta", - "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": "Přiřadit", "NONE": "Nic", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Načítání agentů", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Odložit", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Vybrat tým", "NONE": "Nic", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/cs/campaign.json b/app/javascript/dashboard/i18n/locale/cs/campaign.json index 69f849a345c..2d7efdefdb8 100644 --- a/app/javascript/dashboard/i18n/locale/cs/campaign.json +++ b/app/javascript/dashboard/i18n/locale/cs/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/cs/components.json b/app/javascript/dashboard/i18n/locale/cs/components.json index 76de71d164f..2caba589c54 100644 --- a/app/javascript/dashboard/i18n/locale/cs/components.json +++ b/app/javascript/dashboard/i18n/locale/cs/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json index 86ce1668f2d..c6640819807 100644 --- a/app/javascript/dashboard/i18n/locale/cs/contact.json +++ b/app/javascript/dashboard/i18n/locale/cs/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json index 0fd81f5d5bf..09d1c5408de 100644 --- a/app/javascript/dashboard/i18n/locale/cs/conversation.json +++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Zpráva byla úspěšně smazána", "FAIL_DELETE_MESSSAGE": "Zpráva se nepodařilo odstranit! Zkuste to znovu", "NO_RESPONSE": "Bez odpovědi", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Vyřešit", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Odloženo do zítřka", "SNOOZED_UNTIL_NEXT_WEEK": "Odloženo do příštího týdne", "SNOOZED_UNTIL_NEXT_REPLY": "Odloženo do další odpovědi", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Nahrát zvuk", "TIP_AUDIORECORDER_PERMISSION": "Povolit přístup ke zvuku", "TIP_AUDIORECORDER_ERROR": "Zvuk se nepodařilo otevřít", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Přetažením sem připojíte", "START_AUDIO_RECORDING": "Spustit nahrávání zvuku", "STOP_AUDIO_RECORDING": "Zastavit nahrávání zvuku", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json index e620ce5d86e..7f9405422cb 100644 --- a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Koncept", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Vymazat", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Vymazat", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Odebrat" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json index 6b36d0eff67..2f43b809fa2 100644 --- a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mailová adresa", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/cs/integrations.json b/app/javascript/dashboard/i18n/locale/cs/integrations.json index 163c58052b0..f26b6d5bc5e 100644 --- a/app/javascript/dashboard/i18n/locale/cs/integrations.json +++ b/app/javascript/dashboard/i18n/locale/cs/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/da/bulkActions.json b/app/javascript/dashboard/i18n/locale/da/bulkActions.json index a0947c74f04..fdf3ff5973c 100644 --- a/app/javascript/dashboard/i18n/locale/da/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/da/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} samtaler valgt", - "AGENT_SELECT_LABEL": "Vælg agent", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Gå tilbage", - "ASSIGN_LABEL": "Tildel", "NONE": "Ingen", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Samtaler løst med succes.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Samtaler synlig på denne side er kun valgt.", - "AGENT_LIST_LOADING": "Indlæser agenter", "UPDATE": { "CHANGE_STATUS": "Skift status", "SNOOZE_UNTIL": "Udsæt", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Ingen labels fundet", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Tildel valgte etiketter", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiketter tildelt med succes.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Vælg hold", "NONE": "Ingen", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Tildel det valgte team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/da/campaign.json b/app/javascript/dashboard/i18n/locale/da/campaign.json index 03cb62904bf..bda82c7983f 100644 --- a/app/javascript/dashboard/i18n/locale/da/campaign.json +++ b/app/javascript/dashboard/i18n/locale/da/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Afsluttet", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Afsluttet", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/da/components.json b/app/javascript/dashboard/i18n/locale/da/components.json index aa566d5c657..d42be12a5f2 100644 --- a/app/javascript/dashboard/i18n/locale/da/components.json +++ b/app/javascript/dashboard/i18n/locale/da/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index d900a6f597a..0423dfac1ab 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Tildel Etiketter", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiketter tildelt med succes.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json index 26253212fc3..3e959a0c4b3 100644 --- a/app/javascript/dashboard/i18n/locale/da/conversation.json +++ b/app/javascript/dashboard/i18n/locale/da/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Besked slettet", "FAIL_DELETE_MESSSAGE": "Kunne ikke slette beskeden! Prøv igen", "NO_RESPONSE": "Intet svar", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Løs", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Udsat til i morgen", "SNOOZED_UNTIL_NEXT_WEEK": "Udsat indtil næste uge", "SNOOZED_UNTIL_NEXT_REPLY": "Udsat indtil næste svar", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Optag lyd", "TIP_AUDIORECORDER_PERMISSION": "Tillad adgang til lyd", "TIP_AUDIORECORDER_ERROR": "Kunne ikke åbne lyden", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Træk og slip her for at vedhæfte", "START_AUDIO_RECORDING": "Start lydoptagelse", "STOP_AUDIO_RECORDING": "Stop lydoptagelse", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/da/helpCenter.json b/app/javascript/dashboard/i18n/locale/da/helpCenter.json index 360d3f08158..e641bd74df9 100644 --- a/app/javascript/dashboard/i18n/locale/da/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/da/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Kladde", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Kategori", "DELETE": "Slet", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Slet", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Fjern" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal oprettet", diff --git a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json index c77da592fff..f672656da31 100644 --- a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Vi kunne ikke gemme WhatsApp-kanalen" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot konfiguration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json index 04d43062049..6e11fc5659e 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrations.json +++ b/app/javascript/dashboard/i18n/locale/da/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/de/bulkActions.json b/app/javascript/dashboard/i18n/locale/de/bulkActions.json index ccfe8f0d3ff..64ffeef2ea5 100644 --- a/app/javascript/dashboard/i18n/locale/de/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/de/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} Konversationen ausgewählt", - "AGENT_SELECT_LABEL": "Agent auswählen", - "ASSIGN_CONFIRMATION_LABEL": "Sind Sie sicher, {conversationCount} {conversationLabel} zuzuweisen", - "UNASSIGN_CONFIRMATION_LABEL": "Möchten Sie die Zuweisung von {conversationCount} {conversationLabel} wirklich aufheben?", - "GO_BACK_LABEL": "Zurück", - "ASSIGN_LABEL": "Zuordnen", "NONE": "Keine", "CLEAR_SELECTION": "Leeren", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Konversationen erfolgreich gelöst.", "RESOLVE_FAILED": "Konversationen konnten nicht gelöst werden. Bitte versuchen Sie es erneut.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Nur auf dieser Seite sichtbaren Konversationen sind ausgewählt.", - "AGENT_LIST_LOADING": "Agenten werden geladen", "UPDATE": { "CHANGE_STATUS": "Status ändern", "SNOOZE_UNTIL": "Erinnern", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Labels zuweisen", - "NO_LABELS_FOUND": "Keine Labels gefunden", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Ausgewählte Labels zuweisen", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels erfolgreich zugewiesen.", - "ASSIGN_FAILED": "Labels konnten nicht zugewiesen werden. Bitte versuchen Sie es erneut." + "ASSIGN_FAILED": "Labels konnten nicht zugewiesen werden. Bitte versuchen Sie es erneut.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Team auswählen", "NONE": "Keine", - "NO_TEAMS_AVAILABLE": "Es wurden noch keine Teams zu diesem Konto hinzugefügt.", - "ASSIGN_SELECTED_TEAMS": "Ausgewähltes Team zuweisen.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams erfolgreich zugewiesen.", diff --git a/app/javascript/dashboard/i18n/locale/de/campaign.json b/app/javascript/dashboard/i18n/locale/de/campaign.json index 053b5b2766a..27e9cfeb175 100644 --- a/app/javascript/dashboard/i18n/locale/de/campaign.json +++ b/app/javascript/dashboard/i18n/locale/de/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Erledigt", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Erledigt", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/de/components.json b/app/javascript/dashboard/i18n/locale/de/components.json index 8a838720494..9a02af04c78 100644 --- a/app/javascript/dashboard/i18n/locale/de/components.json +++ b/app/javascript/dashboard/i18n/locale/de/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json index 893bb273a38..f1f06d26927 100644 --- a/app/javascript/dashboard/i18n/locale/de/contact.json +++ b/app/javascript/dashboard/i18n/locale/de/contact.json @@ -20,6 +20,8 @@ "CALL": "Anruf", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Spracheingang wählen" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Labels zuweisen", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels erfolgreich zugewiesen.", "ASSIGN_LABELS_FAILED": "Fehler beim Zuweisen der Labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Wählen Sie die Labels aus, die zu den ausgewählten Kontakten hinzugefügt werden sollen.", "NO_LABELS_FOUND": "Noch keine Labels vorhanden.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json index 48cdb6bb014..e370d3873f5 100644 --- a/app/javascript/dashboard/i18n/locale/de/conversation.json +++ b/app/javascript/dashboard/i18n/locale/de/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Diese Nachricht wird nicht unterstützt. Sie können diese Nachricht in der Facebook-Messenger-App sehen.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Diese Nachricht wird nicht unterstützt. Sie können diese Nachricht in der Instagram-App sehen.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Nachricht erfolgreich gelöscht", "FAIL_DELETE_MESSSAGE": "Nachricht konnte nicht gelöscht werden! Versuchen Sie es erneut", "NO_RESPONSE": "Keine Antwort", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Ausgehender Anruf", "CALL_IN_PROGRESS": "Anruf läuft", "NO_ANSWER": "Keine Antwort", + "NO_ANSWER_OUTBOUND_LABEL": "Keine Antwort", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Entgangener Anruf", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Anruf beendet", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Noch nicht beantwortet", + "CALLING": "Calling…", "THEY_ANSWERED": "Sie antworteten", "YOU_ANSWERED": "Sie haben beantwortet", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Fall schließen", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Schlummern bis morgen", "SNOOZED_UNTIL_NEXT_WEEK": "Schlummern bis nächste Woche", "SNOOZED_UNTIL_NEXT_REPLY": "Schlummern bis zur nächsten Antwort", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Audio aufzeichnen", "TIP_AUDIORECORDER_PERMISSION": "Zugriff auf Audio zulassen", "TIP_AUDIORECORDER_ERROR": "Audio konnte nicht geöffnet werden", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Zum Anhängen hierher ziehen und ablegen", "START_AUDIO_RECORDING": "Audioaufzeichnung starten", "STOP_AUDIO_RECORDING": "Audioaufzeichnung stoppen", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Noch nicht beantwortet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Verwerfen", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/de/helpCenter.json b/app/javascript/dashboard/i18n/locale/de/helpCenter.json index f34c8333770..4d416885d29 100644 --- a/app/javascript/dashboard/i18n/locale/de/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/de/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Entwürfe", "ARCHIVE": "Archive", "TRANSLATE": "Übersetzen", + "MOVE_TO_CATEGORY": "Kategorie", "DELETE": "Löschen", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Löschen", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Darstellung", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Entfernen" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal erfolgreich erstellt", diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json index 2f7b503ba56..4d5f5f71d08 100644 --- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentifizierung nicht abgeschlossen. Bitte starte den Prozess neu.", "SUCCESS_FALLBACK": "WhatsApp Business Account wurde erfolgreich konfiguriert", "MANUAL_FALLBACK": "Wenn Ihre Nummer bereits mit der WhatsApp Business Plattform (API) verbunden ist, oder wenn Sie als Technologieanbieter Ihre eigene Nummer an Bord haben, verwenden Sie bitte den {link} Flow", - "MANUAL_LINK_TEXT": "Manueller Einrichtungsablauf" + "MANUAL_LINK_TEXT": "Manueller Einrichtungsablauf", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Wir konnten den WhatsApp-Kanal nicht speichern" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-Mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot-Konfiguration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Pre Chat Einstellungen aktualisieren" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json index be243082075..6c0f93bee5a 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrations.json +++ b/app/javascript/dashboard/i18n/locale/de/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakt erstellt", "CONTACT_UPDATED": "Kontakt aktualisiert", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/el/bulkActions.json b/app/javascript/dashboard/i18n/locale/el/bulkActions.json index 309b88c9e16..5bb3d1df8df 100644 --- a/app/javascript/dashboard/i18n/locale/el/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/el/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} σινομιλίες επιλέχθηκαν", - "AGENT_SELECT_LABEL": "Επιλογή πράκτορα", - "ASSIGN_CONFIRMATION_LABEL": "Είσαστε σίγουροι ότι θέλετε να αντιστοιχίσετε {conversationCount} {conversationLabel} στον", - "UNASSIGN_CONFIRMATION_LABEL": "Είσαστε σίγουροι ότι θέλετε να αφαιρέσετε την αντιστοίχιση {conversationCount} {conversationLabel} στον;", - "GO_BACK_LABEL": "Πίσω", - "ASSIGN_LABEL": "Αντιστοίχιση", "NONE": "Κανένα", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Οι σινομιλίες επιλύθηκαν επιτυχώς.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Επιλέχθηκαν μόνο οι σινομιλίες που φαίνονται στην σελίδα.", - "AGENT_LIST_LOADING": "Φόρτωση πρακτόρων", "UPDATE": { "CHANGE_STATUS": "Αλλαγή κατάστασης", "SNOOZE_UNTIL": "Αναβολή", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Δεν βρέθηκαν ετικέτες", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Ανάθεση επιλεγμένων ετικετών", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Επιτυχής ανάθεση ετικετών.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Επιλογή ομάδας", "NONE": "Κανένα", - "NO_TEAMS_AVAILABLE": "Δεν έχουν προστεθεί ομάδες σε αυτόν τον λογαριασμό ακόμα.", - "ASSIGN_SELECTED_TEAMS": "Ανάθεση επιλεγμένης ομάδας.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/el/campaign.json b/app/javascript/dashboard/i18n/locale/el/campaign.json index 3d0e6b062b6..f3f5aadd53b 100644 --- a/app/javascript/dashboard/i18n/locale/el/campaign.json +++ b/app/javascript/dashboard/i18n/locale/el/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Ολοκληρώθηκε", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Ολοκληρώθηκε", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/el/components.json b/app/javascript/dashboard/i18n/locale/el/components.json index 90cbbbdedc6..28c48d8dc35 100644 --- a/app/javascript/dashboard/i18n/locale/el/components.json +++ b/app/javascript/dashboard/i18n/locale/el/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json index 5508e2d64c8..677cd5e4e12 100644 --- a/app/javascript/dashboard/i18n/locale/el/contact.json +++ b/app/javascript/dashboard/i18n/locale/el/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Ανάθεση Ετικετών", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Επιτυχής ανάθεση ετικετών.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json index 51efa7bc49a..206bc68ab82 100644 --- a/app/javascript/dashboard/i18n/locale/el/conversation.json +++ b/app/javascript/dashboard/i18n/locale/el/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Το μήνυμα διαγράφηκε επιτυχώς", "FAIL_DELETE_MESSSAGE": "Δεν ήταν δυνατή η διαγραφή μηνύματος! Προσπαθήστε ξανά", "NO_RESPONSE": "Καμία ανταπόκριση", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Επίλυση", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Αναβλήθηκε μέχρι αύριο", "SNOOZED_UNTIL_NEXT_WEEK": "Αναβολή έως την επόμενη εβδομάδα", "SNOOZED_UNTIL_NEXT_REPLY": "Αναβολή έως την επόμενη απάντηση", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Εγγραφή ήχου", "TIP_AUDIORECORDER_PERMISSION": "Να επιτρέπεται η πρόσβαση στον ήχο", "TIP_AUDIORECORDER_ERROR": "Αδυναμία ανοίγματος ήχου", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Σύρετε και αφήστε εδώ για επισύναψη", "START_AUDIO_RECORDING": "Έναρξη ηχογράφησης", "STOP_AUDIO_RECORDING": "Διακοπή ηχογράφησης", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/el/helpCenter.json b/app/javascript/dashboard/i18n/locale/el/helpCenter.json index bdf9392123e..1e3b5de1efa 100644 --- a/app/javascript/dashboard/i18n/locale/el/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/el/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Πρόχειρο", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Κατηγορία", "DELETE": "Διαγραφή", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Διαγραφή", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Διαγραφή" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Ο φάκελος δημιουργήθηκε με επιτυχία", diff --git a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json index 3381c1eee79..516f5c6d67c 100644 --- a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Δεν ήμασταν σε θέση να αποθηκεύσουμε το κανάλι WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Ρυθμίσεις Bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/el/integrations.json b/app/javascript/dashboard/i18n/locale/el/integrations.json index 296f4052052..6f2f46697d1 100644 --- a/app/javascript/dashboard/i18n/locale/el/integrations.json +++ b/app/javascript/dashboard/i18n/locale/el/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/es/bulkActions.json b/app/javascript/dashboard/i18n/locale/es/bulkActions.json index d27708e7282..b8840aecf40 100644 --- a/app/javascript/dashboard/i18n/locale/es/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/es/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversaciones seleccionadas", - "AGENT_SELECT_LABEL": "Seleccionar agente", - "ASSIGN_CONFIRMATION_LABEL": "¿Está seguro que desea asignar {conversationCount} {conversationLabel} a", - "UNASSIGN_CONFIRMATION_LABEL": "¿Está seguro de desasignar {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Volver", - "ASSIGN_LABEL": "Asignar", "NONE": "Ninguna", "CLEAR_SELECTION": "Limpiar", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversaciones resueltas con éxito.", "RESOLVE_FAILED": "Error al resolver las conversaciones, inténtelo de nuevo.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Las conversaciones visibles en esta página sólo están seleccionadas.", - "AGENT_LIST_LOADING": "Cargando agentes", "UPDATE": { "CHANGE_STATUS": "Cambiar estado", "SNOOZE_UNTIL": "Posponer", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Asignar etiqueta", - "NO_LABELS_FOUND": "No se encontraron etiquetas", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Asignar etiquetas seleccionadas", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiquetas asignadas correctamente.", - "ASSIGN_FAILED": "Error al asignar etiquetas, inténtalo de nuevo." + "ASSIGN_FAILED": "Error al asignar etiquetas, inténtalo de nuevo.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Seleccionar equipo", "NONE": "Ninguna", - "NO_TEAMS_AVAILABLE": "Todavía no hay equipos añadidos a esta cuenta.", - "ASSIGN_SELECTED_TEAMS": "Asignar equipo seleccionado.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Equipos asignados correctamente.", diff --git a/app/javascript/dashboard/i18n/locale/es/campaign.json b/app/javascript/dashboard/i18n/locale/es/campaign.json index ff7bcce6550..038d50d387e 100644 --- a/app/javascript/dashboard/i18n/locale/es/campaign.json +++ b/app/javascript/dashboard/i18n/locale/es/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completado", "SCHEDULED": "Programado" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completado", "SCHEDULED": "Programado" }, diff --git a/app/javascript/dashboard/i18n/locale/es/components.json b/app/javascript/dashboard/i18n/locale/es/components.json index f588a7602b2..cebd9a39077 100644 --- a/app/javascript/dashboard/i18n/locale/es/components.json +++ b/app/javascript/dashboard/i18n/locale/es/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json index 8142671dd23..8978dc0c892 100644 --- a/app/javascript/dashboard/i18n/locale/es/contact.json +++ b/app/javascript/dashboard/i18n/locale/es/contact.json @@ -20,6 +20,8 @@ "CALL": "Llamar", "CALL_INITIATED": "Llamando al contacto…", "CALL_FAILED": "No se puede iniciar la llamada. Por favor, inténtelo de nuevo.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Seleccionar un buzón de entrada" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Asignar etiquetas", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiquetas asignadas correctamente.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json index 2418a1392f9..cb0e2df70f9 100644 --- a/app/javascript/dashboard/i18n/locale/es/conversation.json +++ b/app/javascript/dashboard/i18n/locale/es/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Este mensaje no es compatible. Puedes ver este mensaje en la aplicación de Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Este mensaje no es compatible. Puedes ver este mensaje en la aplicación de Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mensaje eliminado correctamente", "FAIL_DELETE_MESSSAGE": "¡No se pudo eliminar el mensaje! Inténtalo de nuevo", "NO_RESPONSE": "No hay respuesta", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Unirse a la llamada" + "JOIN_CALL": "Unirse a la llamada", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolver", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Pospuesto hasta mañana", "SNOOZED_UNTIL_NEXT_WEEK": "Pospuesto hasta la próxima semana", "SNOOZED_UNTIL_NEXT_REPLY": "Posponer hasta la siguiente respuesta", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Grabar audio", "TIP_AUDIORECORDER_PERMISSION": "Permitir el acceso a audio", "TIP_AUDIORECORDER_ERROR": "No se pudo abrir el audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Arrastra y suelta aquí para adjuntar", "START_AUDIO_RECORDING": "Iniciar grabación de audio", "STOP_AUDIO_RECORDING": "Detener grabación de audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Atendido en otra pestaña", "REJECT_CALL": "Rechazar", + "DISMISS_CALL": "Descartar", "JOIN_CALL": "Unirse a la llamada", - "END_CALL": "Terminar llamada" + "END_CALL": "Terminar llamada", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/es/helpCenter.json b/app/javascript/dashboard/i18n/locale/es/helpCenter.json index 9dbf7d92c03..4b13441ee9e 100644 --- a/app/javascript/dashboard/i18n/locale/es/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/es/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Borrador", "ARCHIVE": "Archive", "TRANSLATE": "Traducir", + "MOVE_TO_CATEGORY": "Categoría", "DELETE": "Eliminar", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Eliminar", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Apariencia", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Eliminar" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal creado correctamente", diff --git a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json index 980aa606ef2..1138e4abf1d 100644 --- a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "No pudimos guardar el canal de WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configuración del bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "Encuestas de Satisfacción", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Actualizar configuración de Formulario de Chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/es/integrations.json b/app/javascript/dashboard/i18n/locale/es/integrations.json index f6c9ed63c97..c04f79403d0 100644 --- a/app/javascript/dashboard/i18n/locale/es/integrations.json +++ b/app/javascript/dashboard/i18n/locale/es/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contacto creado", "CONTACT_UPDATED": "Contacto actualizado", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/et/bulkActions.json b/app/javascript/dashboard/i18n/locale/et/bulkActions.json index 2170173f285..ed302714d1d 100644 --- a/app/javascript/dashboard/i18n/locale/et/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/et/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "Mitte ükski", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/et/campaign.json b/app/javascript/dashboard/i18n/locale/et/campaign.json index 10366e79e8b..e407de04f13 100644 --- a/app/javascript/dashboard/i18n/locale/et/campaign.json +++ b/app/javascript/dashboard/i18n/locale/et/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Töötlemisel", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Töötlemisel", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/et/components.json b/app/javascript/dashboard/i18n/locale/et/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/et/components.json +++ b/app/javascript/dashboard/i18n/locale/et/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/et/contact.json b/app/javascript/dashboard/i18n/locale/et/contact.json index db03757efe3..4400ac26eeb 100644 --- a/app/javascript/dashboard/i18n/locale/et/contact.json +++ b/app/javascript/dashboard/i18n/locale/et/contact.json @@ -20,6 +20,8 @@ "CALL": "Helista", "CALL_INITIATED": "Helistatakse kontaktile…", "CALL_FAILED": "Kõne alustamine ebaõnnestus. Palun proovi uuesti.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Vali häälpostkast" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Märgendite määramine", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Märgendid määrati edukalt.", "ASSIGN_LABELS_FAILED": "Märgendite määramine ebaõnnestus", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Valige sildid, mida soovite valitud kontaktidele lisada.", "NO_LABELS_FOUND": "Silte pole veel saadaval.", "SELECTED_COUNT": "{count} valitud", diff --git a/app/javascript/dashboard/i18n/locale/et/conversation.json b/app/javascript/dashboard/i18n/locale/et/conversation.json index e8f04d96d8c..16923b08c46 100644 --- a/app/javascript/dashboard/i18n/locale/et/conversation.json +++ b/app/javascript/dashboard/i18n/locale/et/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "See sõnum ei ole toetatud. Sa saad seda vaadata Facebook Messenger rakenduses.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "See sõnum ei ole toetatud. Sa saad seda vaadata Instagram rakenduses.", "UNSUPPORTED_MESSAGE_TIKTOK": "See sõnum ei ole toetatud. Sa saad seda vaadata TikTok rakenduses.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Sõnum kustutati edukalt", "FAIL_DELETE_MESSSAGE": "Sõnumit ei õnnestunud kustutada! Proovi uuesti", "NO_RESPONSE": "Vastust pole", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Väljaminev kõne", "CALL_IN_PROGRESS": "Kõne käib", "NO_ANSWER": "Vastamata", + "NO_ANSWER_OUTBOUND_LABEL": "Vastamata", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Vastamata kõne", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Kõne lõppenud", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Veel vastamata", + "CALLING": "Calling…", "THEY_ANSWERED": "Nad vastasid", "YOU_ANSWERED": "Sa vastasid", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Liitu kõnega" + "JOIN_CALL": "Liitu kõnega", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Lahenda", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Edasilükatud homseni", "SNOOZED_UNTIL_NEXT_WEEK": "Edasilükatud järgmise nädalani", "SNOOZED_UNTIL_NEXT_REPLY": "Edasilükatud järgmise vastuseni", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Salvesta heli", "TIP_AUDIORECORDER_PERMISSION": "Luba juurdepääs helile", "TIP_AUDIORECORDER_ERROR": "Heli avamine ebaõnnestus", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Lohista siia manusena lisamiseks", "START_AUDIO_RECORDING": "Alusta heli salvestamist", "STOP_AUDIO_RECORDING": "Peata heli salvestamine", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Veel ei ole vastatud", "HANDLED_IN_ANOTHER_TAB": "Käsitletakse teises vahekaardis", "REJECT_CALL": "Keeldu", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Liitu kõnega", - "END_CALL": "Lõpeta kõne" + "END_CALL": "Lõpeta kõne", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/et/helpCenter.json b/app/javascript/dashboard/i18n/locale/et/helpCenter.json index fbe78738a29..fd4e9841315 100644 --- a/app/javascript/dashboard/i18n/locale/et/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/et/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Mustand", "ARCHIVE": "Arhiveeri", "TRANSLATE": "Tõlgi", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Muuda seadistust" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Eemalda" + }, + "SAVE": "Salvesta muudatused" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portaal loodud edukalt", diff --git a/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json index b3a509860be..16b86dcae8d 100644 --- a/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/et/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsAppi kanalit ei õnnestunud salvestada" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Boti seadistamine", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Hääl" + "VOICE": "Hääl", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Uuenda vestluse-eelse vormi seadeid" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/et/integrations.json b/app/javascript/dashboard/i18n/locale/et/integrations.json index 54b71051a1e..a65ce73010e 100644 --- a/app/javascript/dashboard/i18n/locale/et/integrations.json +++ b/app/javascript/dashboard/i18n/locale/et/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakt loodud", "CONTACT_UPDATED": "Kontakt uuendatud", "CONVERSATION_TYPING_ON": "Vestluses kirjutamise alustamine", - "CONVERSATION_TYPING_OFF": "Vestluses kirjutamise lõpetamine" + "CONVERSATION_TYPING_OFF": "Vestluses kirjutamise lõpetamine", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/fa/bulkActions.json b/app/javascript/dashboard/i18n/locale/fa/bulkActions.json index 876d88f0f42..deaf2245da1 100644 --- a/app/javascript/dashboard/i18n/locale/fa/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fa/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} گفتگو انتخاب شده است", - "AGENT_SELECT_LABEL": "انتخاب اپراتور", - "ASSIGN_CONFIRMATION_LABEL": "آیا مطمئن هستید که به {conversationCount} {conversationLabel} اختصاص می‌دهید", - "UNASSIGN_CONFIRMATION_LABEL": "آیا مطمئنید که {conversationCount} {conversationLabel} را می‌خواهید اختصاص را لغو کنید؟", - "GO_BACK_LABEL": "بازگشت", - "ASSIGN_LABEL": "اختصاص دادن", "NONE": "هیچکدام", "CLEAR_SELECTION": "پاک کردن", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "گفتگو با موفقیت حل شد.", "RESOLVE_FAILED": "گفتگو حل نشد، لطفا دوباره امتحان کنید.", "ALL_CONVERSATIONS_SELECTED_ALERT": "گفتگوهای قابل مشاهده در این صفحه فقط انتخاب می‌شوند.", - "AGENT_LIST_LOADING": "بارگذاری ایجنت ها", "UPDATE": { "CHANGE_STATUS": "تغییر وضعیت", "SNOOZE_UNTIL": "به تعویق انداختن", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "برچسب اختصاص دهید", - "NO_LABELS_FOUND": "هیچ برچسبی یافت نشد", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "اختصاص برچسب‌های انتخاب شده", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "برچسب‌ها با موفقیت اختصاص یافتند.", - "ASSIGN_FAILED": "اختصاص برچسب‌ به صورت موفق انجام نشد، لطفا دوباره امتحان کنید." + "ASSIGN_FAILED": "اختصاص برچسب‌ به صورت موفق انجام نشد، لطفا دوباره امتحان کنید.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "انتخاب تیم", "NONE": "هیچکدام", - "NO_TEAMS_AVAILABLE": "هنوز هیچ تیمی به این حساب کاربری اضافه نشده است.", - "ASSIGN_SELECTED_TEAMS": "اختصاص تیم انتخاب شده.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/fa/campaign.json b/app/javascript/dashboard/i18n/locale/fa/campaign.json index da401f57ea3..f4a2fab900e 100644 --- a/app/javascript/dashboard/i18n/locale/fa/campaign.json +++ b/app/javascript/dashboard/i18n/locale/fa/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "تکمیل شد", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "تکمیل شد", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/fa/companies.json b/app/javascript/dashboard/i18n/locale/fa/companies.json index 654b9fc39be..91b7f1fadf2 100644 --- a/app/javascript/dashboard/i18n/locale/fa/companies.json +++ b/app/javascript/dashboard/i18n/locale/fa/companies.json @@ -80,7 +80,7 @@ "DESCRIPTION": "Search for an existing contact and link it to this company.", "SEARCH_PLACEHOLDER": "جستجوی مخاطبین...", "INITIAL": "Start typing to search contacts.", - "EMPTY": "No contacts found.", + "EMPTY": "هیچ مخاطبی پیدا نشد.", "CONFIRM_TITLE": "Link contact", "CONFIRM_DESCRIPTION": "Confirm the company and contact before linking them.", "COMPANY_LABEL": "شرکت", diff --git a/app/javascript/dashboard/i18n/locale/fa/components.json b/app/javascript/dashboard/i18n/locale/fa/components.json index cab63a40531..2681c35a379 100644 --- a/app/javascript/dashboard/i18n/locale/fa/components.json +++ b/app/javascript/dashboard/i18n/locale/fa/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json index 2a42fb278c3..57e6c548808 100644 --- a/app/javascript/dashboard/i18n/locale/fa/contact.json +++ b/app/javascript/dashboard/i18n/locale/fa/contact.json @@ -20,6 +20,8 @@ "CALL": "تماس", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "اختصاص برچسب‌ها", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "برچسب‌ها با موفقیت اختصاص یافتند.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json index cdd3733bec4..b965cf4dd04 100644 --- a/app/javascript/dashboard/i18n/locale/fa/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "این پیام پشتیبانی نمی شود. می توانید این پیام را در برنامه فیس بوک مسنجر مشاهده کنید.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "این پیام پشتیبانی نمی شود. می توانید این پیام را در برنامه اینستاگرام مشاهده کنید.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "پیام با موفقیت حذف شد", "FAIL_DELETE_MESSSAGE": "پیام حذف نشد! دوباره امتحان کنید", "NO_RESPONSE": "بدون پاسخ", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "نمایش کمتر" }, "HEADER": { "RESOLVE_ACTION": "حل شد", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "تا فردا به تعویق افتاد", "SNOOZED_UNTIL_NEXT_WEEK": "تا هفته آینده به تعویق افتاد", "SNOOZED_UNTIL_NEXT_REPLY": "تا پاسخ بعدی به تعویق افتاد", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "ضبط صدا", "TIP_AUDIORECORDER_PERMISSION": "اجازه دسترسی به صدا", "TIP_AUDIORECORDER_ERROR": "صدا را نمی‌توان باز کند", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "برای ضمیمه کردن درگ و درآپ کنید", "START_AUDIO_RECORDING": "در حال شروع ضبط صدا", "STOP_AUDIO_RECORDING": "در حال توقف ضبط صدا", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "نادیده بگیر", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { @@ -367,16 +389,16 @@ "MACROS": "ماکروها", "LINEAR_ISSUES": "Linked Linear Issues", "SHOPIFY_ORDERS": "Shopify Orders", - "SHARED_FILES": "Attachments" + "SHARED_FILES": "پیوست‌ها" }, "SHARED_FILES": { "EMPTY": "No attachments yet", - "DOWNLOAD": "Download file", + "DOWNLOAD": "دریافت پرونده", "DOWNLOAD_ERROR": "Could not download the file. Please try again.", "MEDIA_HEADING": "Media", - "FILES_HEADING": "Files", + "FILES_HEADING": "پرونده‌ها", "VIEW_ALL": "مشاهده همه", - "SHOW_LESS": "Show less", + "SHOW_LESS": "نمایش کمتر", "MORE_COUNT": "+{count}", "UNTITLED_FILE": "Untitled file" }, diff --git a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json index 7d4966529ed..e2ce47b873f 100644 --- a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "پیش‌نویس", "ARCHIVE": "Archive", "TRANSLATE": "ترجمه", + "MOVE_TO_CATEGORY": "دسته‌بندی", "DELETE": "حذف", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "حذف", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "ظاهری", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "حذف" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "پورتال با موفقیت ایجاد شد", diff --git a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json index d3447414f95..479e8a4b8d0 100644 --- a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "ما نتوانستیم کانال WhatsApp را ذخیره کنیم" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "ایمیل", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "پیکربندی ربات", "ACCOUNT_HEALTH": "Account Health", "CSAT": "رضایت مشتری", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "به‌روزرسانی تنظیمات فرم قبل از گفتگو" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/fa/integrations.json b/app/javascript/dashboard/i18n/locale/fa/integrations.json index 796985aafa8..d81daa5802f 100644 --- a/app/javascript/dashboard/i18n/locale/fa/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fa/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "مخاطب ایجاد شد", "CONTACT_UPDATED": "مخاطب به‌روزرسانی شد", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/fi/bulkActions.json b/app/javascript/dashboard/i18n/locale/fi/bulkActions.json index d7a05e6f61a..6ff1b217a08 100644 --- a/app/javascript/dashboard/i18n/locale/fi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fi/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Mene takaisin", - "ASSIGN_LABEL": "Delegoi", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/fi/campaign.json b/app/javascript/dashboard/i18n/locale/fi/campaign.json index 18db3657f02..45679751aa4 100644 --- a/app/javascript/dashboard/i18n/locale/fi/campaign.json +++ b/app/javascript/dashboard/i18n/locale/fi/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/fi/components.json b/app/javascript/dashboard/i18n/locale/fi/components.json index d7dc18f5c37..ef02db5c660 100644 --- a/app/javascript/dashboard/i18n/locale/fi/components.json +++ b/app/javascript/dashboard/i18n/locale/fi/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json index dcbf58344ec..ac8d320168a 100644 --- a/app/javascript/dashboard/i18n/locale/fi/contact.json +++ b/app/javascript/dashboard/i18n/locale/fi/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json index f5017d16ea0..8dcc36570b2 100644 --- a/app/javascript/dashboard/i18n/locale/fi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Ratkaise", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json index 02ba84edddf..3da9cffb124 100644 --- a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Poista", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Poista", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Poista" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json index c2ddfdb7103..acd660eb039 100644 --- a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Sähköposti", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/fi/integrations.json b/app/javascript/dashboard/i18n/locale/fi/integrations.json index ff721724aa1..b990f68e195 100644 --- a/app/javascript/dashboard/i18n/locale/fi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fi/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/fr/bulkActions.json b/app/javascript/dashboard/i18n/locale/fr/bulkActions.json index 59d3e3c9139..3d875a01bd2 100644 --- a/app/javascript/dashboard/i18n/locale/fr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/fr/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations sélectionnées", - "AGENT_SELECT_LABEL": "Sélectionner un agent", - "ASSIGN_CONFIRMATION_LABEL": "Êtes-vous sûr de vouloir assigner {conversationCount} {conversationLabel} à", - "UNASSIGN_CONFIRMATION_LABEL": "Êtes-vous sûr de vouloir retirer l'affectation de {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Retour", - "ASSIGN_LABEL": "Assigner", "NONE": "Aucun", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations résolues avec succès.", "RESOLVE_FAILED": "Impossible de résoudre les conversations, veuillez réessayer.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Sont uniquement sélectionnées les conversations visibles sur cette page.", - "AGENT_LIST_LOADING": "Chargement des agents", "UPDATE": { "CHANGE_STATUS": "Changer le statut", "SNOOZE_UNTIL": "Reporter", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assigner une étiquette", - "NO_LABELS_FOUND": "Aucune étiquette trouvée", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assigner les étiquettes sélectionnées", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Étiquettes attribuées avec succès.", - "ASSIGN_FAILED": "Impossible d'attribuer les étiquettes, veuillez réessayer." + "ASSIGN_FAILED": "Impossible d'attribuer les étiquettes, veuillez réessayer.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Sélectionner une équipe", "NONE": "Aucun", - "NO_TEAMS_AVAILABLE": "Aucune équipe n'a encore été ajoutée à ce compte.", - "ASSIGN_SELECTED_TEAMS": "Assigner à l'équipe sélectionnée.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/fr/campaign.json b/app/javascript/dashboard/i18n/locale/fr/campaign.json index b2bbede32fa..92756bff7c1 100644 --- a/app/javascript/dashboard/i18n/locale/fr/campaign.json +++ b/app/javascript/dashboard/i18n/locale/fr/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Terminé", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Terminé", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/fr/components.json b/app/javascript/dashboard/i18n/locale/fr/components.json index 53ebf3b1ade..68028416e6a 100644 --- a/app/javascript/dashboard/i18n/locale/fr/components.json +++ b/app/javascript/dashboard/i18n/locale/fr/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json index b0fbf700b05..cefa7d0af7b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/contact.json +++ b/app/javascript/dashboard/i18n/locale/fr/contact.json @@ -20,6 +20,8 @@ "CALL": "Appel", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choisir une boîte de réception vocale" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assigner des étiquettes", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Étiquettes attribuées avec succès.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json index 2451b4a493a..8a5df6eb51d 100644 --- a/app/javascript/dashboard/i18n/locale/fr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Ce message n'est pas pris en charge. Vous pouvez voir ce message sur l'application Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ce message n'est pas pris en charge. Vous pouvez voir ce message sur l'application Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Le message a bien été supprimé", "FAIL_DELETE_MESSSAGE": "Impossible de supprimer le message ! Veuillez réessayez", "NO_RESPONSE": "Pas de réponse", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Appel sortant", "CALL_IN_PROGRESS": "Appel en cours", "NO_ANSWER": "Pas de réponse", + "NO_ANSWER_OUTBOUND_LABEL": "Pas de réponse", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Appel manqué", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Appel terminé", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Pas encore répondu", + "CALLING": "Calling…", "THEY_ANSWERED": "Il a répondu", "YOU_ANSWERED": "Vous avez répondu", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Résoudre", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Reporté jusqu'à demain", "SNOOZED_UNTIL_NEXT_WEEK": "Reporté jusqu'à la semaine prochaine", "SNOOZED_UNTIL_NEXT_REPLY": "Reporté jusqu'à la prochaine réponse", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Enregistrer l'audio", "TIP_AUDIORECORDER_PERMISSION": "Autoriser l'accès à l'audio", "TIP_AUDIORECORDER_ERROR": "Impossible d'ouvrir l'audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Glissez et déposez ici pour lier", "START_AUDIO_RECORDING": "Démarrer l'enregistrement audio", "STOP_AUDIO_RECORDING": "Arrêter l'enregistrement audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Pas encore répondu", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Rejeter", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json index 57f2d62457c..80eac812617 100644 --- a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Brouillon", "ARCHIVE": "Archive", "TRANSLATE": "Traduire", + "MOVE_TO_CATEGORY": "Catégorie", "DELETE": "Supprimer", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Supprimer", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Apparence", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Supprimer" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Le portail a été créé avec succès", diff --git a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json index 1fd73270c0b..f90a67fa828 100644 --- a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nous n'avons pas pu enregistrer le canal WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "Appel WhatsApp", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Courriel", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configuration du bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Mettre à jour les paramètres du formulaire de pré-chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/fr/integrations.json b/app/javascript/dashboard/i18n/locale/fr/integrations.json index 6fcf86fc019..557365f3630 100644 --- a/app/javascript/dashboard/i18n/locale/fr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fr/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact créé", "CONTACT_UPDATED": "Contact mis à jour", "CONVERSATION_TYPING_ON": "Saisie de conversation activée", - "CONVERSATION_TYPING_OFF": "Saisie de conversation désactivée" + "CONVERSATION_TYPING_OFF": "Saisie de conversation désactivée", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/fr/onboarding.json b/app/javascript/dashboard/i18n/locale/fr/onboarding.json index b3ab630ebe8..3aa5f93e9c0 100644 --- a/app/javascript/dashboard/i18n/locale/fr/onboarding.json +++ b/app/javascript/dashboard/i18n/locale/fr/onboarding.json @@ -1,26 +1,26 @@ { "ONBOARDING_NEXT": { - "GREETING": "Hello {name}!", - "SUBTITLE": "Please review the following details", - "YOUR_DETAILS": "Your details", + "GREETING": "Bonjour {name} !", + "SUBTITLE": "Veuillez vérifier les informations suivantes", + "YOUR_DETAILS": "Vos informations", "COMPANY_DETAILS": "Company details", "FIELDS": { "EMAIL": "Courriel", - "YOUR_ROLE": "Your Role", + "YOUR_ROLE": "Votre rôle", "WEBSITE": "Site internet", "LANGUAGE": "Langue", "TIMEZONE": "Fuseau horaire", - "COMPANY_SIZE": "Company Size", - "INDUSTRY": "Industry", + "COMPANY_SIZE": "Taille de l'entreprise", + "INDUSTRY": "Secteur d'activité", "REFERRAL_SOURCE": "Where did you find us?" }, "PLACEHOLDERS": { - "SELECT_ROLE": "Select your role", - "ENTER_WEBSITE": "www.example.com", - "SELECT_LANGUAGE": "Select language", + "SELECT_ROLE": "Sélectionnez votre rôle", + "ENTER_WEBSITE": "www.exemple.fr", + "SELECT_LANGUAGE": "Sélectionner la langue", "SELECT_TIMEZONE": "Sélectionnez le fuseau horaire", - "SELECT_COMPANY_SIZE": "Select company size", - "SELECT_INDUSTRY": "Select industry", + "SELECT_COMPANY_SIZE": "Sélectionnez la taille de l'entreprise", + "SELECT_INDUSTRY": "Sélectionnez un secteur d'activité", "SELECT_REFERRAL_SOURCE": "Select source" }, "EMAIL_VERIFIED": "Email verified", @@ -28,7 +28,7 @@ "CONTINUE": "Continue", "SAVING": "Enregistrement en cours...", "VALIDATION_ERROR": "Please fill in all required fields", - "SUCCESS": "Details saved successfully", + "SUCCESS": "Les informations ont été enregistrées avec succès", "ERROR": "Could not save details. Please try again." } } diff --git a/app/javascript/dashboard/i18n/locale/he/bulkActions.json b/app/javascript/dashboard/i18n/locale/he/bulkActions.json index 2678e646f7a..b0d6e3f468b 100644 --- a/app/javascript/dashboard/i18n/locale/he/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/he/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} שיחות נבחרו", - "AGENT_SELECT_LABEL": "בחר נציג", - "ASSIGN_CONFIRMATION_LABEL": "האם אתה בטוח שברצונך לשייך {conversationCount} {conversationLabel} ל-", - "UNASSIGN_CONFIRMATION_LABEL": "האם אתה בטוח שברצונך לבטל שיוך {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "חזור", - "ASSIGN_LABEL": "שייך", "NONE": "כלום", "CLEAR_SELECTION": "נקה", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "שיחה טופלה בהצלחה.", "RESOLVE_FAILED": "הסגירה של השיחות נכשלה. אנא נסה שוב.", "ALL_CONVERSATIONS_SELECTED_ALERT": "השיחות הנבחרות הן המוצגות בדף זה בלבד.", - "AGENT_LIST_LOADING": "טוען סוכנים", "UPDATE": { "CHANGE_STATUS": "שנה סטאטוס", "SNOOZE_UNTIL": "נודניק", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "הקצה תוויות", - "NO_LABELS_FOUND": "לא נמצאו תוויות", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "שייך תוויות נבחרות", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "תוויות שוייכו בהצלחה.", - "ASSIGN_FAILED": "ההקצאה של התוויות נכשלה. אנא נסה שוב." + "ASSIGN_FAILED": "ההקצאה של התוויות נכשלה. אנא נסה שוב.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "בחר קבוצה", "NONE": "כלום", - "NO_TEAMS_AVAILABLE": "לא קיימות קבוצות להוספה.", - "ASSIGN_SELECTED_TEAMS": "שייך קבוצה.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "הצוותים הוקצו בהצלחה.", diff --git a/app/javascript/dashboard/i18n/locale/he/campaign.json b/app/javascript/dashboard/i18n/locale/he/campaign.json index 45f4a3af987..11c1d639f27 100644 --- a/app/javascript/dashboard/i18n/locale/he/campaign.json +++ b/app/javascript/dashboard/i18n/locale/he/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "מעבד", "COMPLETED": "הושלם", "SCHEDULED": "מתוזמן" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "מעבד", "COMPLETED": "הושלם", "SCHEDULED": "מתוזמן" }, diff --git a/app/javascript/dashboard/i18n/locale/he/components.json b/app/javascript/dashboard/i18n/locale/he/components.json index 87ba64827e6..636caa1b0a8 100644 --- a/app/javascript/dashboard/i18n/locale/he/components.json +++ b/app/javascript/dashboard/i18n/locale/he/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/he/contact.json b/app/javascript/dashboard/i18n/locale/he/contact.json index b886ebd449b..4203d154b5a 100644 --- a/app/javascript/dashboard/i18n/locale/he/contact.json +++ b/app/javascript/dashboard/i18n/locale/he/contact.json @@ -20,6 +20,8 @@ "CALL": "התקשר", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "בחר תיבת דואר קולי" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "הקצה תוויות", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "תוויות שוייכו בהצלחה.", "ASSIGN_LABELS_FAILED": "ההקצאה של התוויות נכשלה", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "בחר את התוויות שברצונך להוסיף לאנשי הקשר שנבחרו.", "NO_LABELS_FOUND": "אין עדיין תוויות זמינות.", "SELECTED_COUNT": "{count} נבחרו", diff --git a/app/javascript/dashboard/i18n/locale/he/conversation.json b/app/javascript/dashboard/i18n/locale/he/conversation.json index 8cb92ed12f7..0ce06cd72ee 100644 --- a/app/javascript/dashboard/i18n/locale/he/conversation.json +++ b/app/javascript/dashboard/i18n/locale/he/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "הודעה זו אינה נתמכת. תוכל לצפות בהודעה זו באפליקציית Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "הודעה זו אינה נתמכת. תוכל לצפות בהודעה זו באפליקציית Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "ההודעה נמחקה בהצלחה", "FAIL_DELETE_MESSSAGE": "לא ניתן למחוק את ההודעה! נסה שוב", "NO_RESPONSE": "אין תגובה", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "שיחה יוצאת", "CALL_IN_PROGRESS": "שיחה מתבצעת", "NO_ANSWER": "אין מענה", + "NO_ANSWER_OUTBOUND_LABEL": "אין מענה", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "שיחה שלא נענתה", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "השיחה הסתיימה", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "עדיין לא נענה", + "CALLING": "Calling…", "THEY_ANSWERED": "הם ענו", "YOU_ANSWERED": "אתה ענית", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "פתרון", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "נמנם עד מחר", "SNOOZED_UNTIL_NEXT_WEEK": "נמנם עד שבוע הבא", "SNOOZED_UNTIL_NEXT_REPLY": "נמנם עד תגובה הבאה", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "הקלט אודיו", "TIP_AUDIORECORDER_PERMISSION": "אפשר גישה לאודיו", "TIP_AUDIORECORDER_ERROR": "לא יכול לפתוח אודיו", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "גרור ושחרר כאן להוספת קובץ מצורף", "START_AUDIO_RECORDING": "התחל הקלטת אודיו", "STOP_AUDIO_RECORDING": "עצור הקלטת אודיו", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "עדיין לא נענה", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "סגור", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/he/helpCenter.json b/app/javascript/dashboard/i18n/locale/he/helpCenter.json index 98b3abe9725..e1e793f929e 100644 --- a/app/javascript/dashboard/i18n/locale/he/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/he/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "טיוטה", "ARCHIVE": "ארכיון", "TRANSLATE": "תרגום", + "MOVE_TO_CATEGORY": "קטגוריה", "DELETE": "מחק", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "מחק", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "ערוך הגדרה" }, + "LAYOUT_CONTENT": { + "HEADER": "מראה", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "הסר" + }, + "SAVE": "שמור שינויים" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "הפורטל נוצר בהצלחה", diff --git a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json index 47182e2a894..64e5f9a6c43 100644 --- a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "מאמת עם Meta", "WAITING_FOR_BUSINESS_INFO": "אנא השלם את הגדרת העסק בחלון Meta...", "PROCESSING": "מגדיר את חשבון WhatsApp העסקי שלך", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "טוען SDK של Facebook...", "CANCELLED": "הרשמת WhatsApp בוטלה", "SUCCESS_TITLE": "חשבון WhatsApp עסקי מחובר!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "האימות לא הושלם. אנא הפעל מחדש את התהליך.", "SUCCESS_FALLBACK": "חשבון WhatsApp עסקי הוגדר בהצלחה", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "זרימת הגדרה ידנית" + "MANUAL_LINK_TEXT": "זרימת הגדרה ידנית", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "לא הצלחנו לשמור את ערוץ הוואטסאפ" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "תמוך בלקוחות שלך ב-WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "אימייל", "DESCRIPTION": "התחבר עם Gmail, Outlook או ספקים אחרים" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "הגדרות בוט", "ACCOUNT_HEALTH": "תקינות חשבון", "CSAT": "CSAT", - "VOICE": "קול" + "VOICE": "קול", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "סנכרן תבניות הודעות מ-WhatsApp באופן ידני כדי לעדכן את התבניות הזמינות שלך.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "סנכרן תבניות", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "סנכרון התבניות הופעל בהצלחה. העדכון עשוי להימשך כמה דקות.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "עדכון הגדרות טופס טרום צ'אט" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json index 9c0cb4661e1..420882e16bc 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrations.json +++ b/app/javascript/dashboard/i18n/locale/he/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "צור קשר", "CONTACT_UPDATED": "איש קשר עודכן", "CONVERSATION_TYPING_ON": "הקלדה בשיחה מופעלת", - "CONVERSATION_TYPING_OFF": "הקלדה בשיחה מושבתת" + "CONVERSATION_TYPING_OFF": "הקלדה בשיחה מושבתת", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/hi/bulkActions.json b/app/javascript/dashboard/i18n/locale/hi/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/hi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hi/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/hi/campaign.json b/app/javascript/dashboard/i18n/locale/hi/campaign.json index 2582d37b2fa..f1a3397f234 100644 --- a/app/javascript/dashboard/i18n/locale/hi/campaign.json +++ b/app/javascript/dashboard/i18n/locale/hi/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/hi/components.json b/app/javascript/dashboard/i18n/locale/hi/components.json index ea7ea6eb575..fd9f092a52f 100644 --- a/app/javascript/dashboard/i18n/locale/hi/components.json +++ b/app/javascript/dashboard/i18n/locale/hi/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json index 94471638e49..93ff820eb17 100644 --- a/app/javascript/dashboard/i18n/locale/hi/contact.json +++ b/app/javascript/dashboard/i18n/locale/hi/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json index a06d91b81e7..509afd4e7a8 100644 --- a/app/javascript/dashboard/i18n/locale/hi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json index 28663c01534..f80deb4fb43 100644 --- a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Remove" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json index a1fcd201b65..3b3bdfa93ef 100644 --- a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/hi/integrations.json b/app/javascript/dashboard/i18n/locale/hi/integrations.json index 60c98f20220..0438ba3d1ac 100644 --- a/app/javascript/dashboard/i18n/locale/hi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hi/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/hr/bulkActions.json b/app/javascript/dashboard/i18n/locale/hr/bulkActions.json index 63153e70df0..79165bced18 100644 --- a/app/javascript/dashboard/i18n/locale/hr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hr/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/hr/campaign.json b/app/javascript/dashboard/i18n/locale/hr/campaign.json index f7323f2195a..d14359d7fc3 100644 --- a/app/javascript/dashboard/i18n/locale/hr/campaign.json +++ b/app/javascript/dashboard/i18n/locale/hr/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/hr/components.json b/app/javascript/dashboard/i18n/locale/hr/components.json index e43d0f95ee2..d3aa278ecc2 100644 --- a/app/javascript/dashboard/i18n/locale/hr/components.json +++ b/app/javascript/dashboard/i18n/locale/hr/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/hr/contact.json b/app/javascript/dashboard/i18n/locale/hr/contact.json index 3c0e3389147..25609fce2e2 100644 --- a/app/javascript/dashboard/i18n/locale/hr/contact.json +++ b/app/javascript/dashboard/i18n/locale/hr/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/hr/conversation.json b/app/javascript/dashboard/i18n/locale/hr/conversation.json index f58308997aa..a268b80c638 100644 --- a/app/javascript/dashboard/i18n/locale/hr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hr/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json index 80ad350ee6f..6d7a9b0272b 100644 --- a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Skica", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Kategorija", "DELETE": "Izbriši", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Izbriši", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Izbriši" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json index 4386d2915a7..abb3e74335e 100644 --- a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/hr/integrations.json b/app/javascript/dashboard/i18n/locale/hr/integrations.json index e78752c676c..d3594138539 100644 --- a/app/javascript/dashboard/i18n/locale/hr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hr/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/hu/bulkActions.json b/app/javascript/dashboard/i18n/locale/hu/bulkActions.json index b132a0e5683..0b4c4e0f407 100644 --- a/app/javascript/dashboard/i18n/locale/hu/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hu/bulkActions.json @@ -1,15 +1,10 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Ügynök kiválasztása", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Visszaugrás", - "ASSIGN_LABEL": "Hozzárendelés", "NONE": "Nincs", - "CLEAR_SELECTION": "Clear", - "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", - "UNASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", + "CLEAR_SELECTION": "Kijelölés törlése", + "ASSIGN_AGENT_CONFIRMATION_LABEL": "Biztosan hozzárendeled a kijelölt {n} beszélgetést ehhez az ügyintézőhöz: {agentName}? | Biztosan hozzárendeled a kijelölt {n} beszélgetést ehhez az ügyintézőhöz: {agentName}?", + "UNASSIGN_AGENT_CONFIRMATION_LABEL": "Biztosan megszünteted a kijelölt {n} beszélgetés ügyintézői hozzárendelését? | Biztosan megszünteted a kijelölt {n} beszélgetés ügyintézői hozzárendelését?", "YES": "Igen", "CANCEL": "Mégse", "SEARCH_INPUT_PLACEHOLDER": "Keresés", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Beszélgetés sikeresen megoldva.", "RESOLVE_FAILED": "Nem sikerült megoldani a beszélgetéseket. Kérjük, próbálja újra.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Csak a kiválasztott beszélgetések láthatóak ezen az oldalon.", - "AGENT_LIST_LOADING": "Ügynökök betöltése", "UPDATE": { "CHANGE_STATUS": "Státusz változtatása", "SNOOZE_UNTIL": "Halasztás", @@ -33,18 +27,18 @@ }, "LABELS": { "ASSIGN_LABELS": "Címkék hozzárendelése", - "NO_LABELS_FOUND": "Nem találtunk címkét", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Válogatott címkék hozzárendelése", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Címkék hozzárendelése sikeres.", - "ASSIGN_FAILED": "Nem sikerült címkéket hozzárendelni. Kérjük, próbálja újra." + "ASSIGN_FAILED": "Nem sikerült címkéket hozzárendelni. Kérjük, próbálja újra.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Csapat kiválasztása", "NONE": "Nincs", - "NO_TEAMS_AVAILABLE": "Ebben a fiókban még nincs csapat létrehozva.", - "ASSIGN_SELECTED_TEAMS": "Válogatott csapatok hozzárendelése.", - "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", - "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", + "ASSIGN_TEAM_CONFIRMATION_LABEL": "Biztosan hozzárendeled a kijelölt {n} beszélgetést ehhez a csapathoz: {teamName}? | Biztosan hozzárendeled a kijelölt {n} beszélgetést ehhez a csapathoz: {teamName}?", + "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Biztosan megszünteted a kijelölt {n} beszélgetés csapathoz rendelését? | Biztosan megszünteted a kijelölt {n} beszélgetés csapathoz rendelését?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", "ASSIGN_FAILED": "Nem sikerült csapatot kijelölni. Kérjük, próbálja újra." } diff --git a/app/javascript/dashboard/i18n/locale/hu/campaign.json b/app/javascript/dashboard/i18n/locale/hu/campaign.json index 0f0df48f2a1..486673acd02 100644 --- a/app/javascript/dashboard/i18n/locale/hu/campaign.json +++ b/app/javascript/dashboard/i18n/locale/hu/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Lezárt", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Lezárt", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/hu/companies.json b/app/javascript/dashboard/i18n/locale/hu/companies.json index fa8306fc096..534cb98a2c1 100644 --- a/app/javascript/dashboard/i18n/locale/hu/companies.json +++ b/app/javascript/dashboard/i18n/locale/hu/companies.json @@ -23,80 +23,80 @@ "UNNAMED": "Unnamed Company", "CONTACTS_COUNT": "{n} contact | {n} contacts", "ACTIONS": { - "CREATE": "Add company" + "CREATE": "Cég létrehozása" }, "CREATE": { - "TITLE": "Add company details", + "TITLE": "Cég létrehozása", "ACTIONS": { - "SAVE": "Add company" + "SAVE": "Cég létrehozása" }, "MESSAGES": { - "SUCCESS": "Company created.", - "ERROR": "Could not create the company." + "SUCCESS": "A cég sikeresen létrehozva.", + "ERROR": "Nem sikerült létrehozni a céget." } }, "DETAIL": { - "LOADING": "Loading company details...", + "LOADING": "Cég részleteinek betöltése...", "EMPTY_STATE": { - "TITLE": "Company not found", - "SUBTITLE": "This company may have been removed or is no longer available in this account." + "TITLE": "Cég nem található", + "SUBTITLE": "Ez a cég lehet, hogy eltávolításra került, vagy már nem elérhető ebben a fiókban." }, "SIDEBAR": { "TABS": { - "ATTRIBUTES": "Attributes", + "ATTRIBUTES": "Tulajdonságok", "CONTACTS": "Kontaktok", - "HISTORY": "History", + "HISTORY": "Előzmények", "NOTES": "Megjegyzések" } }, "HISTORY": { - "EMPTY": "No conversations found for this company's contacts yet." + "EMPTY": "Nincsenek beszélgetések a cég ügyfeleihez kapcsolódóan." }, "NOTES": { - "EMPTY": "No notes found for this company's contacts yet." + "EMPTY": "Nincsenek megjegyzések a cég ügyfeleihez kapcsolódóan." }, "ATTRIBUTES": { "SEARCH_PLACEHOLDER": "Tulajdonságok keresése...", - "EMPTY_STATE": "There are no company custom attributes configured yet.", - "NO_ATTRIBUTES": "No matching attributes found.", - "UNUSED_ATTRIBUTES": "{count} unused attribute | {count} unused attributes", + "EMPTY_STATE": "A cégnek még nincsenek egyedi tulajdonságai.", + "NO_ATTRIBUTES": "Nincs találat a tulajdonságok között.", + "UNUSED_ATTRIBUTES": "{count} nem használt tulajdonság | {count} nem használt tulajdonság", "MESSAGES": { - "UPDATE_SUCCESS": "Company attribute updated.", - "UPDATE_ERROR": "Could not update company attribute.", - "DELETE_SUCCESS": "Company attribute removed.", - "DELETE_ERROR": "Could not remove company attribute." + "UPDATE_SUCCESS": "Cég tulajdonsága frissítve.", + "UPDATE_ERROR": "Nem sikerült frissíteni a cég tulajdonságát.", + "DELETE_SUCCESS": "Cég tulajdonsága eltávolítva.", + "DELETE_ERROR": "Nem sikerült eltávolítani a cég tulajdonságát." } }, "CONTACTS": { "LOADING": "Kontaktok betöltése...", - "EMPTY": "No contacts are linked to this company yet.", - "UNNAMED_CONTACT": "Unnamed contact", + "EMPTY": "Ehhez a céghez még nincsenek ügyfelek kapcsolva.", + "UNNAMED_CONTACT": "Név nélküli ügyfél", "ACTIONS": { - "ADD": "Add contact", - "REMOVE": "Remove contact" + "ADD": "Ügyfél hozzáadása", + "REMOVE": "Ügyfél eltávolítása" }, "DIALOGS": { "ADD": { - "DESCRIPTION": "Search for an existing contact and link it to this company.", - "SEARCH_PLACEHOLDER": "Search contacts...", - "INITIAL": "Start typing to search contacts.", - "EMPTY": "No contacts found.", - "CONFIRM_TITLE": "Link contact", - "CONFIRM_DESCRIPTION": "Confirm the company and contact before linking them.", + "DESCRIPTION": "Keress a meglévő ügyfelek között, és csatold őket ehhez a céghez.", + "SEARCH_PLACEHOLDER": "Ügyfelek keresése...", + "INITIAL": "Kezdj el gépelni az ügyfelek kereséséhez.", + "EMPTY": "Nem találhatók ügyfelek.", + "CONFIRM_TITLE": "Ügyfél csatolása", + "CONFIRM_DESCRIPTION": "Erősítsd meg a cég és az ügyfél csatolását.", "COMPANY_LABEL": "Cég", "CONTACT_LABEL": "Kontakt", - "CURRENT_COMPANY": "Currently linked to {companyName}", - "ADD": "Link contact", + "CURRENT_COMPANY": "Jelenlegi cég: {companyName}", + "ADD": "Csatolás", "CANCEL": "Mégse" } }, "MESSAGES": { - "ADD_SUCCESS": "Contact linked to company.", - "ADD_ERROR": "Could not link contact to company.", - "REASSIGN_SUCCESS": "Contact reassigned to company.", - "REASSIGN_ERROR": "Could not reassign contact to company.", - "REMOVE_SUCCESS": "Contact removed from company.", - "REMOVE_ERROR": "Could not remove contact from company." + "ADD_SUCCESS": "Ügyfél csatolva a céghez.", + "ADD_ERROR": "Nem sikerült csatolni az ügyfelet a céghez.", + "REASSIGN_SUCCESS": "Ügyfél újra hozzárendelve a céghez.", + "REASSIGN_ERROR": "Nem sikerült újra hozzárendelni az ügyfelet a céghez.", + "REMOVE_SUCCESS": "Ügyfél eltávolítva a cégtől.", + "REMOVE_ERROR": "Nem sikerült eltávolítani az ügyfelet a cégtől." } }, "AVATAR": { @@ -104,19 +104,19 @@ "UPLOAD_SUCCESS": "Company avatar updated.", "UPLOAD_ERROR": "Could not update the company avatar.", "DELETE_SUCCESS": "Company avatar removed.", - "DELETE_ERROR": "Could not remove the company avatar." + "DELETE_ERROR": "Nem sikerült eltávolítani a cég profilképét." }, "PROFILE": { - "TITLE": "Edit company details", - "CREATED_AT": "Created {date}", - "LAST_ACTIVE": "Last active {date}", - "DESCRIPTION_PLACEHOLDER": "Add a short description for this company", + "TITLE": "Cég részleteinek szerkesztése", + "CREATED_AT": "Létrehozás dátuma: {date}", + "LAST_ACTIVE": "Utolsó aktivitás: {date}", + "DESCRIPTION_PLACEHOLDER": "Adj hozzá egy rövid leírást ehhez a céghez", "ACTIONS": { - "SAVE": "Update company" + "SAVE": "Cég frissítése" }, "MESSAGES": { - "UPDATE_SUCCESS": "Company updated.", - "UPDATE_ERROR": "Could not update the company." + "UPDATE_SUCCESS": "Cég frissítve.", + "UPDATE_ERROR": "Nem sikerült frissíteni a céget." }, "FIELDS": { "NAME": "Név", @@ -124,16 +124,16 @@ } }, "DELETE": { - "SECTION_TITLE": "Danger zone", - "SECTION_DESCRIPTION": "Delete this company and unlink its contacts. The contacts will remain in the account.", - "BUTTON": "Delete company", - "TITLE": "Delete company?", - "DESCRIPTION": "This will remove the company and unlink all associated contacts. Contacts themselves will be preserved.", - "DESCRIPTION_WITH_NAME": "This will remove {companyName} and unlink all associated contacts. Contacts themselves will be preserved.", - "CONFIRM": "Delete company", + "SECTION_TITLE": "Veszélyzóna", + "SECTION_DESCRIPTION": "Töröld ezt a céget, és válaszd le a kapcsolódó ügyfeleket. Az ügyfelek megmaradnak a fiókban.", + "BUTTON": "Cég törlése", + "TITLE": "Cég törlése?", + "DESCRIPTION": "Ez eltávolítja a céget, és leválaszt minden kapcsolódó ügyfelet. Az ügyfelek megmaradnak.", + "DESCRIPTION_WITH_NAME": "Ez eltávolítja a '{companyName}' céget, és leválaszt minden kapcsolódó ügyfelet. Az ügyfelek megmaradnak.", + "CONFIRM": "Cég törlése", "MESSAGES": { - "SUCCESS": "Company deleted.", - "ERROR": "Could not delete the company." + "SUCCESS": "Cég törölve.", + "ERROR": "Nem sikerült törölni a céget." } } }, diff --git a/app/javascript/dashboard/i18n/locale/hu/components.json b/app/javascript/dashboard/i18n/locale/hu/components.json index 5fd99eaed22..5feb395bfcb 100644 --- a/app/javascript/dashboard/i18n/locale/hu/components.json +++ b/app/javascript/dashboard/i18n/locale/hu/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json index 5f231cfc4cf..3a88e779301 100644 --- a/app/javascript/dashboard/i18n/locale/hu/contact.json +++ b/app/javascript/dashboard/i18n/locale/hu/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Cimke hozzáadása", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Címkék hozzárendelése sikeres.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json index ad794fb785a..7e68e6b4012 100644 --- a/app/javascript/dashboard/i18n/locale/hu/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Ez az üzenet nem támogatott. Ezt az üzenetet a Facebook Messenger alkalmazásban tekintheti meg.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ez az üzenet nem támogatott. Ezt az üzenetet az Instagram alkalmazásban tekintheti meg.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Üzenet törölve", "FAIL_DELETE_MESSSAGE": "Nem tudtad törölni az üzenetet! Próbáld újra", "NO_RESPONSE": "Nincs válasz", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Kevesebb mutatása" }, "HEADER": { "RESOLVE_ACTION": "Megoldva", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Halasztás holnapig", "SNOOZED_UNTIL_NEXT_WEEK": "Halasztás jövő hétig", "SNOOZED_UNTIL_NEXT_REPLY": "Halasztás következő válaszig", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Hangfelvétel", "TIP_AUDIORECORDER_PERMISSION": "Hozzáférés megadása a hangfelvételhez", "TIP_AUDIORECORDER_ERROR": "Nem sikerült megnyitni a hangfelvételt", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Helyezd ide a csatolmányt", "START_AUDIO_RECORDING": "Hangfelvétel indítása", "STOP_AUDIO_RECORDING": "Hangfelvétel leállítása", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Elutasítás", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { @@ -376,7 +398,7 @@ "MEDIA_HEADING": "Media", "FILES_HEADING": "Files", "VIEW_ALL": "Összes megtekintése", - "SHOW_LESS": "Show less", + "SHOW_LESS": "Kevesebb mutatása", "MORE_COUNT": "+{count}", "UNTITLED_FILE": "Untitled file" }, diff --git a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json index 8d3690c0757..78388171cb6 100644 --- a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json @@ -582,39 +582,42 @@ } }, "BULK_TRANSLATE": { - "TITLE": "Translate article | Translate {count} articles", - "DESCRIPTION": "Translate the selected article to another language. | Translate the selected articles to another language.", - "LOCALE_LABEL": "Target language", - "LOCALE_PLACEHOLDER": "Select a language", - "CATEGORY_LABEL": "Target category", - "CATEGORY_PLACEHOLDER": "Select a category", - "OPTIONAL": "(optional)", + "TITLE": "Bejegyzés lefordítása | {count} bejegyzés lefordítása", + "DESCRIPTION": "Fordítsd le a kiválasztott bejegyzést egy másik nyelvre. | Fordítsd le a kiválasztott bejegyzéseket egy másik nyelvre.", + "LOCALE_LABEL": "Célnyelv", + "LOCALE_PLACEHOLDER": "Válassz nyelvet", + "CATEGORY_LABEL": "Célkategória", + "CATEGORY_PLACEHOLDER": "Válassz kategóriát", + "OPTIONAL": "(opcionális)", "CONFIRM": "Fordítás", - "SELECT_ALL": "Select all ({count})", - "SELECTED_COUNT": "{count} selected", - "CLEAR_SELECTION": "Clear selection", + "SELECT_ALL": "Összes kijelölése ({count})", + "SELECTED_COUNT": "{count} kijelölve", + "CLEAR_SELECTION": "Kijelölés törlése", "TRANSLATE_BUTTON": "Fordítás", - "CONFIRM_OVERWRITE": "Overwrite and translate", - "DUPLICATE_WARNING": "A translation already exists for this article in the selected language. | Translations already exist for {count} articles in the selected language.", - "DUPLICATE_CONFIRM_HINT": "Click translate again to overwrite the existing translation.", + "CONFIRM_OVERWRITE": "Felülírás és lefordítás", + "DUPLICATE_WARNING": "Ehhez a bejegyzéshez már létezik fordítás a kiválasztott nyelven. | {count} bejegyzéshez már létezik fordítás a kiválasztott nyelven.", + "DUPLICATE_CONFIRM_HINT": "Kattints a 'Lefordítás' gombra ismét a meglévő fordítás felülírásához.", "API": { - "SUCCESS_MESSAGE": "Translation in progress. The article will appear as a draft once ready.", - "ERROR_MESSAGE": "Failed to start translation. Please try again." + "SUCCESS_MESSAGE": "A fordítás folyamatban van. A bejegyzés elkészülés után piszkozatként fog megjelenni.", + "ERROR_MESSAGE": "Nem sikerült elindítani a fordítást. Kérlek, próbáld újra." } }, "BULK_ACTIONS": { "PUBLISH": "Publikálás", "DRAFT": "Vázlat", - "ARCHIVE": "Archive", + "ARCHIVE": "Archiválás", "TRANSLATE": "Fordítás", + "MOVE_TO_CATEGORY": "Kategória", "DELETE": "Törlés", - "STATUS_SUCCESS": "Articles updated successfully", - "STATUS_ERROR": "Failed to update articles", - "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", - "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", + "STATUS_SUCCESS": "A bejegyzések sikeresen frissítve", + "STATUS_ERROR": "Nem sikerült frissíteni a bejegyzéseket", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", + "DELETE_CONFIRM_TITLE": "Bejegyzés törlése | {count} bejegyzés törlése", + "DELETE_CONFIRM_DESCRIPTION": "Ez véglegesen törli a kiválasztott bejegyzést. Ez a művelet nem vonható vissza. | Ez véglegesen törli a kijelölt {count} bejegyzést. Ez a művelet nem vonható vissza.", "DELETE_CONFIRM": "Törlés", - "DELETE_SUCCESS": "Articles deleted successfully", - "DELETE_ERROR": "Failed to delete articles" + "DELETE_SUCCESS": "A bejegyzések sikeresen törölve", + "DELETE_ERROR": "Nem sikerült törölni a bejegyzéseket" } }, "CATEGORY_PAGE": { @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Megjelenés", + "DESCRIPTION": "Válaszd ki az elrendezést, amely a legjobban megfelel a céljaidnak.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Klasszikus", + "DESCRIPTION": "Barátságos kezdőlap kereséssel és kiemelt témákkal." + }, + "SIDEBAR": { + "TITLE": "Dokumentáció", + "DESCRIPTION": "Egymás melletti navigáció, amely minden útmutatót egy kattintásnyira tart." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Közösségi hivatkozások", + "DESCRIPTION": "Add meg az egyes hálózatok felhasználónevét, és a súgóközpont elkészíti a teljes hivatkozást. A dokumentációs elrendezés láblécében jelenik meg.", + "PLACEHOLDER": "felhasználónév", + "ADD": "Közösségi hivatkozás hozzáadása", + "REMOVE": "Eltávolítás" + }, + "SAVE": "Módosítások mentése" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portál sikeresen létrehozva", diff --git a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json index f24f9e40cd4..8f778b7711c 100644 --- a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nem tudtuk elmenteni a WhatsApp csatornát" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot konfiguráció", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Csevegés előtti űrlap beállításainak frissítése" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/hu/integrations.json b/app/javascript/dashboard/i18n/locale/hu/integrations.json index 36b4668fbbb..0750b809eaf 100644 --- a/app/javascript/dashboard/i18n/locale/hu/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hu/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakt létrehozva", "CONTACT_UPDATED": "Kontakt frissítve", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/hu/macros.json b/app/javascript/dashboard/i18n/locale/hu/macros.json index 04d1a9207eb..117061b66e4 100644 --- a/app/javascript/dashboard/i18n/locale/hu/macros.json +++ b/app/javascript/dashboard/i18n/locale/hu/macros.json @@ -71,7 +71,7 @@ "LABEL": "Nyilvános", "DESCRIPTION": "Ez a makró nyilvánosan elérhető minden ügynök számára ebben a fiókban.", "CREATE_DISABLED_DESCRIPTION": "Only administrators can create public macros.", - "EDIT_DISABLED_DESCRIPTION": "Only administrators can edit public macros." + "EDIT_DISABLED_DESCRIPTION": "Csak adminisztrátorok tudnak publikus makrókat szerkeszteni." }, "PERSONAL": { "LABEL": "Privát", diff --git a/app/javascript/dashboard/i18n/locale/hu/onboarding.json b/app/javascript/dashboard/i18n/locale/hu/onboarding.json index bb6f1fe6818..1eff9d57ec2 100644 --- a/app/javascript/dashboard/i18n/locale/hu/onboarding.json +++ b/app/javascript/dashboard/i18n/locale/hu/onboarding.json @@ -1,34 +1,34 @@ { "ONBOARDING_NEXT": { - "GREETING": "Hello {name}!", - "SUBTITLE": "Please review the following details", - "YOUR_DETAILS": "Your details", - "COMPANY_DETAILS": "Company details", + "GREETING": "Szia {name}!", + "SUBTITLE": "Ellenőrizd az alábbi adatokat", + "YOUR_DETAILS": "Adataid", + "COMPANY_DETAILS": "Cégadatok", "FIELDS": { "EMAIL": "E-mail", - "YOUR_ROLE": "Your Role", + "YOUR_ROLE": "Szerepköröd", "WEBSITE": "Honlap", "LANGUAGE": "Nyelv", "TIMEZONE": "Időzóna", - "COMPANY_SIZE": "Company Size", - "INDUSTRY": "Industry", - "REFERRAL_SOURCE": "Where did you find us?" + "COMPANY_SIZE": "Cégméret", + "INDUSTRY": "Iparág", + "REFERRAL_SOURCE": "Hol találtál ránk?" }, "PLACEHOLDERS": { - "SELECT_ROLE": "Select your role", + "SELECT_ROLE": "Válassz szerepkört", "ENTER_WEBSITE": "www.example.com", - "SELECT_LANGUAGE": "Select language", + "SELECT_LANGUAGE": "Válassz nyelvet", "SELECT_TIMEZONE": "Időzóna kiválasztása", - "SELECT_COMPANY_SIZE": "Select company size", - "SELECT_INDUSTRY": "Select industry", - "SELECT_REFERRAL_SOURCE": "Select source" + "SELECT_COMPANY_SIZE": "Válassz cégméretet", + "SELECT_INDUSTRY": "Válassz iparágat", + "SELECT_REFERRAL_SOURCE": "Válassz forrást" }, - "EMAIL_VERIFIED": "Email verified", - "SETTING_UP": "Setting up your account...", - "CONTINUE": "Continue", + "EMAIL_VERIFIED": "E-mail cím megerősítve", + "SETTING_UP": "A fiókod beállítása...", + "CONTINUE": "Folytatás", "SAVING": "Mentés...", - "VALIDATION_ERROR": "Please fill in all required fields", - "SUCCESS": "Details saved successfully", - "ERROR": "Could not save details. Please try again." + "VALIDATION_ERROR": "Töltsd ki az összes kötelező mezőt", + "SUCCESS": "Az adatok sikeresen mentve", + "ERROR": "Nem sikerült menteni az adatokat. Próbáld újra." } } diff --git a/app/javascript/dashboard/i18n/locale/hy/bulkActions.json b/app/javascript/dashboard/i18n/locale/hy/bulkActions.json index bfed485cac6..c6f9648a3d7 100644 --- a/app/javascript/dashboard/i18n/locale/hy/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/hy/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "Չկա", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/hy/campaign.json b/app/javascript/dashboard/i18n/locale/hy/campaign.json index 10366e79e8b..4b15adb0b86 100644 --- a/app/javascript/dashboard/i18n/locale/hy/campaign.json +++ b/app/javascript/dashboard/i18n/locale/hy/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Ընթացքի մեջ է", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Ընթացքի մեջ է", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/hy/components.json b/app/javascript/dashboard/i18n/locale/hy/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/hy/components.json +++ b/app/javascript/dashboard/i18n/locale/hy/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/hy/contact.json b/app/javascript/dashboard/i18n/locale/hy/contact.json index 5770e6ffdd1..702b355ebea 100644 --- a/app/javascript/dashboard/i18n/locale/hy/contact.json +++ b/app/javascript/dashboard/i18n/locale/hy/contact.json @@ -20,6 +20,8 @@ "CALL": "Զանգ", "CALL_INITIATED": "Զանգը սկսվում է…", "CALL_FAILED": "Չհաջողվեց սկսել զանգը։ Խնդրում ենք փորձել կրկին։", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Ընտրեք ձայնային մուտքագրման արկղը" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Նշումներ նշանակել", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Նշումները հաջողությամբ նշանակվեցին։", "ASSIGN_LABELS_FAILED": "Հնարավոր չեղավ նշանակել պիտակները", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "Դեռ պիտակներ չկան։", "SELECTED_COUNT": "{count} ընտրված", diff --git a/app/javascript/dashboard/i18n/locale/hy/conversation.json b/app/javascript/dashboard/i18n/locale/hy/conversation.json index ca2494dc616..e4f4b6f4327 100644 --- a/app/javascript/dashboard/i18n/locale/hy/conversation.json +++ b/app/javascript/dashboard/i18n/locale/hy/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Հաղորդագրությունը հաջողությամբ ջնջվեց", "FAIL_DELETE_MESSSAGE": "Չհաջողվեց ջնջել հաղորդագրությունը։ Փորձեք կրկին", "NO_RESPONSE": "Պատասխան չկա", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Փակել", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Հետաձգված է մինչև վաղը", "SNOOZED_UNTIL_NEXT_WEEK": "Հետաձգված է մինչև հաջորդ շաբաթ", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Քաշեք և գցեք այստեղ կցելու համար", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json index 080b0abe7c1..648634a48c4 100644 --- a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Սևագիր", "ARCHIVE": "Արխիվ", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Խմբագրել կազմաձևը" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Հեռացնել" + }, + "SAVE": "Պահպանել փոփոխությունները" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Պորտալը հաջողությամբ ստեղծվեց", diff --git a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json index 8acc1b5403c..71169f92c81 100644 --- a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Վավերացում Meta-ի հետ", "WAITING_FOR_BUSINESS_INFO": "Խնդրում ենք լրացնել բիզնեսի կարգավորումը Meta պատուհանում...", "PROCESSING": "Ձեր WhatsApp Business հաշվի կարգավորումը", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Բեռնում է Facebook SDK-ն...", "CANCELLED": "WhatsApp գրանցումը չեղարկվեց", "SUCCESS_TITLE": "WhatsApp Business հաշիվը միացված է։", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Հաստատումը չի ավարտվել։ Խնդրում ենք սկսել գործընթացը նորից։", "SUCCESS_FALLBACK": "WhatsApp Business հաշիվը հաջողությամբ կարգավորվել է", "MANUAL_FALLBACK": "Եթե ձեր համարը արդեն միացված է WhatsApp Business Platform (API)-ին, կամ եթե դուք տեխնոլոգիական մատակարար եք, որը միացնում է իր սեփական համարը, խնդրում ենք օգտագործել {link} ընթացքը", - "MANUAL_LINK_TEXT": "ձեռնարկային կարգավորման ընթացք" + "MANUAL_LINK_TEXT": "ձեռնարկային կարգավորման ընթացք", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Չհաջողվեց պահպանել WhatsApp ալիքը" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Աջակցեք ձեր հաճախորդներին WhatsApp-ում" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Էլ. փոստ", "DESCRIPTION": "Կապվեք Gmail-ի, Outlook-ի կամ այլ մատակարարների հետ" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Բոտի կարգավորումներ", "ACCOUNT_HEALTH": "Հաշվի առողջություն", "CSAT": "CSAT", - "VOICE": "Ձայն" + "VOICE": "Ձայն", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Անվճարների նախապատվություններ", "WIDGET_FEATURES": "Վիջեթի հնարավորություններ", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Ձեռնարկաբար համաժամեցրեք հաղորդագրությունների տիպերը WhatsApp-ից՝ ձեր հասանելի տիպերը թարմացնելու համար։", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Համաժամեցնել տիպերը", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Տիպերի համաժամացումը հաջողությամբ սկսվեց։ Թարմացումը կարող է տևել մի քանի րոպե։", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Թարմացնել նախազրույցի ձևի կարգավորումները" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/hy/integrations.json b/app/javascript/dashboard/i18n/locale/hy/integrations.json index cb5e74f531e..0dc4b0570a0 100644 --- a/app/javascript/dashboard/i18n/locale/hy/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hy/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Կոնտակտ ստեղծվեց", "CONTACT_UPDATED": "Կոնտակտը թարմացվեց", "CONVERSATION_TYPING_ON": "Զրույցի տպագրություն ակտիվ է", - "CONVERSATION_TYPING_OFF": "Զրույցի տպագրություն անջատված է" + "CONVERSATION_TYPING_OFF": "Զրույցի տպագրություն անջատված է", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/id/bulkActions.json b/app/javascript/dashboard/i18n/locale/id/bulkActions.json index 3d3ec9b10f1..7e7a9ab77f3 100644 --- a/app/javascript/dashboard/i18n/locale/id/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/id/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} percakapan dipilih", - "AGENT_SELECT_LABEL": "Pilih Agen", - "ASSIGN_CONFIRMATION_LABEL": "Apakah Anda yakin ingin menugaskan {conversationCount} {conversationLabel} kepada", - "UNASSIGN_CONFIRMATION_LABEL": "Apakah Anda yakin ingin melepaskan penugasan dari {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Kembali", - "ASSIGN_LABEL": "Tugaskan", "NONE": "Tidak ada", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Percakapan berhasil diselesaikan.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Percakapan yang terlihat di halaman ini hanya yang dipilih.", - "AGENT_LIST_LOADING": "Sedang memuat agen", "UPDATE": { "CHANGE_STATUS": "Ubah status", "SNOOZE_UNTIL": "Tunda", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Tidak ada label", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Tugaskan label terpilih", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Label berhasil ditugaskan.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Pilih tim", "NONE": "Tidak ada", - "NO_TEAMS_AVAILABLE": "Belum ada tim yang ditambahkan ke akun ini.", - "ASSIGN_SELECTED_TEAMS": "Tugaskan tim terpilih.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/id/campaign.json b/app/javascript/dashboard/i18n/locale/id/campaign.json index bae264a6247..6faebd1971a 100644 --- a/app/javascript/dashboard/i18n/locale/id/campaign.json +++ b/app/javascript/dashboard/i18n/locale/id/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Selesai", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Selesai", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/id/components.json b/app/javascript/dashboard/i18n/locale/id/components.json index e3c2a8b39b4..8c5e647382c 100644 --- a/app/javascript/dashboard/i18n/locale/id/components.json +++ b/app/javascript/dashboard/i18n/locale/id/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json index 9733708b823..e95a529b0c9 100644 --- a/app/javascript/dashboard/i18n/locale/id/contact.json +++ b/app/javascript/dashboard/i18n/locale/id/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Tugaskan Label", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Label berhasil ditugaskan.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json index 8b37405e972..e69d656dabc 100644 --- a/app/javascript/dashboard/i18n/locale/id/conversation.json +++ b/app/javascript/dashboard/i18n/locale/id/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Pesan berhasil dihapus", "FAIL_DELETE_MESSSAGE": "Tidak dapat menghapus pesan! Coba lagi", "NO_RESPONSE": "Tidak ada respon", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Menyelesaikan", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Ditunda hingga besok", "SNOOZED_UNTIL_NEXT_WEEK": "Ditunda hingga minggu depan", "SNOOZED_UNTIL_NEXT_REPLY": "Ditunda hingga balasan selanjutnya", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Rekam audio", "TIP_AUDIORECORDER_PERMISSION": "Izinkan akses ke audio", "TIP_AUDIORECORDER_ERROR": "Tidak dapat membuka audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Seret dan letakkan di sini untuk melampirkan", "START_AUDIO_RECORDING": "Mulai merekam audio", "STOP_AUDIO_RECORDING": "Berhenti merekam audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Tutup", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/id/helpCenter.json b/app/javascript/dashboard/i18n/locale/id/helpCenter.json index 212d8ddf249..827bfe63211 100644 --- a/app/javascript/dashboard/i18n/locale/id/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/id/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draf", "ARCHIVE": "Archive", "TRANSLATE": "Terjemahkan", + "MOVE_TO_CATEGORY": "Kategori", "DELETE": "Hapus", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Hapus", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Hapus" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal berhasil dibuat", diff --git a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json index fd8a173ee22..e0929b47303 100644 --- a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Kami tidak dapat menyimpan saluran WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Konfigurasi Bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Perbarui Pengaturan Formulir Pra Obrolan" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/id/integrations.json b/app/javascript/dashboard/i18n/locale/id/integrations.json index 97b48856f41..0d12f77a0ca 100644 --- a/app/javascript/dashboard/i18n/locale/id/integrations.json +++ b/app/javascript/dashboard/i18n/locale/id/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontak dibuat", "CONTACT_UPDATED": "Kontak diperbarui", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/is/bulkActions.json b/app/javascript/dashboard/i18n/locale/is/bulkActions.json index 5d63efd829c..08eeaf66e08 100644 --- a/app/javascript/dashboard/i18n/locale/is/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/is/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} samtöl valin", - "AGENT_SELECT_LABEL": "Velja þjónustufulltrúa", - "ASSIGN_CONFIRMATION_LABEL": "Ertu viss um að úthluta {conversationCount} {conversationLabel} á", - "UNASSIGN_CONFIRMATION_LABEL": "Ertu viss um að hætta við úthlutun {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "Úthluta", "NONE": "Enginn", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Samtöl sem sjást á þessari síðu eru aðeins valin.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Engar merkingar fundust", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Velja teymi", "NONE": "Enginn", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/is/campaign.json b/app/javascript/dashboard/i18n/locale/is/campaign.json index 0b3d92de42c..9e12d7d4cfa 100644 --- a/app/javascript/dashboard/i18n/locale/is/campaign.json +++ b/app/javascript/dashboard/i18n/locale/is/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/is/components.json b/app/javascript/dashboard/i18n/locale/is/components.json index 1a4ab4455ed..d610aba4a33 100644 --- a/app/javascript/dashboard/i18n/locale/is/components.json +++ b/app/javascript/dashboard/i18n/locale/is/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/is/contact.json b/app/javascript/dashboard/i18n/locale/is/contact.json index d730278a9c4..cd92ed8055d 100644 --- a/app/javascript/dashboard/i18n/locale/is/contact.json +++ b/app/javascript/dashboard/i18n/locale/is/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/is/conversation.json b/app/javascript/dashboard/i18n/locale/is/conversation.json index 7d778ad84d9..3c99a01b686 100644 --- a/app/javascript/dashboard/i18n/locale/is/conversation.json +++ b/app/javascript/dashboard/i18n/locale/is/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Skilaboðum eytt", "FAIL_DELETE_MESSSAGE": "Gat ekki eytt skilaboðum! Reynið aftur", "NO_RESPONSE": "Ekkert svar", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Taka upp hljóð", "TIP_AUDIORECORDER_PERMISSION": "Leyfa aðgang að hljóði", "TIP_AUDIORECORDER_ERROR": "Tókst ekki að opna hljóðið", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Dragðu og slepptu viðhenginu hingað", "START_AUDIO_RECORDING": "Hefja hljóðupptöku", "STOP_AUDIO_RECORDING": "Stoppa hljóðupptöku", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/is/helpCenter.json b/app/javascript/dashboard/i18n/locale/is/helpCenter.json index 5af9550e1a9..88f7830c501 100644 --- a/app/javascript/dashboard/i18n/locale/is/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/is/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Eyða", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Eyða", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Fjarlægja" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json index be71aea8659..11a47f468dc 100644 --- a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Við gátum ekki vistað WhatsApp rásina" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Tölvupóstfang", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot stillingar", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/is/integrations.json b/app/javascript/dashboard/i18n/locale/is/integrations.json index 2d4b9bf165e..23a65ea4a0c 100644 --- a/app/javascript/dashboard/i18n/locale/is/integrations.json +++ b/app/javascript/dashboard/i18n/locale/is/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/it/bulkActions.json b/app/javascript/dashboard/i18n/locale/it/bulkActions.json index ab3f7369071..0399afad09d 100644 --- a/app/javascript/dashboard/i18n/locale/it/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/it/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversazioni selezionate", - "AGENT_SELECT_LABEL": "Seleziona un operatore", - "ASSIGN_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {conversationCount} {conversationLabel} a", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Torna indietro", - "ASSIGN_LABEL": "Assegna", "NONE": "Nessuno", "CLEAR_SELECTION": "Rimuovi", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {n} conversazione a {agentName}? | Sei sicuro di voler assegnare {n} conversazioni a {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversazioni risolte correttamente.", "RESOLVE_FAILED": "Impossibile risolvere le conversazioni. Riprova.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Solo le conversazioni visibili in questa pagina sono selezionate.", - "AGENT_LIST_LOADING": "Caricamento operatori", "UPDATE": { "CHANGE_STATUS": "Cambia stato", "SNOOZE_UNTIL": "Posticipa", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assegna etichette", - "NO_LABELS_FOUND": "Nessuna etichetta trovata", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assegna etichette selezeionate", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etichette assegnate correttamente.", - "ASSIGN_FAILED": "Impossibile assegnare le etichette. Riprova." + "ASSIGN_FAILED": "Impossibile assegnare le etichette. Riprova.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Seleziona team", "NONE": "Nessuno", - "NO_TEAMS_AVAILABLE": "Non ci sono ancora team aggiunti a questo account.", - "ASSIGN_SELECTED_TEAMS": "Assegna team selezionato.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Sei sicuro di voler assegnare {n} conversazione a {teamName}? | Sei sicuro di voler assegnare {n} conversazioni a {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Sei sicuro di voler disassegnare {n} conversazione? | Sei sicuro di voler disassegnare {n} conversazioni?", "ASSIGN_SUCCESFUL": "Team assegnati con successo.", diff --git a/app/javascript/dashboard/i18n/locale/it/campaign.json b/app/javascript/dashboard/i18n/locale/it/campaign.json index 9831fe82335..0b42e5b73a2 100644 --- a/app/javascript/dashboard/i18n/locale/it/campaign.json +++ b/app/javascript/dashboard/i18n/locale/it/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Elaborazione", "COMPLETED": "Completata", "SCHEDULED": "Programmata" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Elaborazione", "COMPLETED": "Completata", "SCHEDULED": "Programmata" }, diff --git a/app/javascript/dashboard/i18n/locale/it/components.json b/app/javascript/dashboard/i18n/locale/it/components.json index e44c5b92c89..bb2aafe5e24 100644 --- a/app/javascript/dashboard/i18n/locale/it/components.json +++ b/app/javascript/dashboard/i18n/locale/it/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json index a5fc3aaa33b..504b8e87777 100644 --- a/app/javascript/dashboard/i18n/locale/it/contact.json +++ b/app/javascript/dashboard/i18n/locale/it/contact.json @@ -20,6 +20,8 @@ "CALL": "Chiama", "CALL_INITIATED": "Chiamando il contatto…", "CALL_FAILED": "Impossibile avviare la chiamata. Riprova.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Clicca per modificare", "VOICE_INBOX_PICKER": { "TITLE": "Scegli una inbox vocale" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assegna Etichette", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etichette assegnate correttamente.", "ASSIGN_LABELS_FAILED": "Assegnazione delle etichette non riuscita", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Selezionare le etichette da aggiungere ai contatti selezionati.", "NO_LABELS_FOUND": "Nessuna etichetta disponibile.", "SELECTED_COUNT": "{count} selezionate", diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json index e725f37b11f..663e1e902ff 100644 --- a/app/javascript/dashboard/i18n/locale/it/conversation.json +++ b/app/javascript/dashboard/i18n/locale/it/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "Questo messaggio non è supportato. Puoi visualizzare questo messaggio sull'app TikTok.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Messaggio eliminato con successo", "FAIL_DELETE_MESSSAGE": "Impossibile eliminare il messaggio! Riprova", "NO_RESPONSE": "Nessuna risposta", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Chiamata in uscita", "CALL_IN_PROGRESS": "Chiamata in corso", "NO_ANSWER": "Nessuna risposta", + "NO_ANSWER_OUTBOUND_LABEL": "Nessuna risposta", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Chiamata persa", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Chiamata terminata", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Non ancora risposta", + "CALLING": "Calling…", "THEY_ANSWERED": "Hanno risposto", "YOU_ANSWERED": "Hai risposto", "AGENT_ANSWERED": "{agentName} ha risposto", - "JOIN_CALL": "Entra nella chiamata" + "JOIN_CALL": "Entra nella chiamata", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Mostra meno" }, "HEADER": { "RESOLVE_ACTION": "Risolvi", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Posticipata fino a domani", "SNOOZED_UNTIL_NEXT_WEEK": "Posticipata fino alla prossima settimana", "SNOOZED_UNTIL_NEXT_REPLY": "Posticipata fino alla prossima risposta", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Registra audio", "TIP_AUDIORECORDER_PERMISSION": "Consenti l'accesso all'audio", "TIP_AUDIORECORDER_ERROR": "Impossibile aprire l'audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Trascina qui per allegare", "START_AUDIO_RECORDING": "Avvia registrazione audio", "STOP_AUDIO_RECORDING": "Interrompi registrazione audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Non ancora risposta", "HANDLED_IN_ANOTHER_TAB": "Gestita in un'altra scheda", "REJECT_CALL": "Rifiuta", + "DISMISS_CALL": "Ignora", "JOIN_CALL": "Entra nella chiamata", - "END_CALL": "Termina chiamata" + "END_CALL": "Termina chiamata", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/it/helpCenter.json b/app/javascript/dashboard/i18n/locale/it/helpCenter.json index 71fcfe9f856..e2ebb85d565 100644 --- a/app/javascript/dashboard/i18n/locale/it/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/it/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Bozza", "ARCHIVE": "Archivia", "TRANSLATE": "Traduci", + "MOVE_TO_CATEGORY": "Categoria", "DELETE": "Elimina", "STATUS_SUCCESS": "Articoli aggiornati correttamente", "STATUS_ERROR": "Impossibile aggiornare gli articoli", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Elimina articolo | Elimina {count} articoli", "DELETE_CONFIRM_DESCRIPTION": "Questo eliminerà definitivamente l'articolo selezionato. Questa azione non può essere annullata. | Questo eliminerà definitivamente {count} articoli selezionati. Questa azione non può essere annullata.", "DELETE_CONFIRM": "Elimina", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Modifica configurazione" }, + "LAYOUT_CONTENT": { + "HEADER": "Aspetto", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Rimuovi" + }, + "SAVE": "Salva modifiche" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portale creato con successo", diff --git a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json index ea13b832805..cbe0960a39b 100644 --- a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Autenticazione con Meta", "WAITING_FOR_BUSINESS_INFO": "Completa la configurazione aziendale nella finestra Meta...", "PROCESSING": "Configurazione del tuo account WhatsApp Business", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Caricamento del Facebook SDK...", "CANCELLED": "Registrazione WhatsApp annullata", "SUCCESS_TITLE": "Account WhatsApp Business connesso!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Autenticazione non completata. Riavvia il processo.", "SUCCESS_FALLBACK": "Account WhatsApp Business è stato configurato con successo", "MANUAL_FALLBACK": "Se il tuo numero è già connesso alla WhatsApp Business Platform (API), o se sei un provider tecnologico, si prega di utilizzare il {link}", - "MANUAL_LINK_TEXT": "flow di registrazione manuale" + "MANUAL_LINK_TEXT": "flow di registrazione manuale", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Impossibile salvare il canale WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Supporta i tuoi clienti su WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "Chiamata WhatsApp", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connettiti con Gmail, Outlook, o altri provider" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configurazione Bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voce" + "VOICE": "Voce", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Le chiamate vocali richiedono credenziali API di Twilio. Queste vengono usate per generare token per le connessioni voce." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "Vorremmo chiamarti riguardo alla tua conversazione." + } + }, "CHANNEL_PREFERENCES": "Preferenze Canali", "WIDGET_FEATURES": "Funzionalità Widget", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Sincronizza manualmente i modelli di messaggi da WhatsApp per aggiornare i modelli disponibili.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sincronizza Modelli", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Sincronizzazione modelli iniziata. Potrebbe volerci qualche minuto per aggiornare.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Aggiorna le Impostazioni del Modulo Pre Chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/it/integrations.json b/app/javascript/dashboard/i18n/locale/it/integrations.json index 6bf686914f2..96f6bd0c0d7 100644 --- a/app/javascript/dashboard/i18n/locale/it/integrations.json +++ b/app/javascript/dashboard/i18n/locale/it/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contatto creato", "CONTACT_UPDATED": "Contatto aggiornato", "CONVERSATION_TYPING_ON": "Digitazione conversazione attiva", - "CONVERSATION_TYPING_OFF": "Digitazione conversazione disattiva" + "CONVERSATION_TYPING_OFF": "Digitazione conversazione disattiva", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ja/bulkActions.json b/app/javascript/dashboard/i18n/locale/ja/bulkActions.json index ccba7d563e9..942b5d2980e 100644 --- a/app/javascript/dashboard/i18n/locale/ja/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ja/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} 件の会話が選択されました", - "AGENT_SELECT_LABEL": "担当者を選択", - "ASSIGN_CONFIRMATION_LABEL": "{conversationCount} 件の{conversationLabel}を割り当てますか?", - "UNASSIGN_CONFIRMATION_LABEL": "{conversationCount} 件の{conversationLabel}の割り当てを解除しますか?", - "GO_BACK_LABEL": "戻る", - "ASSIGN_LABEL": "割り当て", "NONE": "なし", "CLEAR_SELECTION": "クリア", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "会話が正常に解決されました。", "RESOLVE_FAILED": "会話の解決に失敗しました。再試行してください。", "ALL_CONVERSATIONS_SELECTED_ALERT": "このページに表示されている会話のみが選択されています。", - "AGENT_LIST_LOADING": "担当者を読み込み中", "UPDATE": { "CHANGE_STATUS": "ステータスを変更", "SNOOZE_UNTIL": "スヌーズ", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "ラベルを割り当てる", - "NO_LABELS_FOUND": "ラベルが見つかりません", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "選択したラベルを割り当てる", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "ラベルが正常に割り当てられました。", - "ASSIGN_FAILED": "ラベルの割り当てに失敗しました。再試行してください。" + "ASSIGN_FAILED": "ラベルの割り当てに失敗しました。再試行してください。", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "チームを選択", "NONE": "該当なし", - "NO_TEAMS_AVAILABLE": "このアカウントにはまだチームが追加されていません。", - "ASSIGN_SELECTED_TEAMS": "選択したチームを割り当てる", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "チームが正常に割り当てられました。", diff --git a/app/javascript/dashboard/i18n/locale/ja/campaign.json b/app/javascript/dashboard/i18n/locale/ja/campaign.json index 608e66664e0..3bedca6baef 100644 --- a/app/javascript/dashboard/i18n/locale/ja/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ja/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "完了", "SCHEDULED": "スケジュール済み" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "完了", "SCHEDULED": "スケジュール済み" }, diff --git a/app/javascript/dashboard/i18n/locale/ja/components.json b/app/javascript/dashboard/i18n/locale/ja/components.json index 4b7f154138c..b6b732e87d9 100644 --- a/app/javascript/dashboard/i18n/locale/ja/components.json +++ b/app/javascript/dashboard/i18n/locale/ja/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json index c206cd3b98e..763edb81bf6 100644 --- a/app/javascript/dashboard/i18n/locale/ja/contact.json +++ b/app/javascript/dashboard/i18n/locale/ja/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "ラベルが正常に割り当てられました。", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json index c8c585b2ed7..793f00cc84c 100644 --- a/app/javascript/dashboard/i18n/locale/ja/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "このメッセージはサポートされていません。Facebook Messengerでこのメッセージを表示できます。", "UNSUPPORTED_MESSAGE_INSTAGRAM": "このメッセージはサポートされていません。このメッセージは Instagram で表示できます。", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "メッセージの削除に成功", "FAIL_DELETE_MESSSAGE": "メッセージを削除できませんでした!もう一度お試しください", "NO_RESPONSE": "返信なし", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "解決する", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "明日までスヌーズしました", "SNOOZED_UNTIL_NEXT_WEEK": "来週までスヌーズ", "SNOOZED_UNTIL_NEXT_REPLY": "次の返信までうたた寝。", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "音声を録音", "TIP_AUDIORECORDER_PERMISSION": "音声アクセスを許可", "TIP_AUDIORECORDER_ERROR": "音声を開けませんでした", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "添付するにはここにドラッグ&ドロップ", "START_AUDIO_RECORDING": "音声録音を開始", "STOP_AUDIO_RECORDING": "音声録音を停止", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "閉じる", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json index 9f3cf0fc461..0ef035f646a 100644 --- a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "下書き", "ARCHIVE": "アーカイブ", "TRANSLATE": "翻訳", + "MOVE_TO_CATEGORY": "カテゴリ", "DELETE": "削除", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "削除", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "設定を編集" }, + "LAYOUT_CONTENT": { + "HEADER": "外観", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "削除" + }, + "SAVE": "変更を保存" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "ポータルが正常に作成されました", diff --git a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json index 5ae18a793a2..34834bf90a4 100644 --- a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsAppチャンネルを保存できませんでした" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Eメール", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "ボット設定", "ACCOUNT_HEALTH": "Account Health", "CSAT": "顧客満足度", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "プレチャットフォーム設定を更新する" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ja/integrations.json b/app/javascript/dashboard/i18n/locale/ja/integrations.json index 4074a8d5a4c..27a67a84b5e 100644 --- a/app/javascript/dashboard/i18n/locale/ja/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ja/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "連絡先が作成されました", "CONTACT_UPDATED": "連絡先が更新されました", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ka/bulkActions.json b/app/javascript/dashboard/i18n/locale/ka/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/ka/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ka/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ka/campaign.json b/app/javascript/dashboard/i18n/locale/ka/campaign.json index 10366e79e8b..4977afe060a 100644 --- a/app/javascript/dashboard/i18n/locale/ka/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ka/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "მუშავდება", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "მუშავდება", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ka/components.json b/app/javascript/dashboard/i18n/locale/ka/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/ka/components.json +++ b/app/javascript/dashboard/i18n/locale/ka/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ka/contact.json b/app/javascript/dashboard/i18n/locale/ka/contact.json index 0f1af9ccff8..6658c299fd8 100644 --- a/app/javascript/dashboard/i18n/locale/ka/contact.json +++ b/app/javascript/dashboard/i18n/locale/ka/contact.json @@ -20,6 +20,8 @@ "CALL": "დარეკვა", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "აირჩიეთ ხმოვანი საფოსტო ყუთი" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ka/conversation.json b/app/javascript/dashboard/i18n/locale/ka/conversation.json index 6b699292ebe..fbb860750b9 100644 --- a/app/javascript/dashboard/i18n/locale/ka/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ka/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "გამავალი ზარი", "CALL_IN_PROGRESS": "ზარი მიმდინარეობს", "NO_ANSWER": "პასუხი არ არის", + "NO_ANSWER_OUTBOUND_LABEL": "პასუხი არ არის", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "გამოტოვებული ზარი", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "ზარი დასრულდა", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "ჯერ არ უპასუხიათ", + "CALLING": "Calling…", "THEY_ANSWERED": "მათ უპასუხეს", "YOU_ANSWERED": "თქვენ უპასუხეთ", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "ჯერ არ უპასუხიათ", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json index c4797cdcace..6b885b115f6 100644 --- a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "სავარაუდო", "ARCHIVE": "არქივი", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "კონფიგურაციის რედაქტირება" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "წაშლა" + }, + "SAVE": "ცვლილებების შენახვა" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "პორტალი წარმატებით შეიქმნა", diff --git a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json index 00458729b67..2aa0ad39ecf 100644 --- a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "ავტორიზაცია Meta-სთან", "WAITING_FOR_BUSINESS_INFO": "გთხოვთ დაასრულოთ ბიზნესის დაყენება Meta ფანჯარაში...", "PROCESSING": "თქვენი WhatsApp Business ანგარიშის დაყენება", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK-ის ჩატვირთვა...", "CANCELLED": "WhatsApp რეგისტრაცია გაუქმდა", "SUCCESS_TITLE": "WhatsApp ბიზნეს ანგარიში დაკავშირებულია!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "ავტორიზაცია არ დასრულებულა. გთხოვთ, დაიწყეთ პროცესი თავიდან.", "SUCCESS_FALLBACK": "WhatsApp Business ანგარიში წარმატებით კონფიგურირებულია", "MANUAL_FALLBACK": "თუ თქვენი ნომერი უკვე დაკავშირებულია WhatsApp Business Platform (API)-სთან, ან თუ თქვენ ტექნიკური მიმწოდებელი ხართ და საკუთარ ნომერს ამატებთ, გთხოვთ გამოიყენოთ {link} პროცესი", - "MANUAL_LINK_TEXT": "მანუალური დაყენების პროცესი" + "MANUAL_LINK_TEXT": "მანუალური დაყენების პროცესი", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "ვერ შევძელით WhatsApp არხის შენახვა" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "მხარდაჭერა თქვენი მომხმარებლებისთვის WhatsApp-ზე" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "დაკავშირება Gmail, Outlook ან სხვა მიმწოდებლებთან" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "ბოტის კონფიგურაცია", "ACCOUNT_HEALTH": "ანგარიშის ჯანმრთელობა", "CSAT": "CSAT", - "VOICE": "ხმოვანი" + "VOICE": "ხმოვანი", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "არხის პარამეტრები", "WIDGET_FEATURES": "ვიჯეტის ფუნქციები", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "ხელით სინქრონიზაცია WhatsApp-ისგან, რათა განაახლოთ ხელმისაწვდომი შაბლონები.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "შაბლონების სინქრონიზაცია", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "შაბლონების სინქრონიზაცია წარმატებით დაიწყო. განახლება შეიძლება რამდენიმე წუთი გაგრძელდეს.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "განაახლეთ წინასწარი ჩატის ფორმის პარამეტრები" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ka/integrations.json b/app/javascript/dashboard/i18n/locale/ka/integrations.json index 74b2cdd83a7..78471d97783 100644 --- a/app/javascript/dashboard/i18n/locale/ka/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ka/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "კონტაქტი შექმნილია", "CONTACT_UPDATED": "კონტაქტი განახლებულია", "CONVERSATION_TYPING_ON": "ჩეთის აკრეფის ჩართვა", - "CONVERSATION_TYPING_OFF": "ჩეთის აკრეფის გამორთვა" + "CONVERSATION_TYPING_OFF": "ჩეთის აკრეფის გამორთვა", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ko/bulkActions.json b/app/javascript/dashboard/i18n/locale/ko/bulkActions.json index b72c87b86fa..84f61e22d82 100644 --- a/app/javascript/dashboard/i18n/locale/ko/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ko/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount}개의 대화가 선택되었습니다", - "AGENT_SELECT_LABEL": "에이전트 선택", - "ASSIGN_CONFIRMATION_LABEL": "{conversationCount}개의 {conversationLabel}을(를) 배정하시겠습니까?", - "UNASSIGN_CONFIRMATION_LABEL": "{conversationCount}개의 {conversationLabel} 배정을 해제하시겠습니까?", - "GO_BACK_LABEL": "뒤로 가기", - "ASSIGN_LABEL": "배정", "NONE": "없음", "CLEAR_SELECTION": "초기화", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "대화가 성공적으로 해결되었습니다.", "RESOLVE_FAILED": "대화 해결에 실패했습니다. 다시 시도하십시오.", "ALL_CONVERSATIONS_SELECTED_ALERT": "이 페이지에 표시된 대화만 선택되었습니다.", - "AGENT_LIST_LOADING": "에이전트 로딩 중", "UPDATE": { "CHANGE_STATUS": "상태 변경", "SNOOZE_UNTIL": "일시 중지", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "라벨 배정", - "NO_LABELS_FOUND": "라벨을 찾을 수 없습니다", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "선택한 라벨 배정", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "라벨이 성공적으로 배정되었습니다.", - "ASSIGN_FAILED": "라벨 배정에 실패했습니다. 다시 시도하십시오." + "ASSIGN_FAILED": "라벨 배정에 실패했습니다. 다시 시도하십시오.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "팀 선택", "NONE": "없음", - "NO_TEAMS_AVAILABLE": "이 계정에 추가된 팀이 없습니다.", - "ASSIGN_SELECTED_TEAMS": "선택한 팀 배정", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "팀이 성공적으로 배정되었습니다.", diff --git a/app/javascript/dashboard/i18n/locale/ko/campaign.json b/app/javascript/dashboard/i18n/locale/ko/campaign.json index f6680d01aa4..5ab9ebf8326 100644 --- a/app/javascript/dashboard/i18n/locale/ko/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ko/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "처리 중", "COMPLETED": "완료됨", "SCHEDULED": "예약됨" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "처리 중", "COMPLETED": "완료됨", "SCHEDULED": "예약됨" }, diff --git a/app/javascript/dashboard/i18n/locale/ko/components.json b/app/javascript/dashboard/i18n/locale/ko/components.json index d25d205fdbb..ebe22140992 100644 --- a/app/javascript/dashboard/i18n/locale/ko/components.json +++ b/app/javascript/dashboard/i18n/locale/ko/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index d4a9c8c270d..aee9df6c30f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -20,6 +20,8 @@ "CALL": "통화", "CALL_INITIATED": "연락처에 전화 거는 중...", "CALL_FAILED": "통화를 시작할 수 없습니다. 다시 시도하십시오.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "음성 받은 메시지함 선택" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "라벨 배정", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "라벨이 성공적으로 배정되었습니다.", "ASSIGN_LABELS_FAILED": "라벨 배정에 실패했습니다", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "선택한 연락처에 추가할 라벨을 선택하십시오.", "NO_LABELS_FOUND": "사용 가능한 라벨이 없습니다.", "SELECTED_COUNT": "{count}개 선택됨", diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json index 00ec0ed5271..3f61ebf6ceb 100644 --- a/app/javascript/dashboard/i18n/locale/ko/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "이 메시지는 지원되지 않습니다. Facebook Messenger 앱에서 이 메시지를 확인할 수 있습니다.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "이 메시지는 지원되지 않습니다. Instagram 앱에서 이 메시지를 확인할 수 있습니다.", "UNSUPPORTED_MESSAGE_TIKTOK": "이 메시지는 지원되지 않습니다. TikTok 앱에서 이 메시지를 확인할 수 있습니다.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "메시지가 성공적으로 삭제되었습니다", "FAIL_DELETE_MESSSAGE": "메시지를 삭제할 수 없습니다! 다시 시도해 주십시오.", "NO_RESPONSE": "응답 없음", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "발신 전화", "CALL_IN_PROGRESS": "통화 중", "NO_ANSWER": "응답 없음", + "NO_ANSWER_OUTBOUND_LABEL": "응답 없음", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "부재중 전화", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "통화 종료", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "아직 응답하지 않았습니다", + "CALLING": "Calling…", "THEY_ANSWERED": "상대방이 응답했습니다", "YOU_ANSWERED": "귀하가 응답했습니다", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "통화 참가" + "JOIN_CALL": "통화 참가", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "해결함", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "내일까지 일시 중지", "SNOOZED_UNTIL_NEXT_WEEK": "다음 주까지 일시 중지", "SNOOZED_UNTIL_NEXT_REPLY": "다음 답장까지 일시 중지", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "오디오 녹음", "TIP_AUDIORECORDER_PERMISSION": "오디오 접근 허용", "TIP_AUDIORECORDER_ERROR": "오디오를 열 수 없습니다", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "여기에 드래그 앤 드롭하여 첨부하십시오", "START_AUDIO_RECORDING": "오디오 녹음 시작", "STOP_AUDIO_RECORDING": "오디오 녹음 중지", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "아직 응답하지 않았습니다", "HANDLED_IN_ANOTHER_TAB": "다른 탭에서 처리 중입니다", "REJECT_CALL": "거부", + "DISMISS_CALL": "닫기", "JOIN_CALL": "통화 참가", - "END_CALL": "통화 종료" + "END_CALL": "통화 종료", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json index 99b7ce3a213..3e2499f4802 100644 --- a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "임시 저장", "ARCHIVE": "보관", "TRANSLATE": "번역", + "MOVE_TO_CATEGORY": "카테고리", "DELETE": "삭제", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "삭제", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "설정 수정" }, + "LAYOUT_CONTENT": { + "HEADER": "외관", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "제거" + }, + "SAVE": "변경사항 저장" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "포털이 성공적으로 생성되었습니다", diff --git a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json index f0e5d3b7a1b..798ec0cc2c8 100644 --- a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta로 인증 중", "WAITING_FOR_BUSINESS_INFO": "Meta 창에서 비즈니스 설정을 완료하십시오...", "PROCESSING": "WhatsApp Business 계정을 설정하는 중", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK를 로드하는 중...", "CANCELLED": "WhatsApp 가입이 취소되었습니다", "SUCCESS_TITLE": "WhatsApp Business 계정이 연결되었습니다!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "인증이 완료되지 않았습니다. 프로세스를 다시 시작하십시오.", "SUCCESS_FALLBACK": "WhatsApp Business 계정이 성공적으로 구성되었습니다", "MANUAL_FALLBACK": "번호가 이미 WhatsApp Business Platform (API)에 연결되어 있거나, 자체 번호를 온보딩하는 기술 공급자인 경우 {link}을 사용하십시오", - "MANUAL_LINK_TEXT": "수동 설정 플로우" + "MANUAL_LINK_TEXT": "수동 설정 플로우", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsApp 채널을 저장할 수 없습니다." @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "WhatsApp으로 고객 지원" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "이메일", "DESCRIPTION": "Gmail, Outlook 또는 기타 공급자와 연결" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "봇 구성", "ACCOUNT_HEALTH": "계정 상태", "CSAT": "CSAT", - "VOICE": "음성" + "VOICE": "음성", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "채널 환경설정", "WIDGET_FEATURES": "위젯 기능", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "WhatsApp에서 메시지 템플릿을 수동으로 동기화하여 사용 가능한 템플릿을 업데이트하십시오.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "템플릿 동기화", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "템플릿 동기화가 성공적으로 시작되었습니다. 업데이트되기까지 몇 분 정도 걸릴 수 있습니다.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "대화 전 설문 설정 업데이트" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json index 3bbbe0c0157..03cae815a0f 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "연락처 생성됨", "CONTACT_UPDATED": "연락처 업데이트됨", "CONVERSATION_TYPING_ON": "대화 입력 중", - "CONVERSATION_TYPING_OFF": "대화 입력 중지" + "CONVERSATION_TYPING_OFF": "대화 입력 중지", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/lt/bulkActions.json b/app/javascript/dashboard/i18n/locale/lt/bulkActions.json index 058de84704a..f901d9b4e66 100644 --- a/app/javascript/dashboard/i18n/locale/lt/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/lt/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "Pasirinkta pokalbių: {conversationCount}", - "AGENT_SELECT_LABEL": "Pasirinkti agentą", - "ASSIGN_CONFIRMATION_LABEL": "Ar tikrai priskirsite {conversationCount} {conversationLabel}", - "UNASSIGN_CONFIRMATION_LABEL": "Ar tikrai atšauksite priskyrimą {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Grįžti", - "ASSIGN_LABEL": "Priskirti", "NONE": "Nėra", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Pokalbio išspręstas sėkmingai.", "RESOLVE_FAILED": "Nepavyko išspręsti pokalbių. Bandykite dar kartą.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Pasirinkti šiame puslapyje matomi pokalbiai.", - "AGENT_LIST_LOADING": "Agentai užkraunami", "UPDATE": { "CHANGE_STATUS": "Pakeisti būseną", "SNOOZE_UNTIL": "Atidėti", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Priskirti etiketes", - "NO_LABELS_FOUND": "Etikečių nerasta", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Priskirti pažymėtas etiketes", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiketės sėkmingai priskirtos.", - "ASSIGN_FAILED": "Nepavyko priskirti etikečių. Prašau, pabandykite dar kartą." + "ASSIGN_FAILED": "Nepavyko priskirti etikečių. Prašau, pabandykite dar kartą.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Pasirinkite komandą", "NONE": "Nėra", - "NO_TEAMS_AVAILABLE": "Šioje paskyroje nėra pridėtų komandų.", - "ASSIGN_SELECTED_TEAMS": "Priskirti pažymėtą komandą.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/lt/campaign.json b/app/javascript/dashboard/i18n/locale/lt/campaign.json index 5df017718b6..b0d0158ea10 100644 --- a/app/javascript/dashboard/i18n/locale/lt/campaign.json +++ b/app/javascript/dashboard/i18n/locale/lt/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Užbaigta", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Užbaigta", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/lt/components.json b/app/javascript/dashboard/i18n/locale/lt/components.json index 9fbe67cba74..ee0f021e692 100644 --- a/app/javascript/dashboard/i18n/locale/lt/components.json +++ b/app/javascript/dashboard/i18n/locale/lt/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/lt/contact.json b/app/javascript/dashboard/i18n/locale/lt/contact.json index 79c5938282e..0e1d8b2b95c 100644 --- a/app/javascript/dashboard/i18n/locale/lt/contact.json +++ b/app/javascript/dashboard/i18n/locale/lt/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Skambinama kontaktui...", "CALL_FAILED": "Nepavyko pradėti skambučio. Bandykite dar kartą.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Priskirti etiketes", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiketės sėkmingai priskirtos.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/lt/conversation.json b/app/javascript/dashboard/i18n/locale/lt/conversation.json index 515597bd494..8ad1059c1b2 100644 --- a/app/javascript/dashboard/i18n/locale/lt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/lt/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Ši žinutė nepalaikoma. Jūs galite peržiūrėti šią žinutę Facebook Messenger programėlėje.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Ši žinutė nepalaikoma. Jūs galite peržiūrėti šią žinutę Instagram programėlėje.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Pranešimas ištrintas sėkmingai", "FAIL_DELETE_MESSSAGE": "Nepavyko ištrinti pranešimo! Bandykite dar kartą", "NO_RESPONSE": "Nėra atsakymo", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Išspręsti", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Atidėta iki rytojaus", "SNOOZED_UNTIL_NEXT_WEEK": "Atidėta iki kitos savaitės", "SNOOZED_UNTIL_NEXT_REPLY": "Atidėta iki kito atsakymo", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Įrašyti audio", "TIP_AUDIORECORDER_PERMISSION": "Leisti prieiti prie audio", "TIP_AUDIORECORDER_ERROR": "Nepavyko atidaryti audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Norėdami pridėti, vilkite ir numeskite čia", "START_AUDIO_RECORDING": "Pradėti audio įrašymą", "STOP_AUDIO_RECORDING": "Baigti audio įrašymą", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Atsisakyti", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json index f777a14e5dc..8c3cadefdbd 100644 --- a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Ruošinys", "ARCHIVE": "Archive", "TRANSLATE": "Išversti", + "MOVE_TO_CATEGORY": "Kategorija", "DELETE": "Ištrinti", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Ištrinti", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Išvaizda", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Pašalinti" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portalas sukurtas sėkmingai", diff --git a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json index 80bacc325cd..a43cd215265 100644 --- a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Mes negalėjome išsaugoti WhatsApp kanalo" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "El. paštas", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Boto konfiguracija", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Atnaujinkite išankstinio pokalbio internetu formos nustatymus" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/lt/integrations.json b/app/javascript/dashboard/i18n/locale/lt/integrations.json index ee9bd0a1bc4..96e53d997eb 100644 --- a/app/javascript/dashboard/i18n/locale/lt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lt/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Sukurtas kontaktas", "CONTACT_UPDATED": "Kontaktas atnaujintas", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/lv/bulkActions.json b/app/javascript/dashboard/i18n/locale/lv/bulkActions.json index 79264829566..536d79877df 100644 --- a/app/javascript/dashboard/i18n/locale/lv/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/lv/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "Izvēlētas {conversationCount} sarunas", - "AGENT_SELECT_LABEL": "Izvēlieties aģentu", - "ASSIGN_CONFIRMATION_LABEL": "Vai patiešām vēlaties piesaistīt {conversationCount} {conversationLabel} pie", - "UNASSIGN_CONFIRMATION_LABEL": "Vai patiešām vēlaties atsaistīt {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Atgriezties", - "ASSIGN_LABEL": "Piešķirt", "NONE": "Nav", "CLEAR_SELECTION": "Notīrīt", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Sarunas ir veiksmīgi atrisinātas.", "RESOLVE_FAILED": "Neizdevās atrisināt sarunas. Lūdzu mēģiniet vēlreiz.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Šajā lapā redzamās sarunas ir tikai izvēlētas.", - "AGENT_LIST_LOADING": "Notiek aģentu ielāde", "UPDATE": { "CHANGE_STATUS": "Mainīt statusu", "SNOOZE_UNTIL": "Atlikt", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Piešķirt etiķetes", - "NO_LABELS_FOUND": "Etiķetes nav atrastas", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Piešķirt izvēlētās etiķetes", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiķetes ir veiksmīgi piešķirtas.", - "ASSIGN_FAILED": "Neizdevās piešķirt etiķetes. Lūdzu mēģiniet vēlreiz." + "ASSIGN_FAILED": "Neizdevās piešķirt etiķetes. Lūdzu mēģiniet vēlreiz.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Izvēlieties komandu", "NONE": "Nav", - "NO_TEAMS_AVAILABLE": "Šim kontam vēl nav pievienota neviena komanda.", - "ASSIGN_SELECTED_TEAMS": "Piešķirt izvēlēto komandu.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Komandas ir veiksmīgi piešķirtas.", diff --git a/app/javascript/dashboard/i18n/locale/lv/campaign.json b/app/javascript/dashboard/i18n/locale/lv/campaign.json index ed0189250f9..e9cf6309be9 100644 --- a/app/javascript/dashboard/i18n/locale/lv/campaign.json +++ b/app/javascript/dashboard/i18n/locale/lv/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Pabeigts", "SCHEDULED": "Plānots" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Pabeigts", "SCHEDULED": "Plānots" }, diff --git a/app/javascript/dashboard/i18n/locale/lv/components.json b/app/javascript/dashboard/i18n/locale/lv/components.json index 86983813560..df62449481b 100644 --- a/app/javascript/dashboard/i18n/locale/lv/components.json +++ b/app/javascript/dashboard/i18n/locale/lv/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/lv/contact.json b/app/javascript/dashboard/i18n/locale/lv/contact.json index 4c9e37cfe93..07ff92143ff 100644 --- a/app/javascript/dashboard/i18n/locale/lv/contact.json +++ b/app/javascript/dashboard/i18n/locale/lv/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Piešķirt Etiķetes", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiķetes ir veiksmīgi piešķirtas.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "Atlasīti {count}", diff --git a/app/javascript/dashboard/i18n/locale/lv/conversation.json b/app/javascript/dashboard/i18n/locale/lv/conversation.json index 3998f71ac60..8d1e4ed8e13 100644 --- a/app/javascript/dashboard/i18n/locale/lv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/lv/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Šis ziņojums netiek atbalstīts. Šo ziņojumu Jūs varat apskatīt lietotnē Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Šis ziņojums netiek atbalstīts. Šo ziņojumu Jūs varat apskatīt lietotnē Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Ziņojums veiksmīgi izdzēsts", "FAIL_DELETE_MESSSAGE": "Nevarēja izdzēst ziņojumu! Mēģiniet vēlreiz", "NO_RESPONSE": "Nav atbildes", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Atrisināt", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Atlikts līdz rītdienai", "SNOOZED_UNTIL_NEXT_WEEK": "Atlikts līdz nākamajai nedēļai", "SNOOZED_UNTIL_NEXT_REPLY": "Atlikts līdz nākamajai atbildei", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Ierakstīt audio", "TIP_AUDIORECORDER_PERMISSION": "Atļaut piekļuvi pie audio", "TIP_AUDIORECORDER_ERROR": "Nevarēja atvērt audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Velciet un nometiet šeit, lai pievienotu", "START_AUDIO_RECORDING": "Sākt audio ierakstīšanu", "STOP_AUDIO_RECORDING": "Apturēt audio ierakstīšanu", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Atcelt", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json index 97d06ab92a1..818994fd0fa 100644 --- a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Melnraksts", "ARCHIVE": "Arhīvs", "TRANSLATE": "Tulkot", + "MOVE_TO_CATEGORY": "Kategorija", "DELETE": "Dzēst", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Dzēst", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Rediģēt konfigurāciju" }, + "LAYOUT_CONTENT": { + "HEADER": "Izskats", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Noņemt" + }, + "SAVE": "Saglabāt izmaiņas" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portāls ir veiksmīgi izveidots", diff --git a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json index b3a5807e996..5eaa00103f9 100644 --- a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Mēs nevarējām saglabāt WhatsApp kanālu" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-pasts", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Robota Konfigurācija", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Atjaunināt pirms-tērzēšanas veidlapas iestatījumus" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/lv/integrations.json b/app/javascript/dashboard/i18n/locale/lv/integrations.json index 64676ee3c82..0ea68211181 100644 --- a/app/javascript/dashboard/i18n/locale/lv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lv/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontaktpersona izveidota", "CONTACT_UPDATED": "Kontaktpersona atjaunināta", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ml/bulkActions.json b/app/javascript/dashboard/i18n/locale/ml/bulkActions.json index 5dad2241579..47c6c7a7378 100644 --- a/app/javascript/dashboard/i18n/locale/ml/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ml/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "ഏജന്റിനെ തിരഞ്ഞെടുക്കുക", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "നിയോഗിക്കുക", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "ലേബലുകളൊന്നും കണ്ടെത്തിയില്ല", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "ടീം തിരഞ്ഞെടുക്കുക", "NONE": "ഒന്നുമില്ല", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ml/campaign.json b/app/javascript/dashboard/i18n/locale/ml/campaign.json index 492ce80ffb1..d2cec0e865f 100644 --- a/app/javascript/dashboard/i18n/locale/ml/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ml/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "പൂർത്തിയാക്കി", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "പൂർത്തിയാക്കി", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ml/components.json b/app/javascript/dashboard/i18n/locale/ml/components.json index 262dec2feff..54177eb35dd 100644 --- a/app/javascript/dashboard/i18n/locale/ml/components.json +++ b/app/javascript/dashboard/i18n/locale/ml/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json index 9240a4cdca6..54cd3b7ad57 100644 --- a/app/javascript/dashboard/i18n/locale/ml/contact.json +++ b/app/javascript/dashboard/i18n/locale/ml/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json index 89b65cd5365..d4cd5685461 100644 --- a/app/javascript/dashboard/i18n/locale/ml/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "പരിഹരിക്കുക", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json index 2ad6fdb6ec2..b4594ce6bca 100644 --- a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "ഇല്ലാതാക്കുക", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "ഇല്ലാതാക്കുക", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "നീക്കം ചെയ്യുക" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json index c483970eb06..3869e919ef0 100644 --- a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta-യുമായി പ്രാമാണീകരിക്കുന്നു", "WAITING_FOR_BUSINESS_INFO": "ദയവായി Meta വിൻഡോയിൽ ബിസിനസ് ക്രമീകരണം പൂർത്തിയാക്കുക...", "PROCESSING": "നിങ്ങളുടെ WhatsApp ബിസിനസ് അക്കൗണ്ട് ക്രമീകരിക്കുന്നു", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK ലോഡിംഗ്...", "CANCELLED": "WhatsApp സൈൻഅപ്പ് റദ്ദാക്കി", "SUCCESS_TITLE": "WhatsApp ബിസിനസ് അക്കൗണ്ട് ബന്ധിപ്പിച്ചു!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "അധികാരപത്രം പൂർത്തിയാക്കിയിട്ടില്ല. ദയവായി പ്രക്രിയ വീണ്ടും ആരംഭിക്കുക.", "SUCCESS_FALLBACK": "WhatsApp ബിസിനസ് അക്കൗണ്ട് വിജയകരമായി ക്രമീകരിച്ചു", "MANUAL_FALLBACK": "നിങ്ങളുടെ നമ്പർ ഇതിനകം WhatsApp ബിസിനസ് പ്ലാറ്റ്ഫോം (API) യുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടെങ്കിൽ, അല്ലെങ്കിൽ നിങ്ങൾ ഒരു ടെക് പ്രൊവൈഡറായി നിങ്ങളുടെ സ്വന്തം നമ്പർ ഓൺബോർഡ് ചെയ്യുകയാണെങ്കിൽ, ദയവായി {link} ഫ്ലോ ഉപയോഗിക്കുക", - "MANUAL_LINK_TEXT": "മാനുവൽ സെറ്റപ്പ് ഫ്ലോ" + "MANUAL_LINK_TEXT": "മാനുവൽ സെറ്റപ്പ് ഫ്ലോ", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "ഞങ്ങൾ WhatsApp ചാനൽ സേവ് ചെയ്യാൻ കഴിഞ്ഞില്ല" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "WhatsApp-ൽ നിങ്ങളുടെ ഉപഭോക്താക്കളെ പിന്തുണയ്ക്കുക" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "ഇമെയിൽ", "DESCRIPTION": "Gmail, Outlook, അല്ലെങ്കിൽ മറ്റ് പ്രൊവൈഡർമാരുമായി കണക്ട് ചെയ്യുക" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "ബോട്ട് ക്രമീകരണം", "ACCOUNT_HEALTH": "അക്കൗണ്ട് ആരോഗ്യ നില", "CSAT": "CSAT", - "VOICE": "വോയ്സ്" + "VOICE": "വോയ്സ്", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "ചാനൽ മുൻഗണനകൾ", "WIDGET_FEATURES": "വിഡ്ജറ്റ് സവിശേഷതകൾ", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "നിങ്ങളുടെ ലഭ്യമായ ടെംപ്ലേറ്റുകൾ അപ്ഡേറ്റ് ചെയ്യാൻ WhatsApp-ൽ നിന്ന് സന്ദേശ ടെംപ്ലേറ്റുകൾ മാനുവലായി സമന്വയിപ്പിക്കുക.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "ടെംപ്ലേറ്റുകൾ സമന്വയിപ്പിക്കുക", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "ടെംപ്ലേറ്റുകൾ സമന്വയം വിജയകരമായി ആരംഭിച്ചു. അപ്ഡേറ്റ് ചെയ്യാൻ കുറച്ച് മിനിറ്റുകൾ എടുക്കാം.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "പ്രീ ചാറ്റ് ഫോമിന്റെ ക്രമീകരണങ്ങൾ അപ്ഡേറ്റ് ചെയ്യുക" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ml/integrations.json b/app/javascript/dashboard/i18n/locale/ml/integrations.json index 711959a0f41..f862e89abc6 100644 --- a/app/javascript/dashboard/i18n/locale/ml/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ml/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "ബന്ധപ്പെടൽ സൃഷ്ടിച്ചു", "CONTACT_UPDATED": "ബന്ധപ്പെടൽ അപ്ഡേറ്റ് ചെയ്തു", "CONVERSATION_TYPING_ON": "സംഭാഷണം ടൈപ്പിംഗ് ഓൺ", - "CONVERSATION_TYPING_OFF": "സംവാദം ടൈപ്പിംഗ് ഓഫ്" + "CONVERSATION_TYPING_OFF": "സംവാദം ടൈപ്പിംഗ് ഓഫ്", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ms/bulkActions.json b/app/javascript/dashboard/i18n/locale/ms/bulkActions.json index 95b313287fe..08f2c63ece0 100644 --- a/app/javascript/dashboard/i18n/locale/ms/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ms/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Pilih ejen", - "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", "NONE": "Tiada", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Pilih pasukan", "NONE": "Tiada", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ms/campaign.json b/app/javascript/dashboard/i18n/locale/ms/campaign.json index d73da46229a..6e925ff36e0 100644 --- a/app/javascript/dashboard/i18n/locale/ms/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ms/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Sedang Diproses", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Sedang Diproses", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ms/components.json b/app/javascript/dashboard/i18n/locale/ms/components.json index cae53a75ca4..815db3f800a 100644 --- a/app/javascript/dashboard/i18n/locale/ms/components.json +++ b/app/javascript/dashboard/i18n/locale/ms/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ms/contact.json b/app/javascript/dashboard/i18n/locale/ms/contact.json index d004a6e3cb3..161429452ae 100644 --- a/app/javascript/dashboard/i18n/locale/ms/contact.json +++ b/app/javascript/dashboard/i18n/locale/ms/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ms/conversation.json b/app/javascript/dashboard/i18n/locale/ms/conversation.json index 052de055995..450f1d88c1b 100644 --- a/app/javascript/dashboard/i18n/locale/ms/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ms/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Mesej ini tidak disokong. Anda boleh melihat mesej ini di aplikasi Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Mesej ini tidak disokong. Anda boleh melihat mesej ini di aplikasi Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "Mesej ini tidak disokong. Anda boleh melihat mesej ini di aplikasi TikTok.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mesej berjaya dipadam", "FAIL_DELETE_MESSSAGE": "Tidak dapat memadam mesej! Sila cuba lagi", "NO_RESPONSE": "Tiada respons", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Panggilan keluar", "CALL_IN_PROGRESS": "Panggilan sedang berlangsung", "NO_ANSWER": "Tiada jawapan", + "NO_ANSWER_OUTBOUND_LABEL": "Tiada jawapan", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Panggilan terlepas", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Panggilan tamat", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Belum dijawab", + "CALLING": "Calling…", "THEY_ANSWERED": "Mereka menjawab", "YOU_ANSWERED": "Anda menjawab", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Sertai panggilan" + "JOIN_CALL": "Sertai panggilan", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Selesaikan", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Ditangguhkan sehingga esok", "SNOOZED_UNTIL_NEXT_WEEK": "Ditangguhkan sehingga minggu depan", "SNOOZED_UNTIL_NEXT_REPLY": "Ditangguhkan sehingga balasan seterusnya", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Rakam audio", "TIP_AUDIORECORDER_PERMISSION": "Benarkan akses ke audio", "TIP_AUDIORECORDER_ERROR": "Tidak dapat membuka audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Seret dan lepaskan di sini untuk melampirkan", "START_AUDIO_RECORDING": "Mula rakaman audio", "STOP_AUDIO_RECORDING": "Hentikan rakaman audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Belum dijawab", "HANDLED_IN_ANOTHER_TAB": "Sedang diuruskan di tab lain", "REJECT_CALL": "Tolak", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Sertai panggilan", - "END_CALL": "Tamatkan panggilan" + "END_CALL": "Tamatkan panggilan", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json index 13e8931196d..4b1da659095 100644 --- a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draf", "ARCHIVE": "Arkib", "TRANSLATE": "Terjemah", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Padamkan", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Padamkan", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Sunting konfigurasi" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Padam" + }, + "SAVE": "Simpan perubahan" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal berjaya dibuat", diff --git a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json index d459b814c85..dfd586a296b 100644 --- a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Pengesahan tidak selesai. Sila mulakan semula proses.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "aliran tetapan manual" + "MANUAL_LINK_TEXT": "aliran tetapan manual", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Emel", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Konfigurasi Bot", "ACCOUNT_HEALTH": "Kesihatan Akaun", "CSAT": "CSAT", - "VOICE": "Suara" + "VOICE": "Suara", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Keutamaan Saluran", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Penyelarasan templat berjaya dimulakan. Ia mungkin mengambil masa beberapa minit untuk dikemas kini.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Kemas kini Tetapan Borang Pra Sembang" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ms/integrations.json b/app/javascript/dashboard/i18n/locale/ms/integrations.json index 99b6d15807a..3cca29ddb54 100644 --- a/app/javascript/dashboard/i18n/locale/ms/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ms/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kenalan dicipta", "CONTACT_UPDATED": "Kenalan dikemas kini", "CONVERSATION_TYPING_ON": "Perbualan Mengetik Aktif", - "CONVERSATION_TYPING_OFF": "Perbualan Mengetik Tidak Aktif" + "CONVERSATION_TYPING_OFF": "Perbualan Mengetik Tidak Aktif", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ne/bulkActions.json b/app/javascript/dashboard/i18n/locale/ne/bulkActions.json index 77d41d9b3cb..7002ff6103e 100644 --- a/app/javascript/dashboard/i18n/locale/ne/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ne/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "कुनै छैन", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ne/campaign.json b/app/javascript/dashboard/i18n/locale/ne/campaign.json index 10366e79e8b..d7e5dfe3fa1 100644 --- a/app/javascript/dashboard/i18n/locale/ne/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ne/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "प्रक्रिया हुँदैछ", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "प्रक्रिया हुँदैछ", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ne/components.json b/app/javascript/dashboard/i18n/locale/ne/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/ne/components.json +++ b/app/javascript/dashboard/i18n/locale/ne/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ne/contact.json b/app/javascript/dashboard/i18n/locale/ne/contact.json index 2d782119980..566a2161e61 100644 --- a/app/javascript/dashboard/i18n/locale/ne/contact.json +++ b/app/javascript/dashboard/i18n/locale/ne/contact.json @@ -20,6 +20,8 @@ "CALL": "कल गर्नुहोस्", "CALL_INITIATED": "सम्पर्कलाई कल गर्दै…", "CALL_FAILED": "फोन कल सुरु गर्न सकिएन। कृपया फेरि प्रयास गर्नुहोस्।", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "भ्वाइस इन्बक्स छान्नुहोस्" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "लेबलहरू तोक्नुहोस्", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "लेबलहरू सफलतापूर्वक असाइन गरियो।", "ASSIGN_LABELS_FAILED": "लेबलहरू तोक्न असफल भयो", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "चयनित सम्पर्कहरूमा थप्न चाहनुभएको लेबलहरू छान्नुहोस्।", "NO_LABELS_FOUND": "अहिलेसम्म कुनै लेबलहरू उपलब्ध छैनन्।", "SELECTED_COUNT": "{count} चयन गरियो", diff --git a/app/javascript/dashboard/i18n/locale/ne/conversation.json b/app/javascript/dashboard/i18n/locale/ne/conversation.json index e4e25a55499..706834290e3 100644 --- a/app/javascript/dashboard/i18n/locale/ne/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ne/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "यो सन्देश समर्थन गरिएको छैन। तपाईं यो सन्देश Facebook Messenger एपमा हेर्न सक्नुहुन्छ।", "UNSUPPORTED_MESSAGE_INSTAGRAM": "यो सन्देश समर्थन गरिएको छैन। तपाईं यो सन्देश Instagram एपमा हेर्न सक्नुहुन्छ।", "UNSUPPORTED_MESSAGE_TIKTOK": "यो सन्देश समर्थन गरिएको छैन। तपाईंले यो सन्देश TikTok एपमा हेर्न सक्नुहुन्छ।", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "सन्देश सफलतापूर्वक मेटाइयो", "FAIL_DELETE_MESSSAGE": "सन्देश मेटाउन सकिएन! फेरि प्रयास गर्नुहोस्", "NO_RESPONSE": "कुनै प्रतिक्रिया छैन", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "जाने कल", "CALL_IN_PROGRESS": "कल जारी छ", "NO_ANSWER": "उत्तर छैन", + "NO_ANSWER_OUTBOUND_LABEL": "उत्तर छैन", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "छुटेको कल", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "कल समाप्त भयो", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "अझै जवाफ दिइएको छैन", + "CALLING": "Calling…", "THEY_ANSWERED": "उनीहरूले जवाफ दिए", "YOU_ANSWERED": "तपाईंले जवाफ दिनुभयो", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "कलमा सामेल हुनुहोस्" + "JOIN_CALL": "कलमा सामेल हुनुहोस्", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "समाधान गर्नुहोस्", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "भोलिसम्म सुताइएको", "SNOOZED_UNTIL_NEXT_WEEK": "अर्को हप्ता सम्म सुताइएको", "SNOOZED_UNTIL_NEXT_REPLY": "अर्को जवाफ सम्म सुताइएको", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "अडियो रेकर्ड गर्नुहोस्", "TIP_AUDIORECORDER_PERMISSION": "अडियो पहुँच अनुमति दिनुहोस्", "TIP_AUDIORECORDER_ERROR": "अडियो खोल्न सकिएन", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "यहाँ तान्नुहोस् र छोड्नुहोस् संलग्न गर्न", "START_AUDIO_RECORDING": "अडियो रेकर्डिङ सुरु गर्नुहोस्", "STOP_AUDIO_RECORDING": "अडियो रेकर्डिङ रोक्नुहोस्", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "अझै जवाफ दिइएको छैन", "HANDLED_IN_ANOTHER_TAB": "अर्को ट्याबमा ह्यान्डल भइरहेको छ", "REJECT_CALL": "अस्वीकार गर्नुहोस्", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "कलमा सामेल हुनुहोस्", - "END_CALL": "कल समाप्त गर्नुहोस्" + "END_CALL": "कल समाप्त गर्नुहोस्", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json index 2da7108b9c1..c0bac7a545c 100644 --- a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "ड्राफ्ट", "ARCHIVE": "अभिलेख", "TRANSLATE": "अनुवाद गर्नुहोस्", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "कन्फिगरेसन सम्पादन गर्नुहोस्" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "हटाउनुहोस्" + }, + "SAVE": "परिवर्तनहरू बचत गर्नुहोस्" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "पोर्टल सफलतापूर्वक सिर्जना गरियो", diff --git a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json index dd29826c20e..65c1c2719ff 100644 --- a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta सँग प्रमाणिकरण हुँदैछ", "WAITING_FOR_BUSINESS_INFO": "कृपया Meta विन्डोमा व्यवसाय सेटअप पूरा गर्नुहोस्...", "PROCESSING": "तपाईंको WhatsApp व्यवसाय खाता सेटअप गर्दै", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK लोड हुँदैछ...", "CANCELLED": "WhatsApp साइनअप रद्द गरियो", "SUCCESS_TITLE": "WhatsApp व्यवसाय खाता जडान भयो!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "प्रमाणिकरण पूरा भएन। कृपया प्रक्रिया पुनः सुरु गर्नुहोस्।", "SUCCESS_FALLBACK": "WhatsApp व्यवसाय खाता सफलतापूर्वक कन्फिगर गरियो", "MANUAL_FALLBACK": "यदि तपाईंको नम्बर पहिले नै WhatsApp व्यवसाय प्लेटफर्म (API) सँग जडान गरिएको छ, वा तपाईं प्रविधि प्रदायक हुनुहुन्छ र आफ्नो नम्बर अनबोर्ड गर्दै हुनुहुन्छ भने, कृपया {link} प्रवाह प्रयोग गर्नुहोस्", - "MANUAL_LINK_TEXT": "म्यानुअल सेटअप प्रवाह" + "MANUAL_LINK_TEXT": "म्यानुअल सेटअप प्रवाह", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "हामी WhatsApp च्यानल सुरक्षित गर्न सकेनौं" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "WhatsApp मा तपाईंका ग्राहकहरूलाई समर्थन गर्नुहोस्" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "इमेल", "DESCRIPTION": "Gmail, Outlook वा अन्य प्रदायकहरूसँग जडान गर्नुहोस्" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "बोट कन्फिगरेसन", "ACCOUNT_HEALTH": "खाता स्वास्थ्य", "CSAT": "CSAT", - "VOICE": "भ्वाइस" + "VOICE": "भ्वाइस", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "च्यानल प्राथमिकता", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "तपाईंका उपलब्ध टेम्प्लेटहरू अपडेट गर्न WhatsApp बाट म्यानुअली सन्देश टेम्प्लेटहरू समक्रमण गर्नुहोस्।", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "टेम्प्लेटहरू समक्रमण गर्नुहोस्", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "टेम्प्लेटहरू समक्रमण सफलतापूर्वक सुरु भयो। अपडेट हुन केही मिनेट लाग्न सक्छ।", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "पूर्व-च्याट फारम सेटिङहरू अपडेट गर्नुहोस्।" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ne/integrations.json b/app/javascript/dashboard/i18n/locale/ne/integrations.json index d369fd8db24..8838fa3ebc6 100644 --- a/app/javascript/dashboard/i18n/locale/ne/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ne/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "सम्पर्क सिर्जना भयो", "CONTACT_UPDATED": "सम्पर्क अपडेट गरियो", "CONVERSATION_TYPING_ON": "कुराकानी टाइप गर्दै छ", - "CONVERSATION_TYPING_OFF": "कुराकानी टाइप गर्दै छैन" + "CONVERSATION_TYPING_OFF": "कुराकानी टाइप गर्दै छैन", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json index 9ce607cac14..93942db0f88 100644 --- a/app/javascript/dashboard/i18n/locale/nl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/nl/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} gesprekken geselecteerd", - "AGENT_SELECT_LABEL": "Selecteer agent", - "ASSIGN_CONFIRMATION_LABEL": "Weet u zeker dat u {conversationCount} {conversationLabel} wilt toewijzen aan", - "UNASSIGN_CONFIRMATION_LABEL": "Weet u zeker dat u {conversationCount} {conversationLabel} wilt ontkoppelen?", - "GO_BACK_LABEL": "Ga terug", - "ASSIGN_LABEL": "Toewijzen", "NONE": "Geen", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Gesprekken succesvol opgehaald.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Gesprekken die op deze pagina zichtbaar zijn, zijn alleen geselecteerd.", - "AGENT_LIST_LOADING": "Agents worden geladen", "UPDATE": { "CHANGE_STATUS": "Status wijzigen", "SNOOZE_UNTIL": "Sluimeren", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Labels toewijzen", - "NO_LABELS_FOUND": "Geen labels gevonden", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Geselecteerde labels toewijzen", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels met succes toegewezen.", - "ASSIGN_FAILED": "Toewijzen van labels mislukt, probeer het opnieuw." + "ASSIGN_FAILED": "Toewijzen van labels mislukt, probeer het opnieuw.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Selecteer team", "NONE": "Geen", - "NO_TEAMS_AVAILABLE": "Er zijn nog geen teams toegevoegd aan dit account.", - "ASSIGN_SELECTED_TEAMS": "Geselecteerde team toewijzen.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/nl/campaign.json b/app/javascript/dashboard/i18n/locale/nl/campaign.json index dec753f13ba..d30786560fa 100644 --- a/app/javascript/dashboard/i18n/locale/nl/campaign.json +++ b/app/javascript/dashboard/i18n/locale/nl/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/nl/components.json b/app/javascript/dashboard/i18n/locale/nl/components.json index 1dcb747e2dc..23bbe0d261b 100644 --- a/app/javascript/dashboard/i18n/locale/nl/components.json +++ b/app/javascript/dashboard/i18n/locale/nl/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index b1aa2557475..07f5139c5b3 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Label toewijzen", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels met succes toegewezen.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json index 83553e32014..31aeb37a77e 100644 --- a/app/javascript/dashboard/i18n/locale/nl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Bericht succesvol verwijderd", "FAIL_DELETE_MESSSAGE": "Kon bericht niet verwijderen! Probeer het opnieuw", "NO_RESPONSE": "Geen reactie", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Oplossen", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed tot morgen", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed tot volgende week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed tot volgende antwoord", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Audio opnemen", "TIP_AUDIORECORDER_PERMISSION": "Sta toegang tot audio toe", "TIP_AUDIORECORDER_ERROR": "Geluid kon niet worden geopend", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Sleep hierheen om toe te voegen", "START_AUDIO_RECORDING": "Start audio-opname", "STOP_AUDIO_RECORDING": "Stop audio-opname", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Negeer", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json index e14763f34e4..0cb2a83422b 100644 --- a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Vertaal", + "MOVE_TO_CATEGORY": "Categorie", "DELETE": "Verwijderen", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Verwijderen", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Weergave", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Verwijderen" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json index abdbb47ee39..5e901d3b90f 100644 --- a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mailadres", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/nl/integrations.json b/app/javascript/dashboard/i18n/locale/nl/integrations.json index 05766e58ef7..ad144e284c8 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact aangemaakt", "CONTACT_UPDATED": "Contact aangemaakt", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/no/bulkActions.json b/app/javascript/dashboard/i18n/locale/no/bulkActions.json index 9aea1df6668..b73d23f16b3 100644 --- a/app/javascript/dashboard/i18n/locale/no/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/no/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Velg agent", - "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": "Tildel", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Velg gruppe", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/no/campaign.json b/app/javascript/dashboard/i18n/locale/no/campaign.json index b0ac970f0c9..d0665209a43 100644 --- a/app/javascript/dashboard/i18n/locale/no/campaign.json +++ b/app/javascript/dashboard/i18n/locale/no/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/no/components.json b/app/javascript/dashboard/i18n/locale/no/components.json index d8ecb89ab9b..bbee4d708c1 100644 --- a/app/javascript/dashboard/i18n/locale/no/components.json +++ b/app/javascript/dashboard/i18n/locale/no/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/no/contact.json b/app/javascript/dashboard/i18n/locale/no/contact.json index 205ab67b8b2..36b0c84c1ba 100644 --- a/app/javascript/dashboard/i18n/locale/no/contact.json +++ b/app/javascript/dashboard/i18n/locale/no/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/no/conversation.json b/app/javascript/dashboard/i18n/locale/no/conversation.json index a973a0c84b9..cb6b2f43118 100644 --- a/app/javascript/dashboard/i18n/locale/no/conversation.json +++ b/app/javascript/dashboard/i18n/locale/no/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Løs", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/no/helpCenter.json b/app/javascript/dashboard/i18n/locale/no/helpCenter.json index c39867e15d2..0ed9ed17a12 100644 --- a/app/javascript/dashboard/i18n/locale/no/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/no/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Slett", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Slett", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Fjern" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json index b59a61dcb07..3bc48e51dae 100644 --- a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-post", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/no/integrations.json b/app/javascript/dashboard/i18n/locale/no/integrations.json index 190f0ad4cfd..07a8fc08532 100644 --- a/app/javascript/dashboard/i18n/locale/no/integrations.json +++ b/app/javascript/dashboard/i18n/locale/no/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/pl/bulkActions.json b/app/javascript/dashboard/i18n/locale/pl/bulkActions.json index 11de057a2cd..c2cdd7df9ea 100644 --- a/app/javascript/dashboard/i18n/locale/pl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pl/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} wybranych rozmów", - "AGENT_SELECT_LABEL": "Wybierz konsultanta", - "ASSIGN_CONFIRMATION_LABEL": "Czy na pewno chcesz przypisać {conversationCount} {conversationLabel} do", - "UNASSIGN_CONFIRMATION_LABEL": "Czy na pewno chcesz odwołać przypisanie {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Powróć", - "ASSIGN_LABEL": "Przypisz", "NONE": "Brak", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Rozmowy zostały pomyślnie zakończone.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Zaznaczone rozmowy widoczne na tej stronie.", - "AGENT_LIST_LOADING": "Ładowanie agentów", "UPDATE": { "CHANGE_STATUS": "Zmień status", "SNOOZE_UNTIL": "Uśpij", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Brak wyników", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Przypisz wybrane etykiety", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etykiety zostały pomyślnie przypisane.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Wybierz zespół", "NONE": "Brak", - "NO_TEAMS_AVAILABLE": "Na tym koncie nie dodano jeszcze żadnych zespołów.", - "ASSIGN_SELECTED_TEAMS": "Przypisz wybrany zespół.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/pl/campaign.json b/app/javascript/dashboard/i18n/locale/pl/campaign.json index 65722324488..122099cde6e 100644 --- a/app/javascript/dashboard/i18n/locale/pl/campaign.json +++ b/app/javascript/dashboard/i18n/locale/pl/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Zakończone", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Zakończone", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/pl/components.json b/app/javascript/dashboard/i18n/locale/pl/components.json index 053a2bf5436..8ba2c366874 100644 --- a/app/javascript/dashboard/i18n/locale/pl/components.json +++ b/app/javascript/dashboard/i18n/locale/pl/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json index 78333d35d29..128ffb4ff18 100644 --- a/app/javascript/dashboard/i18n/locale/pl/contact.json +++ b/app/javascript/dashboard/i18n/locale/pl/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Przypisz etykiety", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etykiety zostały pomyślnie przypisane.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json index d8bafa0e977..d7767fcdffb 100644 --- a/app/javascript/dashboard/i18n/locale/pl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Wiadomość usunięta pomyślnie", "FAIL_DELETE_MESSSAGE": "Nie można usunąć wiadomości! Spróbuj ponownie", "NO_RESPONSE": "Brak odpowiedzi", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Rozwiąż", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Uśpij do jutra", "SNOOZED_UNTIL_NEXT_WEEK": "Uśpione do następnego tygodnia", "SNOOZED_UNTIL_NEXT_REPLY": "Uśpione do następnej odpowiedzi", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Nagrywaj audio", "TIP_AUDIORECORDER_PERMISSION": "Zezwól na dostęp do dźwięku", "TIP_AUDIORECORDER_ERROR": "Nie można otworzyć dźwięku", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Przeciągnij i upuść tutaj, aby dołączyć", "START_AUDIO_RECORDING": "Rozpocznij nagrywanie audio", "STOP_AUDIO_RECORDING": "Zatrzymaj nagrywanie audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Odrzuć", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json index 1f81b2fa4c4..b775a08b84b 100644 --- a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Szkic", "ARCHIVE": "Archive", "TRANSLATE": "Przetłumacz", + "MOVE_TO_CATEGORY": "Kategoria", "DELETE": "Usuń", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Usuń", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Usuń" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal utworzony pomyślnie", diff --git a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json index 3006452c104..0602b35c15e 100644 --- a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nie udało się zapisać kanału WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Konfiguracja bota", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Aktualizacja ustawień formularza czatu wstępnego" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/pl/integrations.json b/app/javascript/dashboard/i18n/locale/pl/integrations.json index 2a9b55026f0..6ab57132199 100644 --- a/app/javascript/dashboard/i18n/locale/pl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pl/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Utworzenie kontaktu", "CONTACT_UPDATED": "Aktualizacja kontaktu", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/pt/bulkActions.json b/app/javascript/dashboard/i18n/locale/pt/bulkActions.json index 12ad9423a62..f6289e1c1c6 100644 --- a/app/javascript/dashboard/i18n/locale/pt/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pt/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversas selecionadas", - "AGENT_SELECT_LABEL": "Escolher agente", - "ASSIGN_CONFIRMATION_LABEL": "Tem a certeza que pretende atribuir {conversationCount} {conversationLabel} a", - "UNASSIGN_CONFIRMATION_LABEL": "Tem a certeza que pretende remover a atribuição de {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Voltar", - "ASSIGN_LABEL": "Atribuir", "NONE": "Nenhuma", "CLEAR_SELECTION": "Limpar", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversas resolvidas com sucesso.", "RESOLVE_FAILED": "Falha ao resolver conversas. Por favor, tente novamente.", "ALL_CONVERSATIONS_SELECTED_ALERT": "As conversas visíveis nesta página estão apenas selecionadas.", - "AGENT_LIST_LOADING": "A carregar agentes", "UPDATE": { "CHANGE_STATUS": "Alterar estado", "SNOOZE_UNTIL": "Adiar", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Atribuir etiquetas", - "NO_LABELS_FOUND": "Nenhuma etiqueta encontrada", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Atribuir etiquetas selecionadas", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiquetas atribuídas com sucesso.", - "ASSIGN_FAILED": "Falha ao atribuir etiquetas. Por favor, tente novamente." + "ASSIGN_FAILED": "Falha ao atribuir etiquetas. Por favor, tente novamente.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Escolher equipa", "NONE": "Nenhuma", - "NO_TEAMS_AVAILABLE": "Não há equipas nesta conta.", - "ASSIGN_SELECTED_TEAMS": "Atribuir equipa selecionada.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Equipas atribuídas.", diff --git a/app/javascript/dashboard/i18n/locale/pt/campaign.json b/app/javascript/dashboard/i18n/locale/pt/campaign.json index 6a007e9b748..25e8cc065e7 100644 --- a/app/javascript/dashboard/i18n/locale/pt/campaign.json +++ b/app/javascript/dashboard/i18n/locale/pt/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Concluída", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Concluída", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/pt/components.json b/app/javascript/dashboard/i18n/locale/pt/components.json index 396df5d4832..9565bd6b285 100644 --- a/app/javascript/dashboard/i18n/locale/pt/components.json +++ b/app/javascript/dashboard/i18n/locale/pt/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json index 09d66b26587..8f1320b67ca 100644 --- a/app/javascript/dashboard/i18n/locale/pt/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt/contact.json @@ -20,6 +20,8 @@ "CALL": "Chamada", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuir etiquetas", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiquetas atribuídas com sucesso.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json index 578adb793b7..3d9c0a44bc5 100644 --- a/app/javascript/dashboard/i18n/locale/pt/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Esta mensagem não é suportada. Pode ver esta mensagem na app Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Esta mensagem não é suportada. Pode ver esta mensagem na app do Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mensagem apagada com sucesso", "FAIL_DELETE_MESSSAGE": "Não foi possível apagar a mensagem! Por favor, tente novamente", "NO_RESPONSE": "Sem resposta", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolver", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Adiada até amanhã", "SNOOZED_UNTIL_NEXT_WEEK": "Adiada até a próxima semana", "SNOOZED_UNTIL_NEXT_REPLY": "Adiada até à próxima resposta", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Gravar áudio", "TIP_AUDIORECORDER_PERMISSION": "Permitir acesso ao áudio", "TIP_AUDIORECORDER_ERROR": "Não foi possível abrir o áudio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Arrastar e soltar aqui para anexar", "START_AUDIO_RECORDING": "Iniciar gravação de áudio", "STOP_AUDIO_RECORDING": "Parar gravação de áudio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Descartar", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json index 269c91738ca..f7a08aa5426 100644 --- a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Rascunho", "ARCHIVE": "Archive", "TRANSLATE": "Traduzir", + "MOVE_TO_CATEGORY": "Categoria", "DELETE": "Excluir", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Excluir", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Aparência", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Excluir" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal criado com sucesso", diff --git a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json index 58bfefaa5f6..a76b2acfa39 100644 --- a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Não foi possível gravar o canal do WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configuração do bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voz" + "VOICE": "Voz", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Atualizar configurações do formulário pré-chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/pt/integrations.json b/app/javascript/dashboard/i18n/locale/pt/integrations.json index 41fe0cf5a0c..3db1d60af59 100644 --- a/app/javascript/dashboard/i18n/locale/pt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contacto criado", "CONTACT_UPDATED": "Contacto atualizado", "CONVERSATION_TYPING_ON": "Conversa: a escrever", - "CONVERSATION_TYPING_OFF": "Conversa: a escrever desligada" + "CONVERSATION_TYPING_OFF": "Conversa: a escrever desligada", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json b/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json index d8c37246690..0ec37a32263 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversas selecionadas", - "AGENT_SELECT_LABEL": "Selecionar agente", - "ASSIGN_CONFIRMATION_LABEL": "Você tem certeza que quer atribuir {conversationCount} {conversationLabel} para", - "UNASSIGN_CONFIRMATION_LABEL": "Você tem certeza que quer remover a atribuição de {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Voltar atrás", - "ASSIGN_LABEL": "Atribua", "NONE": "Nenhuma", "CLEAR_SELECTION": "Limpar", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Tem certeza de que deseja atribuir {n} conversa para {agentName}? | Tem certeza de que deseja atribuir {n} conversas para {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversas resolvidas com sucesso.", "RESOLVE_FAILED": "Falha ao resolver conversas. Por favor, tente novamente.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversas visíveis nesta página só estão selecionadas.", - "AGENT_LIST_LOADING": "Carregando agentes", "UPDATE": { "CHANGE_STATUS": "Alterar status", "SNOOZE_UNTIL": "Adiar", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Atribuir rótulo", - "NO_LABELS_FOUND": "Nenhuma etiqueta encontrada", + "REMOVE_LABELS": "Remover etiquetas", "ASSIGN_SELECTED_LABELS": "Atribuir etiquetas selecionadas", + "REMOVE_SELECTED_LABELS": "Remover etiquetas selecionadas", "ASSIGN_SUCCESFUL": "Rótulos atribuídos com sucesso.", - "ASSIGN_FAILED": "Falha ao atribuir etiquetas. Por favor, tente novamente." + "ASSIGN_FAILED": "Falha ao atribuir etiquetas. Por favor, tente novamente.", + "REMOVE_SUCCESFUL": "Etiquetas removidas com sucesso.", + "REMOVE_FAILED": "Falha ao remover etiquetas. Por favor, tente novamente." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Selecionar time", "NONE": "Nenhum", - "NO_TEAMS_AVAILABLE": "Ainda não há times adicionados a esta conta.", - "ASSIGN_SELECTED_TEAMS": "Atribuir time selecionado.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Tem certeza de que deseja atribuir {n} conversa ao time {teamName}? | Tem certeza de que deseja atribuir {n} conversas ao time {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Tem certeza de que deseja remover a atribuição de {n} conversa? | Tem certeza de que deseja remover a atribuição de {n} conversas?", "ASSIGN_SUCCESFUL": "Times atribuídos com sucesso.", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json b/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json index c1637a4d457..740cb2545d1 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processando", "COMPLETED": "Concluído", "SCHEDULED": "Agendada" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processando", "COMPLETED": "Concluído", "SCHEDULED": "Agendada" }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/components.json b/app/javascript/dashboard/i18n/locale/pt_BR/components.json index 485cf6ad0c0..bcc44413b34 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/components.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Imagem" } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index c9b5cd942cb..a4b16880572 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -20,6 +20,8 @@ "CALL": "Chamada", "CALL_INITIATED": "Efetuando chamada…", "CALL_FAILED": "Não foi possível iniciar a chamada. Tente novamente.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Solicitação de permissão de chamada enviada ao contato. Tente novamente após a aceitação.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Uma solicitação de permissão de chamada já foi enviada recentemente. Tente novamente após o contato aceitar.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Escolha uma caixa de entrada de voz" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuir rótulo", + "REMOVE_LABELS": "Remover Etiquetas", "ASSIGN_LABELS_SUCCESS": "Rótulos atribuídos com sucesso.", "ASSIGN_LABELS_FAILED": "Falha ao atribuir etiquetas", + "REMOVE_LABELS_SUCCESS": "Etiquetas removidas com sucesso.", + "REMOVE_LABELS_FAILED": "Falha ao remover etiquetas", "DESCRIPTION": "Selecione as etiquetas que deseja adicionar aos contatos selecionados.", "NO_LABELS_FOUND": "Nenhuma etiqueta disponível ainda.", "SELECTED_COUNT": "{count} selecionado", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index ecd158e16eb..8a6702eaaa2 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Esta mensagem não é suportada. Você pode ver esta mensagem no aplicativo do Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "Esta mensagem não é compatível. Você pode visualizá-la no aplicativo do TikTok.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "Esta mensagem não é suportada. Você pode visualizar esta mensagem no aplicativo do WhatsApp.", "SUCCESS_DELETE_MESSAGE": "Mensagem excluída com sucesso", "FAIL_DELETE_MESSSAGE": "Não foi possível excluir a mensagem! Tente novamente", "NO_RESPONSE": "Sem resposta", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Chamada realizada", "CALL_IN_PROGRESS": "Chamada em andamento", "NO_ANSWER": "Sem resposta", + "NO_ANSWER_OUTBOUND_LABEL": "Sem resposta", + "NO_ANSWER_OUTBOUND_SUBTEXT": "O contato não atendeu", "MISSED_CALL": "Chamada perdida", + "MISSED_CALL_INBOUND_SUBTEXT": "Nenhum atendente atendeu", + "MISSED_CALL_DECLINED_BY": "Recusado por {agentName}", "CALL_ENDED": "Chamada encerrada", + "HANDLED_BY": "Atendido por {agentName}", "NOT_ANSWERED_YET": "Ainda não respondido", + "CALLING": "Chamando…", "THEY_ANSWERED": "Eles responderam", "YOU_ANSWERED": "Você respondeu", "AGENT_ANSWERED": "{agentName} respondeu", - "JOIN_CALL": "Entrar na chamada" + "JOIN_CALL": "Entrar na chamada", + "CALL_BACK": "Retornar chamada", + "TRANSCRIPT_SHOW_MORE": "Ver mais", + "TRANSCRIPT_SHOW_LESS": "Mostrar menos" }, "HEADER": { "RESOLVE_ACTION": "Resolver", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Adiado até amanhã", "SNOOZED_UNTIL_NEXT_WEEK": "Adiada até a próxima semana", "SNOOZED_UNTIL_NEXT_REPLY": "Adiado até a próxima resposta", + "WHATSAPP_CALL": "Iniciar chamada no WhatsApp", + "WHATSAPP_CALL_FAILED": "Não foi possível iniciar a chamada no WhatsApp.", + "VOICE_CALL": "Iniciar chamada", + "VOICE_CALL_FAILED": "Não foi possível iniciar a chamada.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Solicitação de permissão de chamada enviada ao contato. Tente novamente após a aceitação.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Uma solicitação de permissão de chamada já foi enviada recentemente. Tente novamente após o contato aceitar.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Gravar áudio", "TIP_AUDIORECORDER_PERMISSION": "Permitir acesso ao áudio", "TIP_AUDIORECORDER_ERROR": "Não foi possível abrir o áudio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Arraste e solte aqui para anexar", "START_AUDIO_RECORDING": "Iniciar gravação de áudio", "STOP_AUDIO_RECORDING": "Parar gravação de áudio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Ainda não respondido", "HANDLED_IN_ANOTHER_TAB": "Sendo atendida em outra aba", "REJECT_CALL": "Recusar", + "DISMISS_CALL": "Recusar", "JOIN_CALL": "Entrar na chamada", - "END_CALL": "Encerrar chamada" + "END_CALL": "Encerrar chamada", + "MUTE": "Silenciar microfone", + "UNMUTE": "Desilenciar microfone", + "VIEW_CHAT_HISTORY": "Ver histórico da conversa", + "GO_TO_CONVERSATION": "Ir para a conversa" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json index 6448cf209b5..558651b9f7b 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Rascunho", "ARCHIVE": "Arquivar", "TRANSLATE": "Traduzir", + "MOVE_TO_CATEGORY": "Categoria", "DELETE": "Excluir", "STATUS_SUCCESS": "Artigos atualizados com sucesso", "STATUS_ERROR": "Falha ao atualizar artigos", + "CATEGORY_SUCCESS": "Artigos movidos com sucesso", + "CATEGORY_ERROR": "Falha ao mover artigos", "DELETE_CONFIRM_TITLE": "Excluir artigo | Excluir {count} artigos", "DELETE_CONFIRM_DESCRIPTION": "Isto irá apagar o artigo selecionado permanentemente. Esta ação não pode ser desfeita. | Isso irá apagar permanentemente {count} artigos selecionados. Esta ação não pode ser desfeita.", "DELETE_CONFIRM": "Excluir", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Alterar configuração" }, + "LAYOUT_CONTENT": { + "HEADER": "Tema", + "DESCRIPTION": "Escolha o leiaute adequado à leitura de seus visitantes.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Clássico", + "DESCRIPTION": "Uma página inicial acolhedora com busca e tópicos em destaque." + }, + "SIDEBAR": { + "TITLE": "Documentação", + "DESCRIPTION": "Navegação lado a lado que mantém todos os guias a um clique de distância." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Links sociais", + "DESCRIPTION": "Adicione o identificador de cada rede e sua central de ajuda criará o link completo automaticamente. Exibido no rodapé do leiaute da documentação.", + "PLACEHOLDER": "@usuario", + "ADD": "Adicionar link social", + "REMOVE": "Excluir" + }, + "SAVE": "Salvar Alterações" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal criado com sucesso", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json index d8ab81b0c7f..4331fade0cd 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Autenticando com Meta", "WAITING_FOR_BUSINESS_INFO": "Por favor, complete a configuração do negócio na janela da Meta...", "PROCESSING": "Configurando sua conta do WhatsApp Business", + "ENABLING_CALLING": "Ativando chamadas do WhatsApp no seu número…", "LOADING_SDK": "Carregando SDK do Facebook...", "CANCELLED": "O cadastro do WhatsApp foi cancelado", "SUCCESS_TITLE": "Conta do WhatsApp Business conectada!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Autenticação não concluída. Por favor, reinicie o processo.", "SUCCESS_FALLBACK": "A conta do WhatsApp Business foi configurada com sucesso", "MANUAL_FALLBACK": "Se o seu número já estiver conectado à Plataforma WhatsApp Business (API) ou se você for um provedor de tecnologia integrando o seu próprio número, use o fluxo de {link}", - "MANUAL_LINK_TEXT": "fluxo de configuração manual" + "MANUAL_LINK_TEXT": "fluxo de configuração manual", + "CALLING_ENABLE_FAILED": "Sua caixa de entrada do WhatsApp está pronta, mas as chamadas de voz não puderam ser ativadas — este número ainda não está cadastrado na API de Chamadas do WhatsApp Business. Entre em contato com a Meta ou com seu provedor de soluções WhatsApp Business para realizar o cadastro e, depois, ative as chamadas nas configurações de Chamadas da caixa de entrada." }, "API": { "ERROR_MESSAGE": "Não foi possível salvar o canal do WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Atenda seus clientes no WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "Chamada do WhatsApp", + "DESCRIPTION": "Receba chamadas de voz no seu número do WhatsApp" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Conectar com Gmail, Outlook ou outros provedores" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configuração do Bot", "ACCOUNT_HEALTH": "Saúde da conta", "CSAT": "CSAT", - "VOICE": "Voz" + "VOICE": "Voz", + "CALLS": "Chamadas" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Chamada de voz requer credenciais de chave da API Twilio. Elas são usadas para gerar tokens para conexões de voz do agente." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Ativar chamadas do WhatsApp", + "DESCRIPTION": "Permita que os atendentes recebam e realizem chamadas do WhatsApp Cloud nesta caixa de entrada. Os clientes poderão ligar diretamente para este número comercial pelo WhatsApp." + }, + "ENABLE_FAILED": "As chamadas de voz não puderam ser ativadas para este número — ele ainda não está cadastrado na API de Chamadas do WhatsApp Business. Entre em contato com a Meta ou com seu provedor de soluções WhatsApp Business para realizar o cadastro e tente novamente depois.", + "PHONE_NUMBER": { + "LABEL": "Número de telefone comercial", + "HELP_TEXT": "Número do WhatsApp para o qual os clientes poderão ligar." + }, + "HOW_IT_WORKS": { + "LABEL": "Como funciona", + "DESCRIPTION": "As chamadas são realizadas ponto a ponto entre o navegador do atendente e a Meta — nenhuma credencial adicional é necessária. Certifique-se de que o navegador do atendente tenha permissão para usar o microfone neste site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Mensagem de solicitação de permissão de chamada", + "HELP_TEXT": "Exibido ao contato quando ele ainda não consentiu em receber chamadas. Deixe em branco para usar a mensagem padrão.", + "PLACEHOLDER": "Gostaríamos de ligar para você em relação à sua conversa." + } + }, "CHANNEL_PREFERENCES": "Preferências do Canal", "WIDGET_FEATURES": "Recursos do widget", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Sincronize manualmente os modelos de mensagens do WhatsApp para atualizar seus modelos disponíveis.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sincronizar Modelos", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Sincronização de modelos iniciada com sucesso. Pode demorar alguns minutos para atualizar.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Ativar chamadas de voz", + "DESCRIPTION": "Permita que os atendentes iniciem e recebam chamadas de voz do WhatsApp nesta caixa de entrada. Disponível apenas para canais do WhatsApp Cloud com cadastro incorporado e permissão de chamadas concedida pela Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Atualizar configurações do Formulário Pre Chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json index a42b3be4fef..6fb63c738fd 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrationApps.json @@ -46,7 +46,7 @@ "PLACEHOLDER": "Selecionar caixa de entrada" }, "SUBMIT": "Criar", - "VALIDATING_OPENAI": "Validating with OpenAI...", + "VALIDATING_OPENAI": "Validando com a OpenAI...", "CANCEL": "Cancelar" }, "API": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json index b08d05c5a8e..900c4cce338 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contato criado", "CONTACT_UPDATED": "Contato atualizado", "CONVERSATION_TYPING_ON": "Status de Digitação ativado", - "CONVERSATION_TYPING_OFF": "Status de Digitação desativado" + "CONVERSATION_TYPING_OFF": "Status de Digitação desativado", + "INBOX_UPDATED": "Caixa de entrada atualizada" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ro/bulkActions.json b/app/javascript/dashboard/i18n/locale/ro/bulkActions.json index 396b5b5b058..c4d2d45f3f9 100644 --- a/app/javascript/dashboard/i18n/locale/ro/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ro/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversații selectate", - "AGENT_SELECT_LABEL": "Selectați agentul", - "ASSIGN_CONFIRMATION_LABEL": "Sigur doriți să atribuiți {conversationCount} {conversationLabel} la", - "UNASSIGN_CONFIRMATION_LABEL": "Sigur doriți să anulați atribuirea a {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Mergeți înapoi", - "ASSIGN_LABEL": "Atribuiți", "NONE": "Nimic", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversațiile au fost rezolvate.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversațiile vizibile pe această pagină sunt doar selectate.", - "AGENT_LIST_LOADING": "Se încarcă agenții", "UPDATE": { "CHANGE_STATUS": "Schimbați statusul", "SNOOZE_UNTIL": "Amânați", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Nu s-au găsit etichete", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Atribuiți etichetele selectate", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etichete atribuite cu succes.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Selectați echipa", "NONE": "Nimic", - "NO_TEAMS_AVAILABLE": "Nu există încă echipe adăugate la acest cont.", - "ASSIGN_SELECTED_TEAMS": "Atribuirea echipei selectate.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ro/campaign.json b/app/javascript/dashboard/i18n/locale/ro/campaign.json index 0508e042b3f..09111f1fe70 100644 --- a/app/javascript/dashboard/i18n/locale/ro/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ro/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Finalizată", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Finalizată", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ro/components.json b/app/javascript/dashboard/i18n/locale/ro/components.json index 324ee7cfc7b..13bfe193079 100644 --- a/app/javascript/dashboard/i18n/locale/ro/components.json +++ b/app/javascript/dashboard/i18n/locale/ro/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json index 4c2c842b6c3..5ceb50f2606 100644 --- a/app/javascript/dashboard/i18n/locale/ro/contact.json +++ b/app/javascript/dashboard/i18n/locale/ro/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Atribuiți etichete", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etichete atribuite cu succes.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json index ac6def97ce6..a2679e6acc2 100644 --- a/app/javascript/dashboard/i18n/locale/ro/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mesaj şters cu succes", "FAIL_DELETE_MESSSAGE": "Mesajul nu a putut fi șters! Încercați din nou", "NO_RESPONSE": "Niciun răspuns", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Rezolvă", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Amânat până mâine", "SNOOZED_UNTIL_NEXT_WEEK": "Amânat până săptămâna viitoare", "SNOOZED_UNTIL_NEXT_REPLY": "Amânat până la următorul răspuns", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Înregistrare audio", "TIP_AUDIORECORDER_PERMISSION": "Permiteți accesul la audio", "TIP_AUDIORECORDER_ERROR": "Nu s-a putut deschide audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Trageți și plasați aici pentru atașare", "START_AUDIO_RECORDING": "Pornirea înregistrării audio", "STOP_AUDIO_RECORDING": "Mesaj audio", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json index 85771bfb674..a2f04e3d6d1 100644 --- a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Ciornă", "ARCHIVE": "Archive", "TRANSLATE": "Traduceți", + "MOVE_TO_CATEGORY": "Categorie", "DELETE": "Şterge", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Şterge", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Elimină" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portalul a fost creat", diff --git a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json index 94a6ab81277..4919eb39888 100644 --- a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nu am reușit să salvăm canalul WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-mail", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Configurarea botului", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Actualizarea setărilor formularului pre-chat" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ro/integrations.json b/app/javascript/dashboard/i18n/locale/ro/integrations.json index c1426486d8a..c74eddd3031 100644 --- a/app/javascript/dashboard/i18n/locale/ro/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ro/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Persoană de contact creată", "CONTACT_UPDATED": "Persoană de contact actualizată", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ru/bulkActions.json b/app/javascript/dashboard/i18n/locale/ru/bulkActions.json index da44dc3a000..cf105278cb0 100644 --- a/app/javascript/dashboard/i18n/locale/ru/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ru/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} бесед выбрано", - "AGENT_SELECT_LABEL": "Выбрать агента", - "ASSIGN_CONFIRMATION_LABEL": "Вы уверены, что хотите назначить {conversationCount} {conversationLabel}", - "UNASSIGN_CONFIRMATION_LABEL": "Вы уверены, что хотите отменить назначение {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Вернуться", - "ASSIGN_LABEL": "Назначить", "NONE": "Ничего", "CLEAR_SELECTION": "Сбросить", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Вы уверены, что вы хотите назначить разговор {n} для {agentName}? | Вы уверены, что хотите назначить {n} разговоры {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Беседы успешно завершены.", "RESOLVE_FAILED": "Не удалось завершить диалоги, попробуйте еще раз.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Выбраны только беседы, видимые на этой странице.", - "AGENT_LIST_LOADING": "Загрузка агентов", "UPDATE": { "CHANGE_STATUS": "Изменить статус", "SNOOZE_UNTIL": "Отложено", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Назначить метки", - "NO_LABELS_FOUND": "Метки не найдены", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Назначить выбранные метки", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Метки успешно назначены.", - "ASSIGN_FAILED": "Не удалось назначить метки, пожалуйста, попробуйте снова." + "ASSIGN_FAILED": "Не удалось назначить метки, пожалуйста, попробуйте снова.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Выберите команду", "NONE": "Ничего", - "NO_TEAMS_AVAILABLE": "Нет команд, добавленных в этот аккаунт.", - "ASSIGN_SELECTED_TEAMS": "Назначить выбранную команду.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Вы уверены, что вы хотите назначить разговор {n} для {teamName}? | Вы уверены, что хотите назначить {n} разговоры {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Вы уверены, что хотите отменить назначение разговора {n}? | Вы уверены, что хотите отменить назначение разговоров {n}?", "ASSIGN_SUCCESFUL": "Команды успешно назначены.", diff --git a/app/javascript/dashboard/i18n/locale/ru/campaign.json b/app/javascript/dashboard/i18n/locale/ru/campaign.json index 68671933d4e..4d76c5abc6c 100644 --- a/app/javascript/dashboard/i18n/locale/ru/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ru/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Обрабатывается", "COMPLETED": "Выполнено", "SCHEDULED": "Запланировано" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Обрабатывается", "COMPLETED": "Выполнено", "SCHEDULED": "Запланировано" }, diff --git a/app/javascript/dashboard/i18n/locale/ru/components.json b/app/javascript/dashboard/i18n/locale/ru/components.json index e6970f6ba9c..398276901ce 100644 --- a/app/javascript/dashboard/i18n/locale/ru/components.json +++ b/app/javascript/dashboard/i18n/locale/ru/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json index 10c51cf9859..49645ea4b23 100644 --- a/app/javascript/dashboard/i18n/locale/ru/contact.json +++ b/app/javascript/dashboard/i18n/locale/ru/contact.json @@ -20,6 +20,8 @@ "CALL": "Вызов", "CALL_INITIATED": "Вызов контакта…", "CALL_FAILED": "Не удалось начать вызов. Повторите попытку.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Выберите голосовую почту" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Назначить метки", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Метки успешно назначены.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "Выбрано {count}", diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json index 88faa987072..a868b746d36 100644 --- a/app/javascript/dashboard/i18n/locale/ru/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении Facebook Messenger.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "Это сообщение не поддерживается. Вы можете просмотреть это сообщение в приложении TikTok.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Сообщение успешно удалено", "FAIL_DELETE_MESSSAGE": "Не удалось удалить сообщение! Попробуйте еще раз", "NO_RESPONSE": "Нет ответа", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Исходящий звонок", "CALL_IN_PROGRESS": "Идёт звонок", "NO_ANSWER": "Нет ответа", + "NO_ANSWER_OUTBOUND_LABEL": "Нет ответа", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Контакт не взял трубку", "MISSED_CALL": "Пропущенный звонок", + "MISSED_CALL_INBOUND_SUBTEXT": "Агенты не взяли трубку", + "MISSED_CALL_DECLINED_BY": "Агент {agentName} отменил звонок", "CALL_ENDED": "Звонок завершен", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Пока нет ответа", + "CALLING": "Звонок…", "THEY_ANSWERED": "Они ответили", "YOU_ANSWERED": "Вы ответили", "AGENT_ANSWERED": "{agentName} ответил", - "JOIN_CALL": "Присоединиться к звонку" + "JOIN_CALL": "Присоединиться к звонку", + "CALL_BACK": "Перезвонить", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Показать меньше" }, "HEADER": { "RESOLVE_ACTION": "Завершить", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Отложено до завтра", "SNOOZED_UNTIL_NEXT_WEEK": "Отложено до следующей недели", "SNOOZED_UNTIL_NEXT_REPLY": "Отложить до следующего ответа", + "WHATSAPP_CALL": "Начать звонок WhatsApp", + "WHATSAPP_CALL_FAILED": "Не удалось начать вызов Whatsapp.", + "VOICE_CALL": "Начать звонок", + "VOICE_CALL_FAILED": "Не получается начать звонок.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Запросите разрешение на звонок у контакта. Попробуйте снова после получения разрешения.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Запросите разрешение на звонок у контакта. Попробуйте снова после получения разрешения.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Записать аудио", "TIP_AUDIORECORDER_PERMISSION": "Разрешить доступ к аудио", "TIP_AUDIORECORDER_ERROR": "Не удалось открыть аудио", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Перетащите сюда, чтобы прикрепить", "START_AUDIO_RECORDING": "Начать запись аудио", "STOP_AUDIO_RECORDING": "Остановить запись аудио", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Пока нет ответа", "HANDLED_IN_ANOTHER_TAB": "Обрабатывается в другой вкладке", "REJECT_CALL": "Отклонить", + "DISMISS_CALL": "Отклонить", "JOIN_CALL": "Присоединиться к звонку", - "END_CALL": "Завершить звонок" + "END_CALL": "Завершить звонок", + "MUTE": "Выключить микрофон", + "UNMUTE": "Включить микрофон", + "VIEW_CHAT_HISTORY": "Посмотреть историю чата", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json index 34fffd4a75c..25f82d516cc 100644 --- a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Черновик", "ARCHIVE": "Архив", "TRANSLATE": "Перевести", + "MOVE_TO_CATEGORY": "Категория", "DELETE": "Удалить", "STATUS_SUCCESS": "Статьи успешно обновлены", "STATUS_ERROR": "Ошибка обновления статей", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Удаление статьи | Удалить статьи {count}", "DELETE_CONFIRM_DESCRIPTION": "Это действие будет окончательно удалено выбранной статьи. Это действие не может быть отменено. | Это действие будет окончательно удалено {count} выбранных статей. Это действие нельзя отменить.", "DELETE_CONFIRM": "Удалить", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Изменить конфигурацию" }, + "LAYOUT_CONTENT": { + "HEADER": "Образец", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Удалить" + }, + "SAVE": "Сохранить изменения" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Портал создан успешно", diff --git a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json index 2aede55eab4..0f10f4684e7 100644 --- a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Аутентификация с помощью Meta", "WAITING_FOR_BUSINESS_INFO": "Пожалуйста, завершите настройку бизнеса в окне Meta...", "PROCESSING": "Настройте свой WhatsApp Business аккаунт", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Загрузка Facebook SDK...", "CANCELLED": "Регистрация WhatsApp была отменена", "SUCCESS_TITLE": "Аккаунт WhatsApp Business был подключен!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Аутентификация не завершена. Пожалуйста, перезапустите процесс.", "SUCCESS_FALLBACK": "Аккаунт WhatsApp Business был успешно настроен", "MANUAL_FALLBACK": "Если ваш номер уже подключен к WhatsApp Business Platform (API), или, если вы используете технологический провайдер, используйте ссылку {link} ", - "MANUAL_LINK_TEXT": "для ручной настройки" + "MANUAL_LINK_TEXT": "для ручной настройки", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Не удалось сохранить канал WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Поддержка ваших клиентов через WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp звонок", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Подключить Gmail, Outlook, или других провайдеров" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Конфигурация бота", "ACCOUNT_HEALTH": "Здоровье аккаунта", "CSAT": "CSAT", - "VOICE": "Голосовая связь" + "VOICE": "Голосовая связь", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Голосовой вызов требует учетные данные Twilio API Key. Они используются для генерации токенов для голосовых подключений агентов." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "Мы хотели бы позвонить Вам по поводу Вашего разговора." + } + }, "CHANNEL_PREFERENCES": "Настройки канала", "WIDGET_FEATURES": "Функции виджета", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Вручную синхронизируйте шаблоны сообщений из WhatsApp, чтобы обновить доступные шаблоны.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Синхронизировать шаблоны", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Синхронизация шаблонов успешно запущена. Обновление может занять несколько минут.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Обновить настройки формы для чата" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ru/integrations.json b/app/javascript/dashboard/i18n/locale/ru/integrations.json index 297b8745320..c58f87d1c06 100644 --- a/app/javascript/dashboard/i18n/locale/ru/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ru/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Контакт создан", "CONTACT_UPDATED": "Контакт обновлен", "CONVERSATION_TYPING_ON": "Печатание во время разговора включено", - "CONVERSATION_TYPING_OFF": "Печатание во время разговора выключено" + "CONVERSATION_TYPING_OFF": "Печатание во время разговора выключено", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sh/bulkActions.json b/app/javascript/dashboard/i18n/locale/sh/bulkActions.json index 58bac30cb36..35d913852ef 100644 --- a/app/javascript/dashboard/i18n/locale/sh/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sh/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "Nijedan", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sh/campaign.json b/app/javascript/dashboard/i18n/locale/sh/campaign.json index 10366e79e8b..78db922d1c5 100644 --- a/app/javascript/dashboard/i18n/locale/sh/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sh/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sh/components.json b/app/javascript/dashboard/i18n/locale/sh/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/sh/components.json +++ b/app/javascript/dashboard/i18n/locale/sh/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sh/contact.json b/app/javascript/dashboard/i18n/locale/sh/contact.json index aedc7728c40..79bd872b99d 100644 --- a/app/javascript/dashboard/i18n/locale/sh/contact.json +++ b/app/javascript/dashboard/i18n/locale/sh/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/sh/conversation.json b/app/javascript/dashboard/i18n/locale/sh/conversation.json index 3d4f2573b04..0fdac9cd5f1 100644 --- a/app/javascript/dashboard/i18n/locale/sh/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sh/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Poruka uspešno obrisana", "FAIL_DELETE_MESSSAGE": "Nije moguće obrisati poruku! Pokušajte ponovo", "NO_RESPONSE": "Nema odgovora", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Reši", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Odloženo do sutra", "SNOOZED_UNTIL_NEXT_WEEK": "Odloženo do sledeće nedelje", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Prevucite ovde za dodavanje", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json index e555aac6982..2afac34aabb 100644 --- a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Nacrt", "ARCHIVE": "Arhiviraj", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Ukloni" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json index c4c5cc769f6..bdee453dc47 100644 --- a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Autentifikacija s Meta", "WAITING_FOR_BUSINESS_INFO": "Molimo dovršite postavljanje poslovanja u Meta prozoru...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Autentifikacija nije dovršena. Molimo ponovno pokrenite proces.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "postupak ručne postavke" + "MANUAL_LINK_TEXT": "postupak ručne postavke", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-pošta", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Konfiguracija bota", "ACCOUNT_HEALTH": "Zdravlje računa", "CSAT": "CSAT", - "VOICE": "Glas" + "VOICE": "Glas", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Postavke kanala", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sh/integrations.json b/app/javascript/dashboard/i18n/locale/sh/integrations.json index d8fe9fa2f60..788ef8e5aab 100644 --- a/app/javascript/dashboard/i18n/locale/sh/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sh/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakt kreiran", "CONTACT_UPDATED": "Kontakt ažuriran", "CONVERSATION_TYPING_ON": "Tipkanje u razgovoru uključeno", - "CONVERSATION_TYPING_OFF": "Tipkanje u razgovoru isključeno" + "CONVERSATION_TYPING_OFF": "Tipkanje u razgovoru isključeno", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sk/bulkActions.json b/app/javascript/dashboard/i18n/locale/sk/bulkActions.json index 45e2b9fc251..d181aa2fc57 100644 --- a/app/javascript/dashboard/i18n/locale/sk/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sk/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Vybrať agenta", - "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", "NONE": "Žiadne", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Žiadne označenia neboli nájdené", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Vybrať tím", "NONE": "Žiadne", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sk/campaign.json b/app/javascript/dashboard/i18n/locale/sk/campaign.json index 93742a3c672..de2ec67dd1a 100644 --- a/app/javascript/dashboard/i18n/locale/sk/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sk/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sk/components.json b/app/javascript/dashboard/i18n/locale/sk/components.json index 1e6f15a8fe9..745fbcc134a 100644 --- a/app/javascript/dashboard/i18n/locale/sk/components.json +++ b/app/javascript/dashboard/i18n/locale/sk/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json index d2cbf5d422e..b8efbaaca27 100644 --- a/app/javascript/dashboard/i18n/locale/sk/contact.json +++ b/app/javascript/dashboard/i18n/locale/sk/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json index 8607defca5f..8010f662d54 100644 --- a/app/javascript/dashboard/i18n/locale/sk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Správa bola úspešne odstránená", "FAIL_DELETE_MESSSAGE": "Správu sa nepodarilo vymazať! Skúste to znova", "NO_RESPONSE": "Žiadna odpoveď", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Vyriešiť", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Odložené do zajtra", "SNOOZED_UNTIL_NEXT_WEEK": "Odložené do ďalšieho týždňa", "SNOOZED_UNTIL_NEXT_REPLY": "Odložené do ďalšej odpovede", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Potiahnite sem na pripojenie", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json index add2d5e4880..b2a0d3f9b41 100644 --- a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Vymazať", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Vymazať", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Remove" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json index 6bedff0ac1f..9c13e290321 100644 --- a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sk/integrations.json b/app/javascript/dashboard/i18n/locale/sk/integrations.json index 20e07960d44..23f8b1acff6 100644 --- a/app/javascript/dashboard/i18n/locale/sk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sk/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sl/bulkActions.json b/app/javascript/dashboard/i18n/locale/sl/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/sl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sl/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sl/campaign.json b/app/javascript/dashboard/i18n/locale/sl/campaign.json index 3c1294a862a..cc14ec839ec 100644 --- a/app/javascript/dashboard/i18n/locale/sl/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sl/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Obdelava", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Obdelava", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sl/components.json b/app/javascript/dashboard/i18n/locale/sl/components.json index e330bd3285e..3f07c73f59b 100644 --- a/app/javascript/dashboard/i18n/locale/sl/components.json +++ b/app/javascript/dashboard/i18n/locale/sl/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sl/contact.json b/app/javascript/dashboard/i18n/locale/sl/contact.json index 63b9a388aca..268130bc376 100644 --- a/app/javascript/dashboard/i18n/locale/sl/contact.json +++ b/app/javascript/dashboard/i18n/locale/sl/contact.json @@ -20,6 +20,8 @@ "CALL": "Pokliči", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Klica ni bilo mogoče začeti. Poskusite znova.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Izberi glasovni predal" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Dodeli oznake", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Oznake so bile uspešno dodeljene.", "ASSIGN_LABELS_FAILED": "Dodeljevanje oznak ni uspelo", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Izberite oznake, ki jih želite dodati izbranim stikom.", "NO_LABELS_FOUND": "Še ni na voljo nobenih oznak.", "SELECTED_COUNT": "{count} izbranih", diff --git a/app/javascript/dashboard/i18n/locale/sl/conversation.json b/app/javascript/dashboard/i18n/locale/sl/conversation.json index 31c410270a4..ee8ab91169b 100644 --- a/app/javascript/dashboard/i18n/locale/sl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sl/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json index b32e9e99d71..61e1b5ba205 100644 --- a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Osnutek", "ARCHIVE": "Arhiviraj", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Kategorija", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Uredi konfiguracijo" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Odstrani" + }, + "SAVE": "Shrani spremembe" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal je bil uspešno ustvarjen", diff --git a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json index 4285f543dfe..9b5579c29d9 100644 --- a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Avtorizacija pri Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Nastavljam vaš WhatsApp poslovni račun", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "Registracija WhatsApp je bila preklicana", "SUCCESS_TITLE": "Poslovni račun WhatsApp je povezan!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "Če je vaša številka že povezana s platformo WhatsApp Business (API), ali če ste tehnični ponudnik, ki vključuje svojo številko, uporabite {link} postopek", - "MANUAL_LINK_TEXT": "ročni postopek nastavitve" + "MANUAL_LINK_TEXT": "ročni postopek nastavitve", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nismo mogli shraniti WhatsApp kanala" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Podprite svoje stranke na WhatsAppu" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-pošta", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Zdravje računa", "CSAT": "CSAT", - "VOICE": "Glas" + "VOICE": "Glas", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Nastavitve kanala", "WIDGET_FEATURES": "Funkcije pripomočka", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Ročno sinhronizirajte predloge sporočil iz WhatsApp, da posodobite razpoložljive predloge.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sinhroniziraj predloge", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Sinhronizacija predlog uspešno začeta. Posodobitev lahko traja nekaj minut.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Posodobi nastavitve obrazca pred klepetom" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sl/integrations.json b/app/javascript/dashboard/i18n/locale/sl/integrations.json index 5f43707c260..24586092094 100644 --- a/app/javascript/dashboard/i18n/locale/sl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sl/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakt ustvarjen", "CONTACT_UPDATED": "Kontakt posodobljen", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sq/bulkActions.json b/app/javascript/dashboard/i18n/locale/sq/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/sq/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sq/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sq/campaign.json b/app/javascript/dashboard/i18n/locale/sq/campaign.json index d4785a15e42..f975f37a3ff 100644 --- a/app/javascript/dashboard/i18n/locale/sq/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sq/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Në përpunim", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Në përpunim", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sq/components.json b/app/javascript/dashboard/i18n/locale/sq/components.json index 2ca971a953a..e34fb408a6f 100644 --- a/app/javascript/dashboard/i18n/locale/sq/components.json +++ b/app/javascript/dashboard/i18n/locale/sq/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sq/contact.json b/app/javascript/dashboard/i18n/locale/sq/contact.json index 97ca50b7531..521d6967240 100644 --- a/app/javascript/dashboard/i18n/locale/sq/contact.json +++ b/app/javascript/dashboard/i18n/locale/sq/contact.json @@ -20,6 +20,8 @@ "CALL": "Telefono", "CALL_INITIATED": "Duke thirrur kontaktin…", "CALL_FAILED": "Nuk mund të fillohet thirrja. Ju lutemi provoni përsëri.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Zgjidhni një inbox të zërit" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Cakto Etiketa", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiketat u caktuan me sukses.", "ASSIGN_LABELS_FAILED": "Dështoi caktimi i etiketave", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Zgjidhni etiketat që dëshironi të shtoni te kontaktet e zgjedhura.", "NO_LABELS_FOUND": "Nuk ka etiketa të disponueshme ende.", "SELECTED_COUNT": "{count} i/e zgjedhur", diff --git a/app/javascript/dashboard/i18n/locale/sq/conversation.json b/app/javascript/dashboard/i18n/locale/sq/conversation.json index 8c9d27da0c6..593b6413b05 100644 --- a/app/javascript/dashboard/i18n/locale/sq/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sq/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Zgjidh", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json index 28dc8b14157..507ee7945b6 100644 --- a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Arkivo", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Ndrysho konfigurimin" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Hiq" + }, + "SAVE": "Ruaj ndryshimet" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portali u krijua me sukses", diff --git a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json index d460526c315..d28896636b3 100644 --- a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Ju lutem përfundoni konfigurimin e biznesit në dritaren Meta...", "PROCESSING": "Po konfigurohet llogaria juaj e biznesit në WhatsApp", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "procesi i konfigurimit manual" + "MANUAL_LINK_TEXT": "procesi i konfigurimit manual", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Konfigurimi i Botit", "ACCOUNT_HEALTH": "Shëndeti i Llogarisë", "CSAT": "CSAT", - "VOICE": "Zë" + "VOICE": "Zë", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Preferencat e kanalit", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sinkronizo shabllonet", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Sinkronizimi i modeleve u nis me sukses. Mund të duhen disa minuta për t'u përditësuar.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Përditëso Cilësimet e Formularit Para Bisedës" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sq/integrations.json b/app/javascript/dashboard/i18n/locale/sq/integrations.json index 0140c428b05..21eac53009c 100644 --- a/app/javascript/dashboard/i18n/locale/sq/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sq/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kontakti u krijua", "CONTACT_UPDATED": "Kontakti u përditësua", "CONVERSATION_TYPING_ON": "Shkrimi në bisedë aktiv", - "CONVERSATION_TYPING_OFF": "Shkrimi në bisedë i çaktivizuar" + "CONVERSATION_TYPING_OFF": "Shkrimi në bisedë i çaktivizuar", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sr/bulkActions.json b/app/javascript/dashboard/i18n/locale/sr/bulkActions.json index 216988dd9fa..2d07d490f32 100644 --- a/app/javascript/dashboard/i18n/locale/sr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sr/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} razgovora je izabrano", - "AGENT_SELECT_LABEL": "Izaberite agenta", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Povratak", - "ASSIGN_LABEL": "Dodeli", "NONE": "Niko", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Razgovor je uspešno rešen.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Jedino razgovori na ovoj stranici su izabrani.", - "AGENT_LIST_LOADING": "Učitavanje agenata", "UPDATE": { "CHANGE_STATUS": "Promeni status", "SNOOZE_UNTIL": "Odloži", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Oznake nisu pronađene", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Dodeli izabrane oznake", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Oznake su uspešno dodeljene.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Izaberite tim", "NONE": "Niko", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sr/campaign.json b/app/javascript/dashboard/i18n/locale/sr/campaign.json index 29771b645e0..f54200b25ba 100644 --- a/app/javascript/dashboard/i18n/locale/sr/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sr/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Završeno", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Završeno", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sr/components.json b/app/javascript/dashboard/i18n/locale/sr/components.json index 9d0c49978bf..e56bc100d51 100644 --- a/app/javascript/dashboard/i18n/locale/sr/components.json +++ b/app/javascript/dashboard/i18n/locale/sr/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sr/contact.json b/app/javascript/dashboard/i18n/locale/sr/contact.json index c07b3d0086f..734ee43a3c4 100644 --- a/app/javascript/dashboard/i18n/locale/sr/contact.json +++ b/app/javascript/dashboard/i18n/locale/sr/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Dodeli oznake", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Oznake su uspešno dodeljene.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/sr/conversation.json b/app/javascript/dashboard/i18n/locale/sr/conversation.json index 571b96db367..c1e8dc3b563 100644 --- a/app/javascript/dashboard/i18n/locale/sr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sr/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Poruka je uspešno obrisana", "FAIL_DELETE_MESSSAGE": "Nije bilo moguće obrisati poruku! Pokušajte ponovo", "NO_RESPONSE": "Nema odgovora", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Reši", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Odloženo do sutra", "SNOOZED_UNTIL_NEXT_WEEK": "Odloženo do sledeće nedelje", "SNOOZED_UNTIL_NEXT_REPLY": "Odloženo do sledećeg odgovora", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Snimi zvuk", "TIP_AUDIORECORDER_PERMISSION": "Dozvoli pristup zvuku", "TIP_AUDIORECORDER_ERROR": "Nije moguće pristupiti zvuku", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Prevuci i pusti za dodavanje", "START_AUDIO_RECORDING": "Pokreni snimanje zvuka", "STOP_AUDIO_RECORDING": "Zaustavi snimanje zvuka", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json index ccedf07f671..698732737b4 100644 --- a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Nacrt", "ARCHIVE": "Archive", "TRANSLATE": "Prevedi", + "MOVE_TO_CATEGORY": "Kategorija", "DELETE": "Izbriši", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Izbriši", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Ukloni" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal je uspešno napravljen", diff --git a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json index a237f2498fc..b0e2bb5b3e5 100644 --- a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Nisamo uspeli da sačuvamo WhatsApp kanal" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-pošta", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "Izveštaj o zadovoljstvu", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sr/integrations.json b/app/javascript/dashboard/i18n/locale/sr/integrations.json index 6578737084f..e6008c006f9 100644 --- a/app/javascript/dashboard/i18n/locale/sr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sr/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/sv/bulkActions.json b/app/javascript/dashboard/i18n/locale/sv/bulkActions.json index 96331b82148..871c0b15b1c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/sv/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Välj agent", - "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": "Tilldela", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Laddar agenter", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooza", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Inga etiketter hittades", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Välj team", "NONE": "Inget", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/sv/campaign.json b/app/javascript/dashboard/i18n/locale/sv/campaign.json index aee8889d389..6fa6f7da17a 100644 --- a/app/javascript/dashboard/i18n/locale/sv/campaign.json +++ b/app/javascript/dashboard/i18n/locale/sv/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/sv/components.json b/app/javascript/dashboard/i18n/locale/sv/components.json index b39180a8c41..3b1812c6501 100644 --- a/app/javascript/dashboard/i18n/locale/sv/components.json +++ b/app/javascript/dashboard/i18n/locale/sv/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json index 99e96c3cacd..0479bb741f0 100644 --- a/app/javascript/dashboard/i18n/locale/sv/contact.json +++ b/app/javascript/dashboard/i18n/locale/sv/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json index ff9b4684577..479b23707b3 100644 --- a/app/javascript/dashboard/i18n/locale/sv/conversation.json +++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Detta meddelande stöds inte. Du kan se detta meddelande på Facebook Messenger-appen.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Detta meddelande stöds inte. Du kan se detta meddelande på Instagram-appen.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Meddelandet har tagits bort", "FAIL_DELETE_MESSSAGE": "Det gick inte att ta bort meddelande! Försök igen", "NO_RESPONSE": "Inget svar", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Lös", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozad till imorgon", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozad till nästa vecka", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozad till nästa svar", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Spela in ljud", "TIP_AUDIORECORDER_PERMISSION": "Tillåt åtkomst till ljud", "TIP_AUDIORECORDER_ERROR": "Kunde inte öppna ljudet", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Dra och släpp hit för att bifoga", "START_AUDIO_RECORDING": "Starta ljudinspelning", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json index ff65f5e76c2..cd66d034223 100644 --- a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Radera", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Radera", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Radera" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json index 141d0840df5..c14066d02dd 100644 --- a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Vi kunde inte spara WhatsApp-kanalen" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-post", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json index 7a485324435..e3043a81fd5 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ta/bulkActions.json b/app/javascript/dashboard/i18n/locale/ta/bulkActions.json index cdea2cfd648..b81bb2d9f40 100644 --- a/app/javascript/dashboard/i18n/locale/ta/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ta/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ta/campaign.json b/app/javascript/dashboard/i18n/locale/ta/campaign.json index 98a6844f90e..e67aced19c0 100644 --- a/app/javascript/dashboard/i18n/locale/ta/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ta/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ta/components.json b/app/javascript/dashboard/i18n/locale/ta/components.json index 25fc68896ed..6cb105c2618 100644 --- a/app/javascript/dashboard/i18n/locale/ta/components.json +++ b/app/javascript/dashboard/i18n/locale/ta/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json index b94d18cee61..2521f0c046b 100644 --- a/app/javascript/dashboard/i18n/locale/ta/contact.json +++ b/app/javascript/dashboard/i18n/locale/ta/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json index 1a0061fbfe9..43c7937d0ba 100644 --- a/app/javascript/dashboard/i18n/locale/ta/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "தீர்", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json index 825348f9f5d..91537b04cef 100644 --- a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "நீக்கு" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json index ee4d87f6e45..c3fcf92efa4 100644 --- a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsApp சேனல் சேமிக்க முடியவில்லை" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "இமெயில்", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "பாட் அமைப்பு", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "முன் உரையாடல் படிவ அமைப்புகளை புதுப்பிக்கவும்" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ta/integrations.json b/app/javascript/dashboard/i18n/locale/ta/integrations.json index a5d2e51319b..33909fe595f 100644 --- a/app/javascript/dashboard/i18n/locale/ta/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ta/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "தொடர்பு உருவாக்கப்பட்டது", "CONTACT_UPDATED": "தொடர்பு புதுப்பிக்கப்பட்டது", "CONVERSATION_TYPING_ON": "உரையாடல் தட்டச்சு செய்கிறது", - "CONVERSATION_TYPING_OFF": "உரையாடல் தட்டச்சு நிறுத்தப்பட்டது" + "CONVERSATION_TYPING_OFF": "உரையாடல் தட்டச்சு நிறுத்தப்பட்டது", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/th/bulkActions.json b/app/javascript/dashboard/i18n/locale/th/bulkActions.json index 45ea549ad0f..b38995c021f 100644 --- a/app/javascript/dashboard/i18n/locale/th/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/th/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "เลือกพนักงาน", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "มอบหมาย", "NONE": "ไม่มี", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "ไม่พบหัวข้อ", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "เลือกทีม", "NONE": "ไม่มี", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/th/campaign.json b/app/javascript/dashboard/i18n/locale/th/campaign.json index 8f3156023cd..cdd373e50f0 100644 --- a/app/javascript/dashboard/i18n/locale/th/campaign.json +++ b/app/javascript/dashboard/i18n/locale/th/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "เสร็จสิ้น", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "เสร็จสิ้น", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/th/components.json b/app/javascript/dashboard/i18n/locale/th/components.json index 56ab9c8a82a..9676ff802eb 100644 --- a/app/javascript/dashboard/i18n/locale/th/components.json +++ b/app/javascript/dashboard/i18n/locale/th/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json index ddfe7705a5e..da9b4d48044 100644 --- a/app/javascript/dashboard/i18n/locale/th/contact.json +++ b/app/javascript/dashboard/i18n/locale/th/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json index 508b03c0413..e0bb4d12e45 100644 --- a/app/javascript/dashboard/i18n/locale/th/conversation.json +++ b/app/javascript/dashboard/i18n/locale/th/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "ลบข้อความสำเร็จเเล้ว", "FAIL_DELETE_MESSSAGE": "ไม่สามารถลบข้อความได้ โปรดลองใหม่อีกครั้ง", "NO_RESPONSE": "ไม่มีการตอบกลับ", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "เสร็จสิ้น", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "พักการสนทนาจนถึงพรุ่งนี้", "SNOOZED_UNTIL_NEXT_WEEK": "พักการสนทนาจนถึงสัปดาห์หน้า", "SNOOZED_UNTIL_NEXT_REPLY": "พักการสนทนาจนกว่าจะมีการตอบกลับถัดไป", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "บันทึกเสียง", "TIP_AUDIORECORDER_PERMISSION": "ให้สิทธิ์เข้าถึงการใช้งานเสียง", "TIP_AUDIORECORDER_ERROR": "ไม่สามารถเปิดการใช้งานเสียงได้", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "ลากเเละปล่อยที่นี่เพื่อเพิ่ม", "START_AUDIO_RECORDING": "เริ่มบันทึกเสียง", "STOP_AUDIO_RECORDING": "หยุดบันทึกเสียง", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/th/helpCenter.json b/app/javascript/dashboard/i18n/locale/th/helpCenter.json index 5d1004d821a..2a30dd9931a 100644 --- a/app/javascript/dashboard/i18n/locale/th/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/th/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "โครงร่าง", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "ลบ", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "ลบ", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "ลบรูปภาพ" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json index 20e77be9e3a..89660ba7883 100644 --- a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "เราไม่สามารถบันทึกช่องทาง WhatsApp ได้" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "อีเมล์", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/th/integrations.json b/app/javascript/dashboard/i18n/locale/th/integrations.json index 9ab2c2f21e2..ef4dd7a8c15 100644 --- a/app/javascript/dashboard/i18n/locale/th/integrations.json +++ b/app/javascript/dashboard/i18n/locale/th/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/tl/bulkActions.json b/app/javascript/dashboard/i18n/locale/tl/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/tl/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/tl/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/tl/campaign.json b/app/javascript/dashboard/i18n/locale/tl/campaign.json index 10366e79e8b..afbc9423d7c 100644 --- a/app/javascript/dashboard/i18n/locale/tl/campaign.json +++ b/app/javascript/dashboard/i18n/locale/tl/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Pinoproseso", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Pinoproseso", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/tl/components.json b/app/javascript/dashboard/i18n/locale/tl/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/tl/components.json +++ b/app/javascript/dashboard/i18n/locale/tl/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/tl/contact.json b/app/javascript/dashboard/i18n/locale/tl/contact.json index 59d189bdbbe..398a1e75190 100644 --- a/app/javascript/dashboard/i18n/locale/tl/contact.json +++ b/app/javascript/dashboard/i18n/locale/tl/contact.json @@ -20,6 +20,8 @@ "CALL": "Tawagan", "CALL_INITIATED": "Tinutawagan ang kontak…", "CALL_FAILED": "Hindi masimulan ang tawag. Pakisubukang muli.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Pumili ng voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Magtalaga ng mga label", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Matagumpay na naitalaga ang mga label.", "ASSIGN_LABELS_FAILED": "Nabigong italaga ang mga label", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Piliin ang mga label na nais mong idagdag sa mga napiling contact.", "NO_LABELS_FOUND": "Walang magagamit na mga label pa.", "SELECTED_COUNT": "{count} napili", diff --git a/app/javascript/dashboard/i18n/locale/tl/conversation.json b/app/javascript/dashboard/i18n/locale/tl/conversation.json index bce62180c1b..b8dd7852faa 100644 --- a/app/javascript/dashboard/i18n/locale/tl/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tl/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "Walang tugon", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Tapusin", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json index c0b43025f34..744e14c7042 100644 --- a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Burador", "ARCHIVE": "I-archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "I-edit ang configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Alisin" + }, + "SAVE": "I-save ang mga pagbabago" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Matagumpay na nalikha ang portal", diff --git a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json index 3c498193230..8cb35d098d6 100644 --- a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Nag-a-authenticate sa Meta", "WAITING_FOR_BUSINESS_INFO": "Pakipunan ang setup ng negosyo sa Meta window...", "PROCESSING": "Isinasagawa ang pagsasaayos ng iyong WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Naglo-load ng Facebook SDK...", "CANCELLED": "Kinansela ang WhatsApp Signup", "SUCCESS_TITLE": "Nakakonekta na ang WhatsApp Business Account!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Hindi natapos ang authentication. Pakisubukang muli ang proseso.", "SUCCESS_FALLBACK": "Matagumpay na na-configure ang WhatsApp Business Account", "MANUAL_FALLBACK": "Kung ang iyong numero ay konektado na sa WhatsApp Business Platform (API), o kung ikaw ay isang tech provider na nag-o-onboard ng sarili mong numero, mangyaring gamitin ang {link} flow", - "MANUAL_LINK_TEXT": "manwal na setup flow" + "MANUAL_LINK_TEXT": "manwal na setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Hindi namin naisave ang WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Suportahan ang iyong mga customer sa WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Ikonekta gamit ang Gmail, Outlook, o iba pang provider" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Pag-configure ng Bot", "ACCOUNT_HEALTH": "Kalusugan ng Account", "CSAT": "CSAT", - "VOICE": "Boses" + "VOICE": "Boses", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Mga Kagustuhan sa Channel", "WIDGET_FEATURES": "Mga tampok ng widget", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manu-manong i-sync ang mga message template mula sa WhatsApp upang i-update ang iyong mga available na template.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "I-sync ang Mga Template", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Matagumpay na sinimulan ang pag-sync ng mga template. Maaaring tumagal ng ilang minuto bago ma-update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "I-update ang Mga Setting ng Pre Chat Form" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/tl/integrations.json b/app/javascript/dashboard/i18n/locale/tl/integrations.json index a65d144d60d..1306dd92329 100644 --- a/app/javascript/dashboard/i18n/locale/tl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tl/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Nalikha ang kontak", "CONTACT_UPDATED": "Na-update ang contact", "CONVERSATION_TYPING_ON": "Nagsusulat sa Pag-uusap On", - "CONVERSATION_TYPING_OFF": "Nagsusulat sa Pag-uusap Off" + "CONVERSATION_TYPING_OFF": "Nagsusulat sa Pag-uusap Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/tr/bulkActions.json b/app/javascript/dashboard/i18n/locale/tr/bulkActions.json index 9c63f1b8a9d..3b8d4ad7afb 100644 --- a/app/javascript/dashboard/i18n/locale/tr/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/tr/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} konuşma seçildi", - "AGENT_SELECT_LABEL": "Temsilci seçin", - "ASSIGN_CONFIRMATION_LABEL": "{conversationCount} {conversationLabel} atanacak. Emin misiniz?", - "UNASSIGN_CONFIRMATION_LABEL": "{conversationCount} {conversationLabel} atanmamış yapılacak. Emin misiniz?", - "GO_BACK_LABEL": "Geri git", - "ASSIGN_LABEL": "Atama yap", "NONE": "Hiç", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Görüşmeler başarıyla çözüldü.", "RESOLVE_FAILED": "Görüşmeler çözülürken bir hata oluştu. Lütfen tekrar deneyin.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Bu sayfada yalnızca seçili konuşmalar gösterilmektedir.", - "AGENT_LIST_LOADING": "Temsilciler Yükleniyor", "UPDATE": { "CHANGE_STATUS": "Durumu değiştir", "SNOOZE_UNTIL": "Sustur", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Etiket atama", - "NO_LABELS_FOUND": "Etiket bulunamadı", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Seçili etiketleri atama", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Etiketler başarıyla atandı.", - "ASSIGN_FAILED": "Etiketler atanırken bir hata oluştu. Lütfen tekrar deneyin." + "ASSIGN_FAILED": "Etiketler atanırken bir hata oluştu. Lütfen tekrar deneyin.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Takım seçin", "NONE": "Hiçbiri", - "NO_TEAMS_AVAILABLE": "Bu hesaba henüz eklenmiş takımlar yok.", - "ASSIGN_SELECTED_TEAMS": "Seçili takımları atama", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/tr/campaign.json b/app/javascript/dashboard/i18n/locale/tr/campaign.json index 58f9100e657..2e52a88a3de 100644 --- a/app/javascript/dashboard/i18n/locale/tr/campaign.json +++ b/app/javascript/dashboard/i18n/locale/tr/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "İşleniyor", "COMPLETED": "Tamamlandı", "SCHEDULED": "Planlanmış" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "İşleniyor", "COMPLETED": "Tamamlandı", "SCHEDULED": "Planlanmış" }, diff --git a/app/javascript/dashboard/i18n/locale/tr/components.json b/app/javascript/dashboard/i18n/locale/tr/components.json index f9fcb568074..ff66b351b06 100644 --- a/app/javascript/dashboard/i18n/locale/tr/components.json +++ b/app/javascript/dashboard/i18n/locale/tr/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json index acabd8a5483..481e09958f8 100644 --- a/app/javascript/dashboard/i18n/locale/tr/contact.json +++ b/app/javascript/dashboard/i18n/locale/tr/contact.json @@ -20,6 +20,8 @@ "CALL": "Ara", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Sesli gelen kutusu seçin" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Etiketler başarıyla atandı.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json index 0ddb7f6c2ba..9ed15c84045 100644 --- a/app/javascript/dashboard/i18n/locale/tr/conversation.json +++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Bu mesaj desteklenmiyor. Bu mesajı Facebook Messenger uygulamasında görüntüleyebilirsiniz.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Bu mesaj desteklenmiyor. Bu mesajı Instagram uygulamasında görüntüleyebilirsiniz.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Mesaj başarıyla silindi", "FAIL_DELETE_MESSSAGE": "Mesaj silinemiyor. Tekrar deneyin", "NO_RESPONSE": "Cevap Yok", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Giden arama", "CALL_IN_PROGRESS": "Arama devam ediyor", "NO_ANSWER": "Yanıt yok", + "NO_ANSWER_OUTBOUND_LABEL": "Yanıt yok", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Cevapsız arama", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Arama sona erdi", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Henüz yanıtlanmadı", + "CALLING": "Calling…", "THEY_ANSWERED": "Onlar yanıtladı", "YOU_ANSWERED": "Siz yanıtladınız", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Çözüldü", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "yarına ertelendi", "SNOOZED_UNTIL_NEXT_WEEK": "Önümüzdeki haftaya ertelendi", "SNOOZED_UNTIL_NEXT_REPLY": "Bir sonraki yanıta kadar ertelendi", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Ses kaydet", "TIP_AUDIORECORDER_PERMISSION": "Mikrofon erişimine izin ver", "TIP_AUDIORECORDER_ERROR": "Mikrofon açılamadı", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Eklemek için buraya sürükleyip bırakın", "START_AUDIO_RECORDING": "Ses kaydına başla", "STOP_AUDIO_RECORDING": "Ses kaydını durdur", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Henüz yanıtlanmadı", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Kapat", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json index 7acf118f80d..d962faee8c1 100644 --- a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Taslak", "ARCHIVE": "Arşiv", "TRANSLATE": "Çevir", + "MOVE_TO_CATEGORY": "Kategori", "DELETE": "Sil", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Sil", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Görünüm", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Kaldır" + }, + "SAVE": "Değişiklikleri Kaydet" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal başarıyla oluşturuldu", diff --git a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json index 8515fdddb6f..b2214838690 100644 --- a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Meta ile kimlik doğrulama", "WAITING_FOR_BUSINESS_INFO": "Lütfen Meta penceresinde işletme kurulumunu tamamlayın...", "PROCESSING": "WhatsApp Business Hesabınızı kurma", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK yükleniyor...", "CANCELLED": "WhatsApp Kaydı iptal edildi", "SUCCESS_TITLE": "WhatsApp Business Hesabı Bağlandı!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Kimlik doğrulama tamamlanmadı. Lütfen işlemi yeniden başlatın.", "SUCCESS_FALLBACK": "WhatsApp Business Hesabı başarıyla yapılandırıldı", "MANUAL_FALLBACK": "Numaranız zaten WhatsApp Business Platformuna (API) bağlıysa veya kendi numaranızı ekleyen bir teknoloji sağlayıcısıysanız, lütfen {link} akışını kullanın", - "MANUAL_LINK_TEXT": "manuel kurulum akışı" + "MANUAL_LINK_TEXT": "manuel kurulum akışı", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "WhatsApp kanalını kaydedemedik" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Müşterilerinize WhatsApp üzerinden destek sağlayın" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "E-Posta", "DESCRIPTION": "Gmail, Outlook veya diğer sağlayıcılarla bağlantı kurun" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Yapılandırma", "ACCOUNT_HEALTH": "Hesap Sağlığı", "CSAT": "CSAT", - "VOICE": "Ses" + "VOICE": "Ses", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "WhatsApp'tan mesaj şablonlarını manuel olarak senkronize ederek mevcut şablonlarınızı güncelleyin.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Şablonları Senkronize Et", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Şablon senkronizasyonu başarıyla başlatıldı. Güncellenmesi birkaç dakika sürebilir.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Sohbet Öncesi Form Ayarlarını Güncelleme" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/tr/integrations.json b/app/javascript/dashboard/i18n/locale/tr/integrations.json index 5e8214448c1..483bf0ae46a 100644 --- a/app/javascript/dashboard/i18n/locale/tr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tr/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Kişi Oluşturuldu", "CONTACT_UPDATED": "Kişi Güncellendi", "CONVERSATION_TYPING_ON": "Konuşmada Yazıyor Açık", - "CONVERSATION_TYPING_OFF": "Konuşmada Yazıyor Kapalı" + "CONVERSATION_TYPING_OFF": "Konuşmada Yazıyor Kapalı", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/uk/bulkActions.json b/app/javascript/dashboard/i18n/locale/uk/bulkActions.json index 7d52b43360f..425847d6af0 100644 --- a/app/javascript/dashboard/i18n/locale/uk/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/uk/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "Обрано {conversationCount} розмов", - "AGENT_SELECT_LABEL": "Виберіть агента", - "ASSIGN_CONFIRMATION_LABEL": "Ви впевнені, що хочете призначити {conversationCount} {conversationLabel} до", - "UNASSIGN_CONFIRMATION_LABEL": "Ви впевнені, що хочете скасувати призначення {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Повернутися назад", - "ASSIGN_LABEL": "Призначити", "NONE": "Нічого", "CLEAR_SELECTION": "Очистити", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Ви впевнені, що хочете призначити {n} діалог агенту {agentName}? | Ви впевнені, що хочете призначити {n} діалогів агенту {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Розмови успішно закриті.", "RESOLVE_FAILED": "Не вдалося закрити розмови, будь ласка, спробуйте ще раз.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Розмови, які відображаються на цій сторінці, обрані.", - "AGENT_LIST_LOADING": "Завантаження агентів", "UPDATE": { "CHANGE_STATUS": "Змінити статус", "SNOOZE_UNTIL": "Відкласти", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Призначити мітки", - "NO_LABELS_FOUND": "Міток не знайдено", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Призначити вибрані мітки", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Мітки додано успішно.", - "ASSIGN_FAILED": "Не вдалося призначити мітки, будь ласка, спробуйте ще раз." + "ASSIGN_FAILED": "Не вдалося призначити мітки, будь ласка, спробуйте ще раз.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Виберіть команду", "NONE": "Нiчого", - "NO_TEAMS_AVAILABLE": "Цей акаунт ще не доданий до жодної команди.", - "ASSIGN_SELECTED_TEAMS": "Призначити обрану команду.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Ви впевнені, що хочете призначити {n} діалог команді {teamName}? | Ви впевнені, що хочете призначити {n} діалогів команді {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Ви впевнені, що хочете відкріпити {n} діалог? | Ви впевнені, що хочете відкріпити {n} діалогів?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/uk/campaign.json b/app/javascript/dashboard/i18n/locale/uk/campaign.json index 77a5cb6b58d..fc382830ea7 100644 --- a/app/javascript/dashboard/i18n/locale/uk/campaign.json +++ b/app/javascript/dashboard/i18n/locale/uk/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Завершено", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Завершено", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/uk/components.json b/app/javascript/dashboard/i18n/locale/uk/components.json index b6be5d520fe..7725b1d7c18 100644 --- a/app/javascript/dashboard/i18n/locale/uk/components.json +++ b/app/javascript/dashboard/i18n/locale/uk/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json index bcf717055d4..6b3e14fcefd 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contact.json +++ b/app/javascript/dashboard/i18n/locale/uk/contact.json @@ -20,6 +20,8 @@ "CALL": "Дзвінок", "CALL_INITIATED": "Викликаємо контакт…", "CALL_FAILED": "Не можливо розпочати виклик. Будь ласка, спробуйте пізніше.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Оберіть голосову теку" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Призначити мітки", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Мітки додано успішно.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json index 67078b5ef62..d734638526c 100644 --- a/app/javascript/dashboard/i18n/locale/uk/conversation.json +++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "Це повідомлення не підтримується. Ви можете переглянути це повідомлення у додатку Facebook Messenger", "UNSUPPORTED_MESSAGE_INSTAGRAM": "Це повідомлення не підтримується. Ви можете переглянути це повідомлення у додатку Instagram.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Повідомлення успішно видалено", "FAIL_DELETE_MESSSAGE": "Не вдалося видалити повідомлення! Спробуйте ще раз", "NO_RESPONSE": "Немає відповіді", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Доєднатися до виклику" + "JOIN_CALL": "Доєднатися до виклику", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Вирішити", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Відкладено до завтра", "SNOOZED_UNTIL_NEXT_WEEK": "Відкладено до наступного тижня", "SNOOZED_UNTIL_NEXT_REPLY": "Відкладено до наступної відповіді", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Записати аудіо", "TIP_AUDIORECORDER_PERMISSION": "Надати доступ до аудіо", "TIP_AUDIORECORDER_ERROR": "Не вдалося відкрити аудіо", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Перетягніть сюди, щоб прикріпити", "START_AUDIO_RECORDING": "Почати аудіозапис", "STOP_AUDIO_RECORDING": "Зупинити аудіозапис", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Оброблюється в іншій вкладці", "REJECT_CALL": "Відхилити", + "DISMISS_CALL": "Відхилити", "JOIN_CALL": "Доєднатися до виклику", - "END_CALL": "Завершити виклик" + "END_CALL": "Завершити виклик", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json index 481633b525e..afdaf5429be 100644 --- a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Чернетка", "ARCHIVE": "Archive", "TRANSLATE": "Перекласти", + "MOVE_TO_CATEGORY": "Категорія", "DELETE": "Видалити", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Видалити", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Оформлення", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Видалити" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Портал успішно створено", diff --git a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json index 1095cc58558..7744f408684 100644 --- a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Ми не змогли зберегти канал WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Налаштування бота", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Оновити параметри форми чату" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json index e757374e7df..47dbe35969f 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Контакт створено", "CONTACT_UPDATED": "Контакт оновлено", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ur/bulkActions.json b/app/javascript/dashboard/i18n/locale/ur/bulkActions.json index 4c0b3c81467..b29f6132885 100644 --- a/app/javascript/dashboard/i18n/locale/ur/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ur/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "ایجنٹ منتخب کریں۔", - "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to", - "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Go back", - "ASSIGN_LABEL": "Assign", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "کوئی لیبل نہیں ملے", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "ٹیم منتخب کریں۔", "NONE": "کوئی نہیں۔", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ur/campaign.json b/app/javascript/dashboard/i18n/locale/ur/campaign.json index 19ce5145d21..20b61806ca9 100644 --- a/app/javascript/dashboard/i18n/locale/ur/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ur/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ur/components.json b/app/javascript/dashboard/i18n/locale/ur/components.json index f4e30558bf0..3e2cf157a90 100644 --- a/app/javascript/dashboard/i18n/locale/ur/components.json +++ b/app/javascript/dashboard/i18n/locale/ur/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ur/contact.json b/app/javascript/dashboard/i18n/locale/ur/contact.json index bc5c59ec03c..332eb01a40e 100644 --- a/app/javascript/dashboard/i18n/locale/ur/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ur/conversation.json b/app/javascript/dashboard/i18n/locale/ur/conversation.json index 5c99eb9597d..4be843ba0f2 100644 --- a/app/javascript/dashboard/i18n/locale/ur/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ur/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "پیغام کامیابی سے حذف ہو گیا۔", "FAIL_DELETE_MESSSAGE": "پیغام کو حذف نہیں کیا جا سکا! دوبارہ کوشش کریں", "NO_RESPONSE": "کوئی ردعمل نہیں", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "حل کریں۔", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json index cc0aa10a130..529f4983ff3 100644 --- a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Draft", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "حذف کریں۔", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "حذف کریں۔", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Remove" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Portal created successfully", diff --git a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json index 5d27e5a6a88..592705323e1 100644 --- a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "We were not able to save the WhatsApp channel" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Bot Configuration", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ur/integrations.json b/app/javascript/dashboard/i18n/locale/ur/integrations.json index 48ecc3941c6..00294e4e7a8 100644 --- a/app/javascript/dashboard/i18n/locale/ur/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json b/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json index 2472a928862..6b922bc7b33 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected", - "AGENT_SELECT_LABEL": "Select agent", - "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", "NONE": "None", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Conversations resolved successfully.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Conversations visible on this page are only selected.", - "AGENT_LIST_LOADING": "Loading agents", "UPDATE": { "CHANGE_STATUS": "Change status", "SNOOZE_UNTIL": "Snooze", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "No labels found", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Assign selected labels", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Labels assigned successfully.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Select team", "NONE": "None", - "NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.", - "ASSIGN_SELECTED_TEAMS": "Assign selected team.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/campaign.json b/app/javascript/dashboard/i18n/locale/ur_IN/campaign.json index 10366e79e8b..71615e4a226 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/campaign.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "عملدرآمد ہو رہا ہے", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "عملدرآمد ہو رہا ہے", "COMPLETED": "Completed", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/components.json b/app/javascript/dashboard/i18n/locale/ur_IN/components.json index a75d35b082e..3ee865a898e 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/components.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json index 36074609cd0..a45e3518dce 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Assign Labels", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Labels assigned successfully.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json index e28213805fb..740d1aedbc6 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Message deleted successfully", "FAIL_DELETE_MESSSAGE": "Couldn't delete message! Try again", "NO_RESPONSE": "No response", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Resolve", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Snoozed until tomorrow", "SNOOZED_UNTIL_NEXT_WEEK": "Snoozed until next week", "SNOOZED_UNTIL_NEXT_REPLY": "Snoozed until next reply", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Record audio", "TIP_AUDIORECORDER_PERMISSION": "Allow access to audio", "TIP_AUDIORECORDER_ERROR": "Could not open the audio", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Drag and drop here to attach", "START_AUDIO_RECORDING": "Start audio recording", "STOP_AUDIO_RECORDING": "Stop audio recording", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json index 817b3347d60..9f1c8c03d33 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "مسودہ", "ARCHIVE": "محفوظ کریں", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Category", "DELETE": "Delete", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Delete", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "ترتیب میں ترمیم کریں" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "ہٹائیں" + }, + "SAVE": "تبدیلیاں محفوظ کریں" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "پورٹل کامیابی سے بنایا گیا", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json index 18a18c3a12f..a6f9ead241a 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "میٹا کے ساتھ تصدیق ہو رہی ہے", "WAITING_FOR_BUSINESS_INFO": "براہ کرم میٹا ونڈو میں بزنس سیٹ اپ مکمل کریں...", "PROCESSING": "آپ کا واٹس ایپ بزنس اکاؤنٹ سیٹ اپ کیا جا رہا ہے", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Facebook SDK لوڈ ہو رہا ہے...", "CANCELLED": "واٹس ایپ سائن اپ منسوخ کر دیا گیا", "SUCCESS_TITLE": "واٹس ایپ بزنس اکاؤنٹ کنیکٹ ہو گیا!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "تصدیق مکمل نہیں ہوئی۔ براہ کرم عمل دوبارہ شروع کریں۔", "SUCCESS_FALLBACK": "واٹس ایپ بزنس اکاؤنٹ کامیابی سے ترتیب دیا گیا ہے", "MANUAL_FALLBACK": "اگر آپ کا نمبر پہلے ہی واٹس ایپ بزنس پلیٹ فارم (API) سے منسلک ہے، یا اگر آپ ایک ٹیک فراہم کنندہ ہیں جو اپنا نمبر آن بورڈ کر رہے ہیں، تو براہ کرم {link} فلو استعمال کریں", - "MANUAL_LINK_TEXT": "دستی سیٹ اپ کا عمل" + "MANUAL_LINK_TEXT": "دستی سیٹ اپ کا عمل", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "ہم WhatsApp چینل محفوظ کرنے میں ناکام رہے" @@ -465,6 +467,10 @@ "TITLE": "واٹس ایپ", "DESCRIPTION": "اپنے صارفین کی واٹس ایپ پر مدد کریں" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "ای میل", "DESCRIPTION": "Gmail، Outlook، یا دیگر فراہم کنندگان کے ساتھ کنیکٹ کریں" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "بوٹ کی ترتیب", "ACCOUNT_HEALTH": "اکاؤنٹ کی صحت", "CSAT": "CSAT", - "VOICE": "وائس" + "VOICE": "وائس", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "اپنے دستیاب ٹیمپلیٹس کو اپ ڈیٹ کرنے کے لیے واٹس ایپ سے میسج ٹیمپلیٹس کو دستی طور پر ہم آہنگ کریں۔", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "ٹیمپلیٹس کو ہم آہنگ کریں", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "ٹیمپلیٹس کی ہم آہنگی کامیابی سے شروع ہو گئی ہے۔ اپ ڈیٹ ہونے میں چند منٹ لگ سکتے ہیں۔", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "پری چیٹ فارم کی ترتیبات کو اپ ڈیٹ کریں" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json index 30e84701131..2b1e363389c 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "رابطہ بنایا گیا", "CONTACT_UPDATED": "رابطہ اپ ڈیٹ ہوا", "CONVERSATION_TYPING_ON": "گفتگو میں ٹائپنگ آن", - "CONVERSATION_TYPING_OFF": "گفتگو میں ٹائپنگ آف" + "CONVERSATION_TYPING_OFF": "گفتگو میں ٹائپنگ آف", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/vi/bulkActions.json b/app/javascript/dashboard/i18n/locale/vi/bulkActions.json index 2a00f830404..e5f4b49b627 100644 --- a/app/javascript/dashboard/i18n/locale/vi/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/vi/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "{conversationCount} cuộc hội thoại đã được chọn", - "AGENT_SELECT_LABEL": "Chọn thành viên", - "ASSIGN_CONFIRMATION_LABEL": "Bạn có chắc chắn để chỉ định {conversationCount} {conversationLabel} tới", - "UNASSIGN_CONFIRMATION_LABEL": "Bạn có chắc chắn hủy chỉ định {conversationCount} {conversationLabel}?", - "GO_BACK_LABEL": "Trở về", - "ASSIGN_LABEL": "Gán", "NONE": "Không có", "CLEAR_SELECTION": "Clear", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "Cuộc hội thoại đã được giải quyết thành công.", "RESOLVE_FAILED": "Failed to resolve conversations. Please try again.", "ALL_CONVERSATIONS_SELECTED_ALERT": "Chỉ những cuộc hội thoại hiển thị trên trang này mới có thể được chọn.", - "AGENT_LIST_LOADING": "Đang tải điện thoại viên", "UPDATE": { "CHANGE_STATUS": "Thay đổi trạng thái", "SNOOZE_UNTIL": "Báo lại", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "Assign labels", - "NO_LABELS_FOUND": "Không tìm thấy nhãn", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "Gán các nhãn đã chọn", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "Các nhãn được gán thành công.", - "ASSIGN_FAILED": "Failed to assign labels. Please try again." + "ASSIGN_FAILED": "Failed to assign labels. Please try again.", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "Chọn nhóm", "NONE": "Không có", - "NO_TEAMS_AVAILABLE": "Chưa có nhóm nào được thêm vào tài khoản này.", - "ASSIGN_SELECTED_TEAMS": "Chỉ định nhóm đã chọn.", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "Teams assigned successfully.", diff --git a/app/javascript/dashboard/i18n/locale/vi/campaign.json b/app/javascript/dashboard/i18n/locale/vi/campaign.json index 4db98e6799f..1fe5c47adce 100644 --- a/app/javascript/dashboard/i18n/locale/vi/campaign.json +++ b/app/javascript/dashboard/i18n/locale/vi/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Hoàn tất", "SCHEDULED": "Scheduled" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "Processing", "COMPLETED": "Hoàn tất", "SCHEDULED": "Scheduled" }, diff --git a/app/javascript/dashboard/i18n/locale/vi/components.json b/app/javascript/dashboard/i18n/locale/vi/components.json index 53dfdd0cca6..b972cbb2755 100644 --- a/app/javascript/dashboard/i18n/locale/vi/components.json +++ b/app/javascript/dashboard/i18n/locale/vi/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json index ef1825b413e..aaaaaae94b8 100644 --- a/app/javascript/dashboard/i18n/locale/vi/contact.json +++ b/app/javascript/dashboard/i18n/locale/vi/contact.json @@ -20,6 +20,8 @@ "CALL": "Call", "CALL_INITIATED": "Calling the contact…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "Choose a voice inbox" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "Gán nhãn", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "Các nhãn được gán thành công.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} selected", diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json index 5318c397997..ca100bb2283 100644 --- a/app/javascript/dashboard/i18n/locale/vi/conversation.json +++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "This message is unsupported. You can view this message on the Facebook Messenger app.", "UNSUPPORTED_MESSAGE_INSTAGRAM": "This message is unsupported. You can view this message on the Instagram app.", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "Tin nhắn được xoá thành công", "FAIL_DELETE_MESSSAGE": "Không thể xoá tin nhắn! Thử lại", "NO_RESPONSE": "Không có phản hồi", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "Outgoing call", "CALL_IN_PROGRESS": "Call in progress", "NO_ANSWER": "No answer", + "NO_ANSWER_OUTBOUND_LABEL": "No answer", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "Missed call", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "Call ended", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "Not answered yet", + "CALLING": "Calling…", "THEY_ANSWERED": "They answered", "YOU_ANSWERED": "You answered", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "Giải quyết", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "Tạm dừng đến ngày mai", "SNOOZED_UNTIL_NEXT_WEEK": "Tạm dừng đến tuần sau", "SNOOZED_UNTIL_NEXT_REPLY": "Tạm dừng đến khi có phản hồi", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "Ghi âm thanh", "TIP_AUDIORECORDER_PERMISSION": "Cho phép truy cập ghi âm", "TIP_AUDIORECORDER_ERROR": "Không thể mở bản ghi âm", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "Kéo thả vào đây để đính kèm", "START_AUDIO_RECORDING": "Bắt đầu ghi âm", "STOP_AUDIO_RECORDING": "Dừng ghi âm", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "Not answered yet", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "Dismiss", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json index 75bf9d415e1..944d5ede756 100644 --- a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "Nháp", "ARCHIVE": "Archive", "TRANSLATE": "Translate", + "MOVE_TO_CATEGORY": "Loại", "DELETE": "Xoá", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "Xoá", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "Edit configuration" }, + "LAYOUT_CONTENT": { + "HEADER": "Appearance", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "Xoá" + }, + "SAVE": "Save changes" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "Cổng thông tin được tạo thành công", diff --git a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json index 564b76168a0..00e15289ad4 100644 --- a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "Loading Facebook SDK...", "CANCELLED": "WhatsApp Signup was cancelled", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "manual setup flow" + "MANUAL_LINK_TEXT": "manual setup flow", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "Chúng tôi không thể lưu kênh WhatsApp" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "Support your customers on WhatsApp" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "Connect with Gmail, Outlook, or other providers" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "Cấu hình Bot", "ACCOUNT_HEALTH": "Account Health", "CSAT": "CSAT", - "VOICE": "Voice" + "VOICE": "Voice", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/vi/integrations.json b/app/javascript/dashboard/i18n/locale/vi/integrations.json index 48c1e236f4c..816b6d3286b 100644 --- a/app/javascript/dashboard/i18n/locale/vi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/vi/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "Contact created", "CONTACT_UPDATED": "Contact updated", "CONVERSATION_TYPING_ON": "Conversation Typing On", - "CONVERSATION_TYPING_OFF": "Conversation Typing Off" + "CONVERSATION_TYPING_OFF": "Conversation Typing Off", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json b/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json index 14adf13b64a..63b92acbead 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "已选择 {conversationCount} 个对话", - "AGENT_SELECT_LABEL": "选择客服代表", - "ASSIGN_CONFIRMATION_LABEL": "您确定要将 {conversationCount} 个 {conversationLabel} 分配给", - "UNASSIGN_CONFIRMATION_LABEL": "您确定要取消分配 {conversationCount} 个 {conversationLabel} 吗?", - "GO_BACK_LABEL": "返回", - "ASSIGN_LABEL": "分配", "NONE": "啥都没有", "CLEAR_SELECTION": "清除", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "成功将对话标记为已解决.", "RESOLVE_FAILED": "解决对话失败。请再试一次。", "ALL_CONVERSATIONS_SELECTED_ALERT": "仅选择了此页面上可见的对话。", - "AGENT_LIST_LOADING": "正在加载客服代表", "UPDATE": { "CHANGE_STATUS": "更改状态", "SNOOZE_UNTIL": "推迟", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "分配标签", - "NO_LABELS_FOUND": "未找到标签", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "分配指定的标签", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "已成功分配标签.", - "ASSIGN_FAILED": "分配标签失败。请再试一次。" + "ASSIGN_FAILED": "分配标签失败。请再试一次。", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "选择团队", "NONE": "啥都没有", - "NO_TEAMS_AVAILABLE": "此帐户尚未添加团队。", - "ASSIGN_SELECTED_TEAMS": "分配选定的团队。", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "团队分配成功。", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/campaign.json b/app/javascript/dashboard/i18n/locale/zh_CN/campaign.json index 8e7527f3646..96fdd5cc3ff 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/campaign.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "处理中", "COMPLETED": "已完成", "SCHEDULED": "已计划" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "处理中", "COMPLETED": "已完成", "SCHEDULED": "已计划" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/components.json b/app/javascript/dashboard/i18n/locale/zh_CN/components.json index 1546eb74032..fd09cdb8409 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/components.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json index 478878853b7..8508692d5c0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json @@ -20,6 +20,8 @@ "CALL": "呼叫", "CALL_INITIATED": "正在接通…", "CALL_FAILED": "Unable to start the call. Please try again.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "Click to edit", "VOICE_INBOX_PICKER": { "TITLE": "选择一个语音收件箱" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "分配标签", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "已成功分配标签.", "ASSIGN_LABELS_FAILED": "Failed to assign labels", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "Select the labels you want to add to the selected contacts.", "NO_LABELS_FOUND": "No labels available yet.", "SELECTED_COUNT": "{count} 已选择", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json index d5a2c792d6c..3ff4fdd2e6c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "不支持此消息。您可以在 Facebook Messenger 应用上查看此消息。", "UNSUPPORTED_MESSAGE_INSTAGRAM": "不支持此消息。您可以在 Instagram 应用上查看此消息。", "UNSUPPORTED_MESSAGE_TIKTOK": "This message is unsupported. You can view this message on the TikTok app.", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "已成功删除消息", "FAIL_DELETE_MESSSAGE": "无法删除消息,请重试!", "NO_RESPONSE": "无响应", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "已拨出电话", "CALL_IN_PROGRESS": "呼叫进行中", "NO_ANSWER": "无应答", + "NO_ANSWER_OUTBOUND_LABEL": "无应答", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "未接来电", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "通话结束", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "尚未回复", + "CALLING": "Calling…", "THEY_ANSWERED": "对方已回复", "YOU_ANSWERED": "你已回复", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "Join call" + "JOIN_CALL": "Join call", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "已解决", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "推迟到明天", "SNOOZED_UNTIL_NEXT_WEEK": "推迟到下周", "SNOOZED_UNTIL_NEXT_REPLY": "推迟至下一个回复", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "第一响应时间 {status}", "NRT": "净响应时间 {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "录制音频", "TIP_AUDIORECORDER_PERMISSION": "允许访问音频", "TIP_AUDIORECORDER_ERROR": "无法打开音频", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "拖放到此处添加附件", "START_AUDIO_RECORDING": "开始录音", "STOP_AUDIO_RECORDING": "停止录音", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "尚未回复", "HANDLED_IN_ANOTHER_TAB": "Being handled in another tab", "REJECT_CALL": "Reject", + "DISMISS_CALL": "取消", "JOIN_CALL": "Join call", - "END_CALL": "End call" + "END_CALL": "End call", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json index 95700269f95..adf8bdf0720 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "草稿", "ARCHIVE": "归档", "TRANSLATE": "翻译", + "MOVE_TO_CATEGORY": "类别", "DELETE": "删除", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "删除", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "编辑配置" }, + "LAYOUT_CONTENT": { + "HEADER": "外观", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "删除" + }, + "SAVE": "保存更改" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "门户创建成功", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json index 08ba76bfb50..e29dd5cb973 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "Authenticating with Meta", "WAITING_FOR_BUSINESS_INFO": "Please complete business setup in the Meta window...", "PROCESSING": "Setting up your WhatsApp Business Account", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "加载 Facebook SDK...", "CANCELLED": "WhatsApp 注册已取消", "SUCCESS_TITLE": "WhatsApp Business Account Connected!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "Authentication not completed. Please restart the process.", "SUCCESS_FALLBACK": "WhatsApp Business Account has been successfully configured", "MANUAL_FALLBACK": "If your number is already connected to the WhatsApp Business Platform (API), or if you’re a tech provider onboarding your own number, please use the {link} flow", - "MANUAL_LINK_TEXT": "手动设置流程" + "MANUAL_LINK_TEXT": "手动设置流程", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "我们无法保存 WhatsApp 通道" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "在 WhatsApp 上回应您的客户" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "连接到 Gmail、Outlook,或其他提供商" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "机器人配置", "ACCOUNT_HEALTH": "Account Health", "CSAT": "客户满意度", - "VOICE": "语音" + "VOICE": "语音", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "Channel Preferences", "WIDGET_FEATURES": "Widget features", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "同步模板", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "更新预聊天表单设置" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index 8d40ea6ae7f..66191b450a4 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "联系人已创建", "CONTACT_UPDATED": "联系人已更新", "CONVERSATION_TYPING_ON": "对话输入开启", - "CONVERSATION_TYPING_OFF": "对话输入关闭" + "CONVERSATION_TYPING_OFF": "对话输入关闭", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json b/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json index 8600e145365..378f331c50a 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/bulkActions.json @@ -1,11 +1,6 @@ { "BULK_ACTION": { "CONVERSATIONS_SELECTED": "已選擇 {conversationCount} 個對話", - "AGENT_SELECT_LABEL": "選擇客服", - "ASSIGN_CONFIRMATION_LABEL": "您確定要將 {conversationCount} 個{conversationLabel}指派給", - "UNASSIGN_CONFIRMATION_LABEL": "您確定要取消指派 {conversationCount} 個{conversationLabel}嗎?", - "GO_BACK_LABEL": "返回", - "ASSIGN_LABEL": "指派", "NONE": "無", "CLEAR_SELECTION": "清除", "ASSIGN_AGENT_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {agentName}? | Are you sure you want to assign {n} conversations to {agentName}?", @@ -20,7 +15,6 @@ "RESOLVE_SUCCESFUL": "對話已成功標記為已解決。", "RESOLVE_FAILED": "解決對話失敗,請再試一次。", "ALL_CONVERSATIONS_SELECTED_ALERT": "僅選擇了此頁面上可見的對話。", - "AGENT_LIST_LOADING": "正在載入客服列表", "UPDATE": { "CHANGE_STATUS": "變更狀態", "SNOOZE_UNTIL": "擱置", @@ -33,16 +27,16 @@ }, "LABELS": { "ASSIGN_LABELS": "指派標籤", - "NO_LABELS_FOUND": "找不到標籤", + "REMOVE_LABELS": "Remove labels", "ASSIGN_SELECTED_LABELS": "指派已選標籤", + "REMOVE_SELECTED_LABELS": "Remove selected labels", "ASSIGN_SUCCESFUL": "標籤指派成功。", - "ASSIGN_FAILED": "指派標籤失敗,請再試一次。" + "ASSIGN_FAILED": "指派標籤失敗,請再試一次。", + "REMOVE_SUCCESFUL": "Labels removed successfully.", + "REMOVE_FAILED": "Failed to remove labels. Please try again." }, "TEAMS": { - "TEAM_SELECT_LABEL": "選擇團隊", "NONE": "無", - "NO_TEAMS_AVAILABLE": "此帳戶尚未新增任何團隊。", - "ASSIGN_SELECTED_TEAMS": "指派已選團隊。", "ASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to assign {n} conversation to {teamName}? | Are you sure you want to assign {n} conversations to {teamName}?", "UNASSIGN_TEAM_CONFIRMATION_LABEL": "Are you sure you want to unassign {n} conversation? | Are you sure you want to unassign {n} conversations?", "ASSIGN_SUCCESFUL": "團隊指派成功。", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json b/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json index 427bd03ee76..1a3cb96b623 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/campaign.json @@ -88,6 +88,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "處理中", "COMPLETED": "已完成", "SCHEDULED": "已排程" }, @@ -146,6 +147,7 @@ }, "CARD": { "STATUS": { + "PROCESSING": "處理中", "COMPLETED": "已完成", "SCHEDULED": "已排程" }, diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/components.json b/app/javascript/dashboard/i18n/locale/zh_TW/components.json index 14834a2000d..1f5f3905034 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/components.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/components.json @@ -63,6 +63,7 @@ "CODE": "Code", "BULLET_LIST": "Bullet List", "ORDERED_LIST": "Ordered List", - "TABLE": "Table" + "TABLE": "Table", + "IMAGE": "Image" } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json index 9b02b785ba1..a7848de4cd0 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json @@ -20,6 +20,8 @@ "CALL": "通話", "CALL_INITIATED": "正在撥打聯絡人電話…", "CALL_FAILED": "無法撥打電話,請稍後再試。", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "CLICK_TO_EDIT": "點擊以編輯", "VOICE_INBOX_PICKER": { "TITLE": "選擇語音收件匣" @@ -583,8 +585,11 @@ }, "CONTACTS_BULK_ACTIONS": { "ASSIGN_LABELS": "指派標籤", + "REMOVE_LABELS": "Remove Labels", "ASSIGN_LABELS_SUCCESS": "標籤已成功指派。", "ASSIGN_LABELS_FAILED": "指派標籤失敗", + "REMOVE_LABELS_SUCCESS": "Labels removed successfully.", + "REMOVE_LABELS_FAILED": "Failed to remove labels", "DESCRIPTION": "選擇您要新增到所選聯絡人的標籤。", "NO_LABELS_FOUND": "尚無可用的標籤。", "SELECTED_COUNT": "已選取 {count} 個", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json index 783c9a54180..9501312d74d 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json @@ -62,6 +62,7 @@ "UNSUPPORTED_MESSAGE_FACEBOOK": "此訊息不受支援。您可以在 Facebook Messenger 應用程式中檢視此訊息。", "UNSUPPORTED_MESSAGE_INSTAGRAM": "此訊息不受支援。您可以在 Instagram 應用程式中檢視此訊息。", "UNSUPPORTED_MESSAGE_TIKTOK": "此訊息不受支援。您可以在 TikTok 應用程式中檢視此訊息。", + "UNSUPPORTED_MESSAGE_WHATSAPP": "This message is unsupported. You can view this message on the WhatsApp app.", "SUCCESS_DELETE_MESSAGE": "已成功刪除訊息", "FAIL_DELETE_MESSSAGE": "無法刪除訊息!請再試一次", "NO_RESPONSE": "無回應", @@ -79,13 +80,22 @@ "OUTGOING_CALL": "撥出電話", "CALL_IN_PROGRESS": "通話中", "NO_ANSWER": "未接聽", + "NO_ANSWER_OUTBOUND_LABEL": "未接聽", + "NO_ANSWER_OUTBOUND_SUBTEXT": "Contact didn't pick up", "MISSED_CALL": "未接來電", + "MISSED_CALL_INBOUND_SUBTEXT": "No agent picked up", + "MISSED_CALL_DECLINED_BY": "Declined by {agentName}", "CALL_ENDED": "通話結束", + "HANDLED_BY": "Handled by {agentName}", "NOT_ANSWERED_YET": "尚未接聽", + "CALLING": "Calling…", "THEY_ANSWERED": "對方已接聽", "YOU_ANSWERED": "您已接聽", "AGENT_ANSWERED": "{agentName} answered", - "JOIN_CALL": "加入通話" + "JOIN_CALL": "加入通話", + "CALL_BACK": "Call back", + "TRANSCRIPT_SHOW_MORE": "Show more", + "TRANSCRIPT_SHOW_LESS": "Show less" }, "HEADER": { "RESOLVE_ACTION": "解決", @@ -100,6 +110,12 @@ "SNOOZED_UNTIL_TOMORROW": "延後至明天", "SNOOZED_UNTIL_NEXT_WEEK": "延後至下週", "SNOOZED_UNTIL_NEXT_REPLY": "延後至下次回覆", + "WHATSAPP_CALL": "Start WhatsApp call", + "WHATSAPP_CALL_FAILED": "Could not start the WhatsApp call.", + "VOICE_CALL": "Start call", + "VOICE_CALL_FAILED": "Could not start the call.", + "WHATSAPP_CALL_PERMISSION_REQUESTED": "Sent a call permission request to the contact. Try again once they accept.", + "WHATSAPP_CALL_PERMISSION_PENDING": "Call permission request already sent recently. Try again once the contact accepts.", "SLA_STATUS": { "FRT": "FRT {status}", "NRT": "NRT {status}", @@ -215,6 +231,7 @@ "TIP_AUDIORECORDER_ICON": "錄製音訊", "TIP_AUDIORECORDER_PERMISSION": "允許存取音訊", "TIP_AUDIORECORDER_ERROR": "無法開啟音訊", + "AUDIO_CONVERSION_FAILED": "Audio conversion failed. Please try again.", "DRAG_DROP": "拖放至此處以附加檔案", "START_AUDIO_RECORDING": "開始錄音", "STOP_AUDIO_RECORDING": "停止錄音", @@ -299,8 +316,13 @@ "NOT_ANSWERED_YET": "尚未接聽", "HANDLED_IN_ANOTHER_TAB": "正在另一個分頁中處理", "REJECT_CALL": "拒接", + "DISMISS_CALL": "關閉", "JOIN_CALL": "加入通話", - "END_CALL": "結束通話" + "END_CALL": "結束通話", + "MUTE": "Mute mic", + "UNMUTE": "Unmute mic", + "VIEW_CHAT_HISTORY": "View chat history", + "GO_TO_CONVERSATION": "Go to conversation thread" } }, "EMAIL_TRANSCRIPT": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json index 5d68d982f7b..ca899905cfe 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json @@ -607,9 +607,12 @@ "DRAFT": "草稿", "ARCHIVE": "封存", "TRANSLATE": "翻譯", + "MOVE_TO_CATEGORY": "類別", "DELETE": "刪除", "STATUS_SUCCESS": "Articles updated successfully", "STATUS_ERROR": "Failed to update articles", + "CATEGORY_SUCCESS": "Articles moved successfully", + "CATEGORY_ERROR": "Failed to move articles", "DELETE_CONFIRM_TITLE": "Delete article | Delete {count} articles", "DELETE_CONFIRM_DESCRIPTION": "This will permanently delete the selected article. This action cannot be undone. | This will permanently delete {count} selected articles. This action cannot be undone.", "DELETE_CONFIRM": "刪除", @@ -866,6 +869,28 @@ }, "EDIT_CONFIGURATION": "編輯設定" }, + "LAYOUT_CONTENT": { + "HEADER": "外觀", + "DESCRIPTION": "Pick the layout that fits how your visitors read.", + "LAYOUT": { + "CLASSIC": { + "TITLE": "Classic", + "DESCRIPTION": "A welcoming home page with search and featured topics." + }, + "SIDEBAR": { + "TITLE": "Documentation", + "DESCRIPTION": "Side-by-side navigation that keeps every guide a click away." + } + }, + "SOCIAL_LINKS": { + "HEADER": "Social links", + "DESCRIPTION": "Add the handle for each network and your help center builds the full link. Shown in the documentation layout footer.", + "PLACEHOLDER": "handle", + "ADD": "Add social link", + "REMOVE": "移除" + }, + "SAVE": "儲存變更" + }, "API": { "CREATE_PORTAL": { "SUCCESS_MESSAGE": "入口建立成功", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json index 49d0a508121..c21756e367c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json @@ -308,6 +308,7 @@ "AUTH_PROCESSING": "正在透過 Meta 進行驗證", "WAITING_FOR_BUSINESS_INFO": "請在 Meta 視窗中完成商業設定...", "PROCESSING": "正在設定您的 WhatsApp Business 帳號", + "ENABLING_CALLING": "Enabling WhatsApp Calling on your number…", "LOADING_SDK": "正在載入 Facebook SDK...", "CANCELLED": "WhatsApp 註冊已取消", "SUCCESS_TITLE": "WhatsApp Business 帳號已連接!", @@ -317,7 +318,8 @@ "AUTH_NOT_COMPLETED": "驗證未完成。請重新開始流程。", "SUCCESS_FALLBACK": "WhatsApp Business 帳號已成功設定", "MANUAL_FALLBACK": "如果您的號碼已連接到 WhatsApp Business Platform(API),或者您是正在接入自己號碼的技術供應商,請使用 {link}", - "MANUAL_LINK_TEXT": "手動設定流程" + "MANUAL_LINK_TEXT": "手動設定流程", + "CALLING_ENABLE_FAILED": "Your WhatsApp inbox is ready, but voice calling couldn't be turned on — this number isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then turn calling on from the inbox's Calls settings." }, "API": { "ERROR_MESSAGE": "無法儲存 WhatsApp 頻道" @@ -465,6 +467,10 @@ "TITLE": "WhatsApp", "DESCRIPTION": "透過 WhatsApp 為客戶提供支援" }, + "WHATSAPP_CALL": { + "TITLE": "WhatsApp Call", + "DESCRIPTION": "Take voice calls on your WhatsApp number" + }, "EMAIL": { "TITLE": "Email", "DESCRIPTION": "連結 Gmail、Outlook 或其他供應商" @@ -637,7 +643,8 @@ "BOT_CONFIGURATION": "機器人設定", "ACCOUNT_HEALTH": "帳號健康狀態", "CSAT": "CSAT", - "VOICE": "語音" + "VOICE": "語音", + "CALLS": "Calls" }, "VOICE_CONFIGURATION": { "ENABLE_VOICE": { @@ -648,6 +655,26 @@ "DESCRIPTION": "Voice calling requires Twilio API Key credentials. These are used to generate tokens for agent voice connections." } }, + "WHATSAPP_CALLING": { + "ENABLE": { + "LABEL": "Enable WhatsApp Calling", + "DESCRIPTION": "Allow agents to receive and place WhatsApp Cloud calls on this inbox. Customers can call this business number directly from WhatsApp." + }, + "ENABLE_FAILED": "Voice calling couldn't be turned on for this number — it isn't enrolled in the WhatsApp Business Calling API yet. Reach out to Meta or your WhatsApp Business Solution Provider to onboard it, then try again.", + "PHONE_NUMBER": { + "LABEL": "Business phone number", + "HELP_TEXT": "WhatsApp number that customers will call." + }, + "HOW_IT_WORKS": { + "LABEL": "How it works", + "DESCRIPTION": "Calls are placed peer-to-peer between the agent's browser and Meta — no extra credentials are required. Make sure the agent's browser has microphone permission for this site." + }, + "PERMISSION_REQUEST_BODY": { + "LABEL": "Call permission request message", + "HELP_TEXT": "Shown to the contact when they haven't yet consented to receive calls. Leave blank to use the default.", + "PLACEHOLDER": "We would like to call you regarding your conversation." + } + }, "CHANNEL_PREFERENCES": "頻道偏好設定", "WIDGET_FEATURES": "小工具功能", "ACCOUNT_HEALTH": { @@ -800,6 +827,10 @@ "WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "手動從 WhatsApp 同步訊息範本以更新可用範本。", "WHATSAPP_TEMPLATES_SYNC_BUTTON": "同步範本", "WHATSAPP_TEMPLATES_SYNC_SUCCESS": "範本同步已啟動。可能需要幾分鐘才能更新完成。", + "WHATSAPP_CALLING_ENABLED": { + "LABEL": "Enable voice calling", + "DESCRIPTION": "Allow agents to start and receive WhatsApp voice calls on this inbox. Available only on embedded-signup WhatsApp Cloud channels with calling permission granted by Meta." + }, "UPDATE_PRE_CHAT_FORM_SETTINGS": "更新聊天前表單設定" }, "HELP_CENTER": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json index 213268f0739..ff9422d88ae 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json @@ -57,7 +57,8 @@ "CONTACT_CREATED": "聯絡人已建立", "CONTACT_UPDATED": "聯絡人已更新", "CONVERSATION_TYPING_ON": "對話正在輸入", - "CONVERSATION_TYPING_OFF": "對話停止輸入" + "CONVERSATION_TYPING_OFF": "對話停止輸入", + "INBOX_UPDATED": "Inbox updated" } }, "NAME": { diff --git a/config/locales/am.yml b/config/locales/am.yml index a42e45ab333..70c1310af5b 100644 --- a/config/locales/am.yml +++ b/config/locales/am.yml @@ -241,6 +241,7 @@ am: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ am: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: ፈልግ toc_header: 'On this page' + sidebar: + help_center: የእርዳታ ማዕከል + categories: ምድቦች + language: Language + theme: Theme + open_sidebar: አጠገብ በር ክፈት + close_sidebar: አጠገብ በር ዝጋ + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ am: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/ar.yml b/config/locales/ar.yml index a7bf0234be0..3882666ebe3 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -241,6 +241,7 @@ ar: whatsapp: list_button_label: 'اختر عنصر' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,6 +413,17 @@ ar: empty_placeholder: لم يتم العثور على النتائج. loading_placeholder: جاري البحث... results_title: نتائج البحث + results: نتائج البحث + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + zero: 'Found %{count} results' + one: Found 1 result + two: 'Found %{count} results' + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: بحث toc_header: 'في هذه الصفحة' sidebar: help_center: مركز المساعدة @@ -443,6 +455,8 @@ ar: others: الآخرين by: بواسطة no_articles: لا توجد مقالات + previous: السابق + next: التالي article_actions: label: فتح في view_markdown: عرض كـ Markdown @@ -455,6 +469,7 @@ ar: go_to_homepage: الموقع الإلكتروني visit_website: Visit website appearance: + title: المظهر system: النظام light: فاتح dark: مظلم diff --git a/config/locales/az.yml b/config/locales/az.yml index 5632d143e52..fe51b907dfe 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -241,6 +241,7 @@ az: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ az: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Axtarış Nəticələri + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Axtar toc_header: 'On this page' + sidebar: + help_center: Kömək Mərkəzi + categories: Kateqoriyalar + language: Language + theme: Theme + open_sidebar: Yan paneli aç + close_sidebar: Yan paneli bağla + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ az: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/bg.yml b/config/locales/bg.yml index ca2fe620a68..e2674edda24 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -241,6 +241,7 @@ bg: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ bg: empty_placeholder: Няма намерени резултати. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Търсене toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ bg: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/bn.yml b/config/locales/bn.yml index 1a7b02b1b0f..fb88cd27b55 100644 --- a/config/locales/bn.yml +++ b/config/locales/bn.yml @@ -241,6 +241,7 @@ bn: whatsapp: list_button_label: 'একটি আইটেম নির্বাচন করুন' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ bn: empty_placeholder: কোনো ফলাফল পাওয়া যায়নি।. loading_placeholder: অনুসন্ধান চলছে... results_title: অনুসন্ধানের ফলাফল + results: অনুসন্ধান ফলাফল + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: অনুসন্ধান toc_header: 'এই পাতায়' + sidebar: + help_center: সহায়তা কেন্দ্র + categories: বিভাগসমূহ + language: Language + theme: Theme + open_sidebar: সাইডবার খুলুন + close_sidebar: সাইডবার বন্ধ করুন + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: এখানে প্রবন্ধগুলি খুঁজুন অথবা নিচের বিভাগগুলো ব্রাউজ করুন।. common: @@ -427,12 +451,21 @@ bn: others: অন্যান্যরা by: দ্বারা no_articles: এখানে কোনো প্রবন্ধ নেই + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: নির্মিত header: go_to_homepage: ওয়েবসাইট visit_website: ওয়েবসাইট দেখুন appearance: + title: Appearance system: সিস্টেম light: হালকা dark: গাঢ় diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 920ba2ec09d..ebf894da25d 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -241,6 +241,7 @@ ca: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ca: empty_placeholder: No s'ha trobat agents. loading_placeholder: S'està cercant... results_title: Resultats de la cerca + results: Resultats de la cerca + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Cercar toc_header: 'En aquesta pàgina' + sidebar: + help_center: Centre d'ajuda + categories: Categories + language: Idioma + theme: Theme + open_sidebar: Obre la barra lateral + close_sidebar: Tanca la barra lateral + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Cerca els articles aquí o navega per les categories següents. common: @@ -427,12 +451,21 @@ ca: others: altres by: Per no_articles: No hi ha articles aquí + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Fet amb header: go_to_homepage: Lloc web visit_website: Visit website appearance: + title: Aparença system: Sistema light: Clar dark: Fosc diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 2fe9bfe4114..5e6315000ab 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -241,6 +241,7 @@ cs: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ cs: empty_placeholder: Žádné výsledky. loading_placeholder: Searching... results_title: Search results + results: Výsledky hledání + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Hledat toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Otevřít postranní panel + close_sidebar: Zavřít postranní panel + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +453,21 @@ cs: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/da.yml b/config/locales/da.yml index 5af6c9ccd41..43d291bfcc0 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -241,6 +241,7 @@ da: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ da: empty_placeholder: Ingen resultater fundet. loading_placeholder: Søger... results_title: Søgeresultater + results: Søgeresultater + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Søg toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Kategorier + language: Sprog + theme: Theme + open_sidebar: Åbn sidepanel + close_sidebar: Luk sidepanel + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Søg efter artiklerne her eller gennemse kategorierne nedenfor. common: @@ -427,12 +451,21 @@ da: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/de.yml b/config/locales/de.yml index f9156ece126..ddf1ad0527d 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -241,6 +241,7 @@ de: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ de: empty_placeholder: Keine Ergebnisse gefunden. loading_placeholder: Suchen... results_title: Suchergebnisse + results: Suchergebnisse + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Suchen toc_header: 'Auf dieser Seite' + sidebar: + help_center: Hilfezentrum + categories: Kategorien + language: Sprache + theme: Theme + open_sidebar: Seitenleiste öffnen + close_sidebar: Seitenleiste schließen + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Suchen Sie hier nach den Artikeln oder stöbern Sie in den unten stehenden Kategorien. common: @@ -427,12 +451,21 @@ de: others: andere by: Von no_articles: Keine Artikel vorhanden + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Erstellt mit header: go_to_homepage: Webseite visit_website: Visit website appearance: + title: Darstellung system: System light: Hell dark: Dunkel diff --git a/config/locales/el.yml b/config/locales/el.yml index ae45f751841..153bb5c8964 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -241,6 +241,7 @@ el: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ el: empty_placeholder: Δεν βρέθηκαν αποτελέσματα. loading_placeholder: Αναζήτηση... results_title: Αποτελέσματα Αναζήτησης + results: Αποτελέσματα Αναζήτησης + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Αναζήτηση toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Κατηγορίες + language: Γλώσσα + theme: Theme + open_sidebar: Άνοιγμα πλευρικής μπάρας + close_sidebar: Κλείσιμο πλευρικής μπάρας + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Αναζητήστε τα άρθρα εδώ ή περιηγηθείτε στις κατηγορίες παρακάτω. common: @@ -427,12 +451,21 @@ el: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/es.yml b/config/locales/es.yml index 24166770abf..c5a17fc7912 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -241,6 +241,7 @@ es: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ es: empty_placeholder: No se encontraron resultados. loading_placeholder: Buscando... results_title: Buscar resultados + results: Buscar resultados + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Buscar toc_header: 'En esta página' + sidebar: + help_center: Centro de ayuda + categories: Categorías + language: Idioma + theme: Theme + open_sidebar: Abrir barra lateral + close_sidebar: Cerrar barra lateral + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Busque aquí los artículos o busque las categorías de abajo. common: @@ -427,12 +451,21 @@ es: others: otros by: Por no_articles: No hay artículos aquí + previous: Anterior + next: Siguiente + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Hecho con header: go_to_homepage: Sitio web visit_website: Visit website appearance: + title: Apariencia system: Sistema light: Claro dark: Oscuro diff --git a/config/locales/et.yml b/config/locales/et.yml index f5a0a622964..4a846374e10 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -241,6 +241,7 @@ et: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ et: empty_placeholder: Tulemusi ei leitud. loading_placeholder: Otsin... results_title: Otsingutulemused + results: Otsingutulemused + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Otsi toc_header: 'On this page' + sidebar: + help_center: Abi keskus + categories: Kategooriad + language: Language + theme: Theme + open_sidebar: Ava külgriba + close_sidebar: Sulge külgriba + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ et: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/fa.yml b/config/locales/fa.yml index b48f5ffaa3c..4e6e2e49206 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -241,6 +241,7 @@ fa: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ fa: empty_placeholder: نتیجه‌ای یافت نشد. loading_placeholder: در حال جستجو... results_title: نتایج جستجو + results: نتایج جستجو + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: جستجو toc_header: 'در این صفحه' + sidebar: + help_center: مرکز راهنما + categories: دسته‌بندی‌ها + language: زبان + theme: Theme + open_sidebar: نوار کناری را باز کنید + close_sidebar: نوار کناری را ببندید + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: مقالات را در اینجا جستجو کنید یا دسته‌بندی‌های زیر را مرور کنید. common: @@ -427,12 +451,21 @@ fa: others: دیگران by: توسط no_articles: هنوز هیچ مقاله‌ای در اینجا وجود ندارد + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: ساخته شده با header: go_to_homepage: وب سایت visit_website: Visit website appearance: + title: ظاهری system: سیستم light: روشن dark: تیره diff --git a/config/locales/fi.yml b/config/locales/fi.yml index ed9925cafe4..3317f547ee3 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -241,6 +241,7 @@ fi: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ fi: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Etsi toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ fi: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 8564a7154ad..b63c46cd66f 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -51,7 +51,7 @@ fr: invalid_params: 'Invalid, please check the signup paramters and try again' failed: L'inscription a échoué voice: - call_already_accepted: '%{agent_name} is already handling the call.' + call_already_accepted: '%{agent_name} traite déjà l''appel.' assignment_policy: not_found: Assignment policy not found attachments: @@ -106,11 +106,11 @@ fr: not_enabled: 'Calling is not enabled for this inbox' no_recording: 'No recording file provided' no_message: 'Call has no associated message' - sdp_offer_required: 'sdp_offer is required' - contact_phone_required: 'Contact phone number is required' - permission_request_failed: 'Failed to send call permission request' + sdp_offer_required: 'sdp_offer est requis' + contact_phone_required: 'Le numéro de téléphone du contact est requis' + permission_request_failed: 'Échec de l''envoi de la demande d''autorisation d''appel' openai: - invalid_api_key: 'OpenAI API key is invalid or revoked. Please check your key in your OpenAI dashboard.' + invalid_api_key: 'La clé API OpenAI est invalide ou révoquée. Veuillez vérifier votre clé dans votre tableau de bord OpenAI.' inboxes: imap: socket_error: Veuillez vérifier la connexion, l'adresse IMAP et réessayez. @@ -241,9 +241,10 @@ fr: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: - twilio: 'Voice Call' - whatsapp: 'WhatsApp Call' + twilio: 'Appel vocal' + whatsapp: 'Appel WhatsApp' delivery_status: error_code: 'Code d''erreur : %{error_code}' activity: @@ -289,8 +290,8 @@ fr: issue_linked: 'Linear issue %{issue_id} was linked by %{user_name}' issue_unlinked: 'Linear issue %{issue_id} was unlinked by %{user_name}' whatsapp_call: - permission_requested: 'Sent a call permission request to %{contact_name}.' - permission_granted: '%{contact_name} accepted the call permission request.' + permission_requested: 'A envoyé une demande d''autorisation d''appel à %{contact_name}.' + permission_granted: '%{contact_name} a accepté la demande d''autorisation d''appel.' csat: not_sent_due_to_messaging_window: 'CSAT survey not sent due to outgoing message restrictions' auto_resolve: @@ -355,7 +356,7 @@ fr: name: 'Linear' short_description: 'Create and link Linear issues directly from conversations.' description: 'Create issues in Linear directly from your conversation window. Alternatively, link existing Linear issues for a more streamlined and efficient issue tracking process.' - attachment_link_title: 'Conversation (#%{conversation_id}) with %{name}' + attachment_link_title: 'Conversation (#%{conversation_id}) avec %{name}' notion: name: 'Notion' short_description: 'Integrate databases, documents and pages directly with Captain.' @@ -386,7 +387,7 @@ fr: pdf_size_error: 'must be less than 10MB' sync_not_supported_for_pdf: 'Sync is not supported for PDF documents' sync_only_available_documents: 'Sync is only available for processed documents' - sync_already_in_progress: 'Document sync is already in progress' + sync_already_in_progress: 'La synchronisation du document est déjà en cours' pdf_upload_failed: 'Failed to upload PDF to OpenAI' pdf_upload_success: 'PDF uploaded successfully with file_id: %{file_id}' pdf_processing_failed: 'Failed to process PDF document %{document_id}: %{error}' @@ -412,9 +413,16 @@ fr: empty_placeholder: Aucun résultat trouvé. loading_placeholder: Recherche en cours... results_title: Résultats de recherche + results: Résultats de recherche + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Rechercher toc_header: 'Sur cette page' sidebar: - help_center: "Centre d'aide" + help_center: Centre d'aide categories: Catégories language: Langue theme: Thème @@ -443,6 +451,8 @@ fr: others: autres by: Par no_articles: Il n'y a pas d'articles ici + previous: Précédent + next: Suivant article_actions: label: Ouvrir dans view_markdown: Voir en Markdown @@ -455,6 +465,7 @@ fr: go_to_homepage: Site internet visit_website: Visit website appearance: + title: Apparence system: Système light: Clair dark: Sombre @@ -521,9 +532,9 @@ fr: articles: captain_not_available: 'Translation requires Captain to be enabled for this account' locale_not_available: 'Locale not available in this portal' - category_not_found: 'Category not found in this portal' - no_articles_found: 'No articles found to process' - invalid_status: 'Invalid status value' + category_not_found: 'Catégorie introuvable dans ce portail' + no_articles_found: 'Aucun article à traiter' + invalid_status: 'Valeur de statut invalide' send_instructions: email_required: 'L''e-mail est requis' invalid_email_format: 'Invalid email format' @@ -534,7 +545,7 @@ fr: custom_domain_not_configured: 'Custom domain is not configured' super_admin: push_diagnostics: - user_not_found: 'User not found.' + user_not_found: 'Utilisateur introuvable.' no_subscriptions_to_test: 'Select at least one subscription to test.' no_subscriptions_to_delete: 'Select at least one subscription to delete.' subscriptions_deleted: "Deleted %{count} subscription(s). The user's device(s) will re-register on next app launch." diff --git a/config/locales/he.yml b/config/locales/he.yml index 7f6439e6d36..39ad787fc5c 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -241,6 +241,7 @@ he: whatsapp: list_button_label: 'בחר פריט' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ he: empty_placeholder: לא נמצאו תוצאות. loading_placeholder: מחפש... results_title: תוצאות חיפוש + results: תוצאות חיפוש + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + two: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: חפש toc_header: 'בעמוד זה' + sidebar: + help_center: מרכז עזרה + categories: קטגוריות + language: שפה + theme: Theme + open_sidebar: פתח סרגל צד + close_sidebar: סגור סרגל צד + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: חפש את המאמרים כאן או עיין בקטגוריות למטה. common: @@ -427,12 +453,21 @@ he: others: אחרים by: על ידי no_articles: אין כאן מאמרים + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: נוצר עם header: go_to_homepage: אתר visit_website: בקר באתר appearance: + title: מראה system: מערכת light: בהיר dark: כהה diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 6f9a44e7c46..06fabd7d562 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -241,6 +241,7 @@ hi: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ hi: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Search toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ hi: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/hr.yml b/config/locales/hr.yml index ea2a8388092..2cbae5b6107 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -241,6 +241,7 @@ hr: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,31 @@ hr: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + other: 'Found %{count} results' + submit: Search toc_header: 'On this page' + sidebar: + help_center: Centar za pomoć + categories: Categories + language: Jezik + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +452,21 @@ hr: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 2de75435438..64133fab19e 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -241,6 +241,7 @@ hu: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ hu: empty_placeholder: Nincs találat. loading_placeholder: Keresés... results_title: Keresés eredménye + results: Keresés eredménye + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Keresés toc_header: 'Ezen az oldalon' + sidebar: + help_center: Súgóközpont + categories: Kategóriák + language: Nyelv + theme: Theme + open_sidebar: Oldalsáv megnyitása + close_sidebar: Oldalsáv becsukás + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Keress bejegyzéseket, vagy válassz a kategóriákból lejjebb. common: @@ -427,12 +451,21 @@ hu: others: egyebek by: Által no_articles: Nincsenek bejegyzések + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: 'Ezzel készítve: ' header: go_to_homepage: Honlap visit_website: Visit website appearance: + title: Megjelenés system: Rendszer light: Világos mód dark: Sötét mód diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 28845eaf35d..664459655ce 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -241,6 +241,7 @@ hy: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ hy: empty_placeholder: Արդյունքներ չեն գտնվել։ loading_placeholder: Որոնում... results_title: Որոնման արդյունքներ + results: Որոնման արդյունքներ + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Որոնել toc_header: 'Այս էջում' + sidebar: + help_center: Օգնության կենտրոն + categories: Կատեգորիաներ + language: Language + theme: Theme + open_sidebar: Բացել կողային վահանակը + close_sidebar: Փակել կողային վահանակը + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Որոնեք հոդվածներ այստեղ կամ դիտեք ստորև ներկայացված կատեգորիաները։ common: @@ -427,12 +451,21 @@ hy: others: այլք by: Ըստ no_articles: Այստեղ հոդվածներ չկան + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Ստեղծված է header: go_to_homepage: Կայք visit_website: Visit website appearance: + title: Appearance system: Համակարգ light: Լուսավոր dark: Մութ diff --git a/config/locales/id.yml b/config/locales/id.yml index 246c7e1c3bc..f465157a50f 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -241,6 +241,7 @@ id: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ id: empty_placeholder: Tidak ada hasil ditemukan. loading_placeholder: Sedang mencari... results_title: Hasil pencarian + results: Hasil Pencarian + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: Cari toc_header: 'Di halaman ini' + sidebar: + help_center: Pusat Bantuan + categories: Kategori + language: Bahasa + theme: Theme + open_sidebar: Buka sidebar + close_sidebar: Tutup sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Cari artikel di sini atau jelajahi kategori di bawah ini. common: @@ -427,12 +450,21 @@ id: others: others by: By no_articles: Tidak ada artikel di sini + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Dibuat oleh header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: Sistem light: Light dark: Dark diff --git a/config/locales/is.yml b/config/locales/is.yml index c20c24820e8..840ac4f4fa9 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -241,6 +241,7 @@ is: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ is: empty_placeholder: Engar niðurstöður fundust. loading_placeholder: Searching... results_title: Search results + results: Leitarniðurstöður + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Leit toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Leitaðu að greinunum hér eða skoðaðu flokkana hér að neðan. common: @@ -427,12 +451,21 @@ is: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/it.yml b/config/locales/it.yml index 3b132a9d754..54e2c218f19 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -241,6 +241,7 @@ it: whatsapp: list_button_label: 'Scegli un elemento' call_permission_request_body: 'Vorremmo chiamarti riguardo alla tua conversazione.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Chiamata Vocale' whatsapp: 'Chiamata WhatsApp' @@ -412,7 +413,30 @@ it: empty_placeholder: Nessun risultato trovato. loading_placeholder: Ricerca... results_title: Risultati di ricerca + results: Risultati di Ricerca + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Cerca toc_header: 'Su questa pagina' + sidebar: + help_center: Help Center + categories: Categorie + language: Lingua + theme: Theme + open_sidebar: Apri barra laterale + close_sidebar: Chiudi barra laterale + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Cerca gli articoli qui oppure sfoglia le categorie qui sotto. common: @@ -427,12 +451,21 @@ it: others: altri by: Da no_articles: Non ci sono articoli qui + previous: Precedente + next: Successivo + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Realizzato con header: go_to_homepage: Sito Web visit_website: Visita sito appearance: + title: Aspetto system: Sistema light: Chiaro dark: Scuro diff --git a/config/locales/ja.yml b/config/locales/ja.yml index f1409a55d8b..e6a0fbaa287 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -241,6 +241,7 @@ ja: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ ja: empty_placeholder: 該当結果が見つかりませんでした。 loading_placeholder: 検索中... results_title: 検索結果 + results: 検索結果 + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: 検索 toc_header: 'このページで' + sidebar: + help_center: ヘルプセンター + categories: カテゴリー + language: 言語 + theme: Theme + open_sidebar: サイドバーを開く + close_sidebar: サイドバーを閉じる + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: ここで記事を検索するか、以下のカテゴリを参照してください。 common: @@ -427,12 +450,21 @@ ja: others: その他 by: 作成者 no_articles: ここには記事がありません + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: 作成 header: go_to_homepage: ウェブサイト visit_website: Visit website appearance: + title: 外観 system: システム light: ライト dark: ダーク diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 8272e6edaee..81f2921f7b1 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -241,6 +241,7 @@ ka: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ka: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: ძებნა toc_header: 'On this page' + sidebar: + help_center: დახმარების ცენტრი + categories: კატეგორიები + language: Language + theme: Theme + open_sidebar: გვერდითი პანელის გახსნა + close_sidebar: გვერდითი პანელის დახურვა + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ ka: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/ko.yml b/config/locales/ko.yml index c52f3525bb3..e50dac85a68 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -241,6 +241,7 @@ ko: whatsapp: list_button_label: '항목 선택' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ ko: empty_placeholder: 검색 결과가 없습니다. loading_placeholder: 검색중... results_title: 검색 결과 + results: 검색 결과 + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: 검색 toc_header: '이 페이지에서' + sidebar: + help_center: 도움말 센터 + categories: 카테고리 + language: 언어 + theme: Theme + open_sidebar: 사이드바 열기 + close_sidebar: 사이드바 닫기 + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: 게시물을 여기서 검색하거나 아래에서 카테고리를 탐색해보세요. common: @@ -427,12 +450,21 @@ ko: others: 기타 by: 작성자 no_articles: 게시물이 없습니다. + previous: 이전 + next: 다음 + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: 제작 도구 header: go_to_homepage: 홈페이지 visit_website: 웹사이트 방문 appearance: + title: 외관 system: 시스템 light: 밝게 dark: 어둡게 diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 8e78bccf8be..eaf3ff8ffed 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -241,6 +241,7 @@ lt: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ lt: empty_placeholder: Nieko nerasta. loading_placeholder: Ieškoma... results_title: Paieškos rezultatai + results: Rezultatų Paieška + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Ieškoti toc_header: 'Šitame puslapyje' + sidebar: + help_center: Palaikymo centras + categories: Kategorijos + language: Kalba + theme: Theme + open_sidebar: Atidaryti šoninę juostą + close_sidebar: Uždaryti šoninę juostą + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Ieškokite straipsnių čia arba naršykite toliau pateiktose kategorijose. common: @@ -427,12 +453,21 @@ lt: others: kiti by: Autorius no_articles: Čia nėra straipsnių + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Padaryta su header: go_to_homepage: Internetinis puslapis visit_website: Visit website appearance: + title: Išvaizda system: Sistema light: Šviesus dark: Tamsus diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 7f28dbca0c4..c8e45b2a433 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -241,6 +241,7 @@ lv: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,31 @@ lv: empty_placeholder: Nav atrasts. loading_placeholder: Meklēšana... results_title: Meklēšanas rezultāti + results: Meklēšanas Rezultāti + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + zero: 'Found %{count} results' + one: Found 1 result + other: 'Found %{count} results' + submit: Meklēt toc_header: 'Šajā lapā' + sidebar: + help_center: Palīdzības centrs + categories: Kategorijas + language: Valoda + theme: Theme + open_sidebar: Atvērt sānjoslu + close_sidebar: Aizvērt sānjoslu + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Meklējiet rakstus šeit, vai pārlūkojiet tālāk norādītās kategorijas. common: @@ -427,12 +452,21 @@ lv: others: citi by: autors no_articles: Šeit nav neviena raksta + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Veidots ar header: go_to_homepage: Tīmekļa vietne visit_website: Visit website appearance: + title: Izskats system: Sistēma light: Gaišs dark: Tumšs diff --git a/config/locales/ml.yml b/config/locales/ml.yml index 583e033b26d..7dee9f5255c 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -241,6 +241,7 @@ ml: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ml: empty_placeholder: ഒരു ഫലവും കണ്ടെത്താനായില്ല. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: തിരയുക toc_header: 'On this page' + sidebar: + help_center: സഹായ കേന്ദ്രം + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ ml: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/ms.yml b/config/locales/ms.yml index e506a88259a..095c8b9e3eb 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -241,6 +241,7 @@ ms: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ ms: empty_placeholder: Tiada dijumpa. loading_placeholder: Searching... results_title: Search results + results: Keputusan Carian + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: Cari toc_header: 'On this page' + sidebar: + help_center: Pusat Bantuan + categories: Kategori + language: Language + theme: Theme + open_sidebar: Buka bar sisi + close_sidebar: Tutup bar sisi + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +450,21 @@ ms: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/ne.yml b/config/locales/ne.yml index 3dc7731ce66..cbc3d624f63 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -241,6 +241,7 @@ ne: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ne: empty_placeholder: कुनै परिणाम फेला परेन. loading_placeholder: खोज्दै... results_title: खोज परिणामहरू + results: खोज परिणामहरू + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: खोज्नुहोस् toc_header: 'यस पृष्ठमा' + sidebar: + help_center: मद्दत केन्द्र + categories: श्रेणीहरू + language: Language + theme: Theme + open_sidebar: साइडबार खोल्नु + close_sidebar: साइडबार बन्द गर्नु + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: यहाँ लेखहरू खोज्नुहोस् वा तलका श्रेणीहरू हेर्नुहोस्।. common: @@ -427,12 +451,21 @@ ne: others: others by: द्वारा no_articles: यहाँ कुनै लेखहरू छैनन् + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: वेबसाइट visit_website: Visit website appearance: + title: Appearance system: प्रणाली light: हल्का dark: गाढा diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 97a5ae9a4a1..7d872bcab85 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -241,6 +241,7 @@ nl: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ nl: empty_placeholder: Geen resultaten gevonden. loading_placeholder: Zoeken... results_title: Zoekresultaten + results: Zoekresultaten + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Zoeken toc_header: 'Op deze pagina' + sidebar: + help_center: Help Center + categories: Categories + language: Taal + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Zoek hier naar de artikelen of blader door de onderstaande categorieën. common: @@ -427,12 +451,21 @@ nl: others: others by: By no_articles: There are no articles here + previous: Previous + next: Volgende + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Mogelijk gemaakt door header: go_to_homepage: Website visit_website: Visit website appearance: + title: Weergave system: Systeem light: Light dark: Dark diff --git a/config/locales/no.yml b/config/locales/no.yml index c311ae85ef6..5a9caa60cbb 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -241,6 +241,7 @@ whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Søk toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 3c3c0c1be4f..f4368c2309c 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -241,6 +241,7 @@ pl: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ pl: empty_placeholder: Brak wyników. loading_placeholder: Wyszukiwanie... results_title: Wyniki wyszukiwania + results: Wyniki wyszukiwania + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Szukaj toc_header: 'Na tej stronie' + sidebar: + help_center: Centrum pomocy + categories: Kategorie + language: Język + theme: Theme + open_sidebar: Otwórz panel boczny + close_sidebar: Zamknij panel boczny + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Szukaj artykułów tutaj lub przeglądaj kategorie poniżej. common: @@ -427,12 +453,21 @@ pl: others: others by: By no_articles: Nie ma tu żadnych artykułów + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Wykonane z header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 1cec41f9d36..e5cf9e883f5 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -241,6 +241,7 @@ pt: whatsapp: list_button_label: 'Escolha um item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ pt: empty_placeholder: Nenhum resultado encontrado. loading_placeholder: A pesquisar... results_title: Resultados da pesquisa + results: Resultados da pesquisa + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Procurar toc_header: 'Nesta página' + sidebar: + help_center: Centro de suporte + categories: Categorias + language: Idioma + theme: Theme + open_sidebar: Abrir barra lateral + close_sidebar: Fechar barra lateral + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Pesquise aqui os artigos ou procure as categorias abaixo. common: @@ -427,12 +451,21 @@ pt: others: outros by: Por no_articles: Não há artigos aqui + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Feito com header: go_to_homepage: Website visit_website: Visitar website appearance: + title: Aparência system: Sistema light: Claro dark: Escuro diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index 73dd356a7ae..f647c2c9afd 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -110,7 +110,7 @@ pt_BR: contact_phone_required: 'Número de telefone do contato é obrigatório' permission_request_failed: 'Falha ao enviar solicitação de permissão de chamada' openai: - invalid_api_key: 'OpenAI API key is invalid or revoked. Please check your key in your OpenAI dashboard.' + invalid_api_key: 'A chave da API da OpenAI é inválida ou revogada. Por favor, verifique sua chave no seu painel da OpenAI.' inboxes: imap: socket_error: Por favor, verifique a conexão de rede, endereço IMAP e tente novamente. @@ -241,6 +241,7 @@ pt_BR: whatsapp: list_button_label: 'Escolha um item' call_permission_request_body: 'Gostaríamos de ligar para você em relação à sua conversa.' + unsupported_message: 'Esta mensagem não está disponível.' voice_call: twilio: 'Chamada de Voz' whatsapp: 'Chamada do WhatsApp' @@ -412,6 +413,13 @@ pt_BR: empty_placeholder: Nenhum resultado encontrado. loading_placeholder: Procurando... results_title: Resultados de pesquisa + results: Resultados da Pesquisa + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Um resultado encontrado + other: 'Found %{count} results' + submit: Pesquisar toc_header: 'Nesta página' sidebar: help_center: Central de Ajuda @@ -427,8 +435,8 @@ pt_BR: popular_articles: Artigos populares popular_articles_subtitle: O que outras pessoas estão lendo agora. popular_label: 'Tópicos populares:' - authors_others: "%{names} e mais %{count}" - primary_nav: Navegação principal + authors_others: "%{names} e %{count} outros" + primary_nav: Primário hero: sub_title: Pesquise os artigos aqui ou navegue pelas categorias abaixo. common: @@ -443,6 +451,8 @@ pt_BR: others: outros by: Por no_articles: Não há artigos aqui + previous: Anterior + next: Próximo article_actions: label: Abrir em view_markdown: Ver como Markdown @@ -455,6 +465,7 @@ pt_BR: go_to_homepage: Site visit_website: Visite o site appearance: + title: Tema system: Sistema light: Claro dark: Escuro diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 89f8ea4972d..5b5772b41ed 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -241,6 +241,7 @@ ro: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,31 @@ ro: empty_placeholder: Niciun rezultat găsit. loading_placeholder: In căutare... results_title: Rezultate căutare pentru + results: Rezultate căutare + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + other: 'Found %{count} results' + submit: Caută toc_header: 'Pe această pagină' + sidebar: + help_center: Asistenta + categories: Categorii + language: Limbă + theme: Theme + open_sidebar: Deschideți bara laterală + close_sidebar: Închideți bara laterală + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Căutați articolele aici sau răsfoiți categoriile de mai jos. common: @@ -427,12 +452,21 @@ ro: others: others by: By no_articles: Nu există articole aici + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Realizat cu header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: Sistem light: Light dark: Dark diff --git a/config/locales/ru.yml b/config/locales/ru.yml index c5884b52126..ff7ac79808c 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -241,6 +241,7 @@ ru: whatsapp: list_button_label: 'Выберите элемент' call_permission_request_body: 'Мы хотели бы позвонить Вам по поводу Вашего разговора.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Голосовой звонок' whatsapp: 'WhatsApp звонок' @@ -412,7 +413,32 @@ ru: empty_placeholder: Результаты не найдены. loading_placeholder: Идёт поиск... results_title: Результаты поиска + results: Результаты поиска + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Поиск toc_header: 'На этой странице' + sidebar: + help_center: Центр поддержки + categories: Категории + language: Язык + theme: Theme + open_sidebar: Открыть боковую панель + close_sidebar: Закрыть боковую панель + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Ищите здесь статьи или выберите категории, указанные ниже. common: @@ -427,12 +453,21 @@ ru: others: другие by: От no_articles: Здесь нет статей + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Сделано с header: go_to_homepage: Сайт visit_website: Посетить сайт appearance: + title: Образец system: Система light: Светлая dark: Тёмная diff --git a/config/locales/sh.yml b/config/locales/sh.yml index 749490e192b..37588e130ba 100644 --- a/config/locales/sh.yml +++ b/config/locales/sh.yml @@ -241,6 +241,7 @@ sh: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ sh: empty_placeholder: Nema pronađenih rezultata. loading_placeholder: Pretraga... results_title: Rezultati pretrage + results: Rezultati pretrage + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Pretraži toc_header: 'On this page' + sidebar: + help_center: Centar za pomoć + categories: Kategorije + language: Language + theme: Theme + open_sidebar: Otvori bočnu traku + close_sidebar: Zatvori bočnu traku + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Ovde pretražite članke ili pregledajte kategorije ispod. common: @@ -427,12 +453,21 @@ sh: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 55256f38a8a..2a5c9d917de 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -241,6 +241,7 @@ sk: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ sk: empty_placeholder: Žiadne výsledky neboli nájdené. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Hľadať toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +453,21 @@ sk: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 6182643c324..0cb87bfbb89 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -241,6 +241,7 @@ sl: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ sl: empty_placeholder: Ni rezultatov. loading_placeholder: Iskanje ... results_title: Rezultati iskanja + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + two: 'Found %{count} results' + few: 'Found %{count} results' + other: 'Found %{count} results' + submit: Išči toc_header: 'Na tej strani' + sidebar: + help_center: Pomoč + categories: Kategorije + language: Jezik + theme: Theme + open_sidebar: Odpri stransko vrstico + close_sidebar: Zapri stransko vrstico + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Poiščite članke tukaj ali prebrskajte spodnje kategorije. common: @@ -427,12 +453,21 @@ sl: others: ostali by: Od no_articles: Tukaj ni člankov + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Narejeno z header: go_to_homepage: Spletna stran visit_website: Visit website appearance: + title: Appearance system: Sistem light: Svetlo dark: Temno diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 35c5f691179..59e98e325ba 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -241,6 +241,7 @@ sq: whatsapp: list_button_label: 'Zgjidhni një element' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ sq: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Kërko toc_header: 'On this page' + sidebar: + help_center: Qendra e Ndihmës + categories: Kategoritë + language: Language + theme: Theme + open_sidebar: Hap shiritin anësor + close_sidebar: Mbyll shiritin anësor + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ sq: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Vizitoni faqen e internetit appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/sr.yml b/config/locales/sr.yml index c220b543751..5120a106614 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -241,6 +241,7 @@ sr-Latn: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,31 @@ sr-Latn: empty_placeholder: Ništa nije pronađeno. loading_placeholder: Searching... results_title: Search results + results: Rezultat pretrage + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + other: 'Found %{count} results' + submit: Traži toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Jezik + theme: Theme + open_sidebar: Otvorite bočnu traku + close_sidebar: Zatvorite bočnu traku + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +452,21 @@ sr-Latn: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/sv.yml b/config/locales/sv.yml index ba1d82c77c7..94c0ba3cbc0 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -241,6 +241,7 @@ sv: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ sv: empty_placeholder: Inga resultat hittades. loading_placeholder: Searching... results_title: Search results + results: Sökresultat + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Sök toc_header: 'På denna sida' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Sök efter artiklarna här eller bläddra i kategorierna nedan. common: @@ -427,12 +451,21 @@ sv: others: andra by: Av no_articles: Det finns inga artiklar här + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Gjord med header: go_to_homepage: Hemsida visit_website: Visit website appearance: + title: Appearance system: System light: Ljus dark: Mörk diff --git a/config/locales/ta.yml b/config/locales/ta.yml index c1faba78487..0915cdabdb9 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -241,6 +241,7 @@ ta: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ta: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Search toc_header: 'On this page' + sidebar: + help_center: உதவி மையம் + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ ta: others: others by: By no_articles: There are no articles here + previous: Previous + next: அடுத்து + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/th.yml b/config/locales/th.yml index 1f3420af2f4..3131e5918e0 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -241,6 +241,7 @@ th: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ th: empty_placeholder: ไม่พบผลการค้นหา loading_placeholder: Searching... results_title: Search results + results: ผลการค้นหา + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: ค้นหา toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +450,21 @@ th: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/tl.yml b/config/locales/tl.yml index 64ea7e0b9d4..e95be47940b 100644 --- a/config/locales/tl.yml +++ b/config/locales/tl.yml @@ -241,6 +241,7 @@ tl: whatsapp: list_button_label: 'Pumili ng isang item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ tl: empty_placeholder: Walang nahanap na resulta. loading_placeholder: Naghahanap... results_title: Mga resulta ng paghahanap + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Hanapin toc_header: 'Sa pahinang ito' + sidebar: + help_center: Help Center + categories: Mga kategorya + language: Language + theme: Theme + open_sidebar: Buksan ang sidebar + close_sidebar: Isara ang sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Maghanap ng mga artikulo dito o tingnan ang mga kategorya sa ibaba. common: @@ -427,12 +451,21 @@ tl: others: mga iba by: Ni no_articles: Walang mga artikulo dito + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Ginawa gamit ang header: go_to_homepage: Website visit_website: Bisitahin ang website appearance: + title: Appearance system: Sistema light: Maliwanag dark: Madilim diff --git a/config/locales/tr.yml b/config/locales/tr.yml index f3e72a41e6c..fdeb503412e 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -241,6 +241,7 @@ tr: whatsapp: list_button_label: 'Bir öğe seçin' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ tr: empty_placeholder: Sonuç bulunamadı. loading_placeholder: Aranıyor... results_title: Arama sonuçları + results: Arama Sonucu + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: Ara toc_header: 'Bu sayfada' + sidebar: + help_center: Yardım Merkezi + categories: Kategoriler + language: Dil + theme: Theme + open_sidebar: Kenar Çubuğunu Aç + close_sidebar: Kenar Çubuğunu Kapat + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Makaleleri buradan arayın veya aşağıdaki kategorilere göz atın. common: @@ -427,12 +451,21 @@ tr: others: diğerleri by: Tarafından no_articles: Burada makale bulunmuyor + previous: Önceki + next: Sonraki + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: İle yapılmıştır header: go_to_homepage: Website visit_website: Siteyi ziyaret et appearance: + title: Görünüm system: Sistem light: Açık Mod dark: Koyu Mod diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 9ba2807266d..7cef7561a30 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -241,6 +241,7 @@ uk: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,32 @@ uk: empty_placeholder: Результатів не знайдено. loading_placeholder: Шукаємо... results_title: Результати пошуку + results: Результати пошуку + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + few: 'Found %{count} results' + many: 'Found %{count} results' + other: 'Found %{count} results' + submit: Пошук toc_header: 'На цій сторінці' + sidebar: + help_center: Довідковий центр + categories: Категорії + language: Мова + theme: Theme + open_sidebar: Відкрити бічну панель + close_sidebar: Закрити бічну панель + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Шукайте тут або перегляньте категорії нижче. common: @@ -427,12 +453,21 @@ uk: others: інші by: Від no_articles: Тут немає статей + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Зроблено з header: go_to_homepage: Вебсайт visit_website: Visit website appearance: + title: Оформлення system: Системна light: Світла dark: Темна diff --git a/config/locales/ur.yml b/config/locales/ur.yml index 1ec17a447ba..0a3d9c705c1 100644 --- a/config/locales/ur.yml +++ b/config/locales/ur.yml @@ -241,6 +241,7 @@ ur: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ur: empty_placeholder: کوئی نتیجہ نہیں. loading_placeholder: Searching... results_title: Search results + results: تلاش کے نتائج + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: تلاش کریں۔ toc_header: 'On this page' + sidebar: + help_center: Help Center + categories: Categories + language: Language + theme: Theme + open_sidebar: Open sidebar + close_sidebar: Close sidebar + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ ur: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/ur_IN.yml b/config/locales/ur_IN.yml index f3c26d1c8d1..f3cfab8b107 100644 --- a/config/locales/ur_IN.yml +++ b/config/locales/ur_IN.yml @@ -241,6 +241,7 @@ ur: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,30 @@ ur: empty_placeholder: No results found. loading_placeholder: Searching... results_title: Search results + results: Search Results + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + one: Found 1 result + other: 'Found %{count} results' + submit: تلاش کریں toc_header: 'On this page' + sidebar: + help_center: مدد مرکز + categories: زمرہ جات + language: Language + theme: Theme + open_sidebar: سائڈبار کھولیں + close_sidebar: سائڈبار بند کریں + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Search for the articles here or browse the categories below. common: @@ -427,12 +451,21 @@ ur: others: others by: By no_articles: There are no articles here + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Made with header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/vi.yml b/config/locales/vi.yml index fa827806f06..b6430287ef8 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -241,6 +241,7 @@ vi: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ vi: empty_placeholder: Không tìm thấy kết quả. loading_placeholder: Đang tìm kiếm... results_title: Các kết quả tìm kiếm + results: Các kết quả tìm kiếm + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: Tìm kiếm toc_header: 'Trên trang này' + sidebar: + help_center: Help Center + categories: Danh mục + language: Ngôn ngữ + theme: Theme + open_sidebar: Mở thanh bên + close_sidebar: Đóng thanh bên + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: Tìm trong bài viết hoặc xem danh mục dưới đây. common: @@ -427,12 +450,21 @@ vi: others: others by: By no_articles: Không tìm thấy bài viết + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: Tạo bởi header: go_to_homepage: Website visit_website: Visit website appearance: + title: Appearance system: System light: Light dark: Dark diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml index 89ebf755de7..5d1bdef9fb6 100644 --- a/config/locales/zh_CN.yml +++ b/config/locales/zh_CN.yml @@ -241,6 +241,7 @@ zh_CN: whatsapp: list_button_label: 'Choose an item' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ zh_CN: empty_placeholder: 未找到结果。 loading_placeholder: 搜索中... results_title: 搜索结果 + results: 搜索结果 + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: 搜索 toc_header: '在此页面' + sidebar: + help_center: 帮助中心 + categories: 类别 + language: 语言 + theme: Theme + open_sidebar: 打开侧边栏 + close_sidebar: 关闭侧边栏 + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: 在这里搜索文章或浏览下面的分类 common: @@ -427,12 +450,21 @@ zh_CN: others: 其他 by: 作者: no_articles: 没有文章在这里 + previous: Previous + next: Next + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: 制作于 header: go_to_homepage: 网站 visit_website: Visit website appearance: + title: 外观 system: 系统 light: 浅色 dark: 暗色 diff --git a/config/locales/zh_TW.yml b/config/locales/zh_TW.yml index 6e8055c512d..d51d86f2970 100644 --- a/config/locales/zh_TW.yml +++ b/config/locales/zh_TW.yml @@ -241,6 +241,7 @@ zh_TW: whatsapp: list_button_label: '選擇一個項目' call_permission_request_body: 'We would like to call you regarding your conversation.' + unsupported_message: 'This message is unavailable.' voice_call: twilio: 'Voice Call' whatsapp: 'WhatsApp Call' @@ -412,7 +413,29 @@ zh_TW: empty_placeholder: 查無結果。 loading_placeholder: 搜尋中... results_title: 搜尋結果 + results: 搜尋結果 + results_for: "Search Results for '%{query}'" + no_results: "No results found for '%{query}'" + found_results: + other: 'Found %{count} results' + submit: 搜尋 toc_header: '本頁內容' + sidebar: + help_center: 幫助中心 + categories: 分類 + language: 語言 + theme: Theme + open_sidebar: 開啟側邊欄 + close_sidebar: 關閉側邊欄 + browse: Browse + back_to_category: Back to %{name} + browse_by_topic: Browse by topic + browse_by_topic_subtitle: Find guides, tutorials, and answers organised by category. + popular_articles: Popular articles + popular_articles_subtitle: What other people are reading right now. + popular_label: 'Popular topics:' + authors_others: "%{names} and %{count} others" + primary_nav: Primary hero: sub_title: 在此搜尋文章或瀏覽以下分類。 common: @@ -423,16 +446,25 @@ zh_TW: articles: 篇文章 author: 位作者 authors: 位作者 - other: 其他 + other: other others: 其他 by: 作者: no_articles: 這裡還沒有文章 + previous: 上一頁 + next: 下一頁 + article_actions: + label: Open in + view_markdown: View as Markdown + open_in_chatgpt: Open in ChatGPT + open_in_claude: Open in Claude + llm_prompt: "Read the following article and help me understand it: %{url}" footer: made_with: 由以下技術製作 header: go_to_homepage: 網站首頁 visit_website: 前往網站 appearance: + title: 外觀 system: 系統 light: 淺色 dark: 深色