From 114c25cae848909b552257e6963b9bc2dfac96f2 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Tue, 23 Sep 2025 20:14:02 +0530 Subject: [PATCH 01/41] feat: Auto confirm user email when super admin make changes (#12418) - If super admin updates a user email from super admin panel , it will be confirmed automatically if confirmed at is present - Also unconfirmed emails will be visible for super admins on dashboard fixes: https://github.com/chatwoot/chatwoot/issues/8958 --- .../super_admin/users_controller.rb | 10 +++--- app/dashboards/user_dashboard.rb | 2 +- .../super_admin/users_controller_spec.rb | 34 +++++++++++++++++++ 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/app/controllers/super_admin/users_controller.rb b/app/controllers/super_admin/users_controller.rb index ff242030a..e98e61c95 100644 --- a/app/controllers/super_admin/users_controller.rb +++ b/app/controllers/super_admin/users_controller.rb @@ -13,11 +13,11 @@ class SuperAdmin::UsersController < SuperAdmin::ApplicationController redirect_to new_super_admin_user_path, notice: notice end end - # - # def update - # super - # send_foo_updated_email(requested_resource) - # end + + def update + requested_resource.skip_reconfirmation! if resource_params[:confirmed_at].present? + super + end # Override this method to specify custom lookup behavior. # This will be used to set the resource for the `show`, `edit`, and `update` diff --git a/app/dashboards/user_dashboard.rb b/app/dashboards/user_dashboard.rb index 8abdefd1a..753b617ef 100644 --- a/app/dashboards/user_dashboard.rb +++ b/app/dashboards/user_dashboard.rb @@ -59,11 +59,11 @@ class UserDashboard < Administrate::BaseDashboard SHOW_PAGE_ATTRIBUTES = %i[ id avatar_url - unconfirmed_email name type display_name email + unconfirmed_email created_at updated_at confirmed_at diff --git a/spec/controllers/super_admin/users_controller_spec.rb b/spec/controllers/super_admin/users_controller_spec.rb index 12f1b69dc..894c9d425 100644 --- a/spec/controllers/super_admin/users_controller_spec.rb +++ b/spec/controllers/super_admin/users_controller_spec.rb @@ -66,4 +66,38 @@ RSpec.describe 'Super Admin Users API', type: :request do end end end + + describe 'PATCH /super_admin/users/:id' do + let!(:user) { create(:user) } + let(:request_path) { "/super_admin/users/#{user.id}" } + + before { sign_in(super_admin, scope: :super_admin) } + + it 'skips reconfirmation when confirmed_at is provided' do + ActiveJob::Base.queue_adapter.enqueued_jobs.clear + patch request_path, params: { user: { email: 'updated@example.com', confirmed_at: Time.current } } + + expect(response).to have_http_status(:redirect) + expect(user.reload.email).to eq('updated@example.com') + expect(user.reload.unconfirmed_email).to be_nil + + mail_jobs = ActiveJob::Base.queue_adapter.enqueued_jobs.select do |job| + job[:job].to_s == 'ActionMailer::MailDeliveryJob' + end + expect(mail_jobs.count).to eq(0) + end + + it 'does not skip reconfirmation when confirmed_at is blank' do + ActiveJob::Base.queue_adapter.enqueued_jobs.clear + patch request_path, params: { user: { email: 'updated-again@example.com' } } + + expect(response).to have_http_status(:redirect) + expect(user.reload.unconfirmed_email).to eq('updated-again@example.com') + + mail_jobs = ActiveJob::Base.queue_adapter.enqueued_jobs.select do |job| + job[:job].to_s == 'ActionMailer::MailDeliveryJob' + end + expect(mail_jobs.count).to be >= 1 + end + end end From 728956a734930fc6d14a8964cd9f930c3acde777 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 23 Sep 2025 22:20:43 +0530 Subject: [PATCH 02/41] fix: Inbox delete confirmation fails due to whitespace (#12498) # Pull Request Template ## Description This PR fixes an issue where users are unable to delete an inbox because the delete confirmation button remains disabled. ### Cause Inboxes created with leading or trailing spaces in their names failed the confirmation check. During deletion, the confirmation modal compared the raw user input with the stored inbox name. Because whitespace was not normalized, the values did not match exactly, causing the delete button to remain inactive even when the correct name was entered. ### Solution The validation logic now trims whitespace from both the input and stored value before comparison. This ensures inbox names with accidental spaces are handled correctly, and the delete button works as expected in all cases. Fixes https://linear.app/chatwoot/issue/CW-5659/confirmation-button-greyed-out-randomly-when-deleting-inbox-from-inbox ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) ## How Has This Been Tested? **Steps to Reproduce** 1. Create an inbox with leading or trailing whitespace in its name. 2. Save and complete the inbox creation process. 3. Go to the inbox list and try deleting the inbox by entering the name without the whitespace in the confirmation modal. 4. Now you can't able to delete the inbox. ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --- .../components/widgets/modal/ConfirmDeleteModal.vue | 5 ++++- .../dashboard/routes/dashboard/settings/inbox/Settings.vue | 2 +- .../dashboard/settings/inbox/channels/360DialogWhatsapp.vue | 2 +- .../routes/dashboard/settings/inbox/channels/Api.vue | 2 +- .../dashboard/settings/inbox/channels/BandwidthSms.vue | 2 +- .../dashboard/settings/inbox/channels/CloudWhatsapp.vue | 2 +- .../routes/dashboard/settings/inbox/channels/Facebook.vue | 2 +- .../routes/dashboard/settings/inbox/channels/Line.vue | 2 +- .../routes/dashboard/settings/inbox/channels/Twilio.vue | 2 +- .../routes/dashboard/settings/inbox/channels/Website.vue | 2 +- .../inbox/channels/emailChannels/ForwardToOption.vue | 2 +- 11 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/modal/ConfirmDeleteModal.vue b/app/javascript/dashboard/components/widgets/modal/ConfirmDeleteModal.vue index a9a7cc16d..01d0a0e0a 100644 --- a/app/javascript/dashboard/components/widgets/modal/ConfirmDeleteModal.vue +++ b/app/javascript/dashboard/components/widgets/modal/ConfirmDeleteModal.vue @@ -32,7 +32,10 @@ export default { value: { required, isEqual(value) { - return value === this.confirmValue; + // Trim whitespace from both input and target values + const normalizedInput = (value || '').trim(); + const normalizedTarget = (this.confirmValue || '').trim(); + return normalizedInput === normalizedTarget; }, }, }, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue index 1f455f112..aa1def9e9 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue @@ -341,7 +341,7 @@ export default { try { const payload = { id: this.currentInboxId, - name: this.selectedInboxName, + name: this.selectedInboxName?.trim(), enable_email_collect: this.emailCollectEnabled, allow_messages_after_resolved: this.allowMessagesAfterResolved, greeting_enabled: this.greetingEnabled, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/360DialogWhatsapp.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/360DialogWhatsapp.vue index 3a622425a..def828083 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/360DialogWhatsapp.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/360DialogWhatsapp.vue @@ -41,7 +41,7 @@ export default { const whatsappChannel = await this.$store.dispatch( 'inboxes/createChannel', { - name: this.inboxName, + name: this.inboxName?.trim(), channel: { type: 'whatsapp', phone_number: this.phoneNumber, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Api.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Api.vue index e9288e956..15054fe1e 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Api.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Api.vue @@ -42,7 +42,7 @@ export default { try { const apiChannel = await this.$store.dispatch('inboxes/createChannel', { - name: this.channelName, + name: this.channelName?.trim(), channel: { type: 'api', webhook_url: this.webhookUrl, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/BandwidthSms.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/BandwidthSms.vue index 157f58f12..cd7ad401a 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/BandwidthSms.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/BandwidthSms.vue @@ -48,7 +48,7 @@ export default { try { const smsChannel = await this.$store.dispatch('inboxes/createChannel', { - name: this.inboxName, + name: this.inboxName?.trim(), channel: { type: 'sms', phone_number: this.phoneNumber, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/CloudWhatsapp.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/CloudWhatsapp.vue index 1161da5af..0c1ac3a14 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/CloudWhatsapp.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/CloudWhatsapp.vue @@ -45,7 +45,7 @@ export default { const whatsappChannel = await this.$store.dispatch( 'inboxes/createChannel', { - name: this.inboxName, + name: this.inboxName?.trim(), channel: { type: 'whatsapp', phone_number: this.phoneNumber, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Facebook.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Facebook.vue index be3051864..db1928ea8 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Facebook.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Facebook.vue @@ -179,7 +179,7 @@ export default { user_access_token: this.user_access_token, page_access_token: this.selectedPage.access_token, page_id: this.selectedPage.id, - inbox_name: this.selectedPage.name, + inbox_name: this.selectedPage.name?.trim(), }; }, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Line.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Line.vue index b3694beb8..815b40eb2 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Line.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Line.vue @@ -45,7 +45,7 @@ export default { const lineChannel = await this.$store.dispatch( 'inboxes/createChannel', { - name: this.channelName, + name: this.channelName?.trim(), channel: { type: 'line', line_channel_id: this.lineChannelId, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Twilio.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Twilio.vue index 844392f49..677c7c284 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Twilio.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Twilio.vue @@ -85,7 +85,7 @@ export default { 'inboxes/createTwilioChannel', { twilio_channel: { - name: this.channelName, + name: this.channelName?.trim(), medium: this.medium, account_sid: this.accountSID, api_key_sid: this.apiKeySID, diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Website.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Website.vue index b6e114f2b..6f21acd52 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Website.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/Website.vue @@ -47,7 +47,7 @@ export default { const website = await this.$store.dispatch( 'inboxes/createWebsiteChannel', { - name: this.inboxName, + name: this.inboxName?.trim(), greeting_enabled: this.greetingEnabled, greeting_message: this.greetingMessage, channel: { diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/ForwardToOption.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/ForwardToOption.vue index eef7574f3..dbe8caba7 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/ForwardToOption.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/channels/emailChannels/ForwardToOption.vue @@ -42,7 +42,7 @@ export default { const emailChannel = await this.$store.dispatch( 'inboxes/createChannel', { - name: this.channelName, + name: this.channelName?.trim(), channel: { type: 'email', email: this.email, From 68c070bcd9b4a44cacc09068940e87c99401f3a9 Mon Sep 17 00:00:00 2001 From: Chatwoot Bot <92152627+chatwoot-bot@users.noreply.github.com> Date: Tue, 23 Sep 2025 22:17:31 -0700 Subject: [PATCH 03/41] chore: Update translations (#12506) --- .../dashboard/i18n/locale/am/contact.json | 4 +- .../dashboard/i18n/locale/am/login.json | 16 ++++- .../dashboard/i18n/locale/ar/contact.json | 4 +- .../dashboard/i18n/locale/ar/login.json | 16 ++++- .../dashboard/i18n/locale/az/contact.json | 4 +- .../dashboard/i18n/locale/az/login.json | 16 ++++- .../dashboard/i18n/locale/bg/contact.json | 4 +- .../dashboard/i18n/locale/bg/login.json | 16 ++++- .../dashboard/i18n/locale/ca/contact.json | 4 +- .../dashboard/i18n/locale/ca/login.json | 16 ++++- .../dashboard/i18n/locale/cs/contact.json | 4 +- .../dashboard/i18n/locale/cs/login.json | 16 ++++- .../dashboard/i18n/locale/da/contact.json | 4 +- .../dashboard/i18n/locale/da/login.json | 16 ++++- .../dashboard/i18n/locale/de/contact.json | 4 +- .../dashboard/i18n/locale/de/login.json | 16 ++++- .../dashboard/i18n/locale/el/contact.json | 4 +- .../dashboard/i18n/locale/el/login.json | 16 ++++- .../dashboard/i18n/locale/es/contact.json | 4 +- .../dashboard/i18n/locale/es/login.json | 16 ++++- .../dashboard/i18n/locale/fa/contact.json | 4 +- .../dashboard/i18n/locale/fa/login.json | 16 ++++- .../dashboard/i18n/locale/fi/contact.json | 4 +- .../dashboard/i18n/locale/fi/login.json | 16 ++++- .../dashboard/i18n/locale/fr/contact.json | 4 +- .../dashboard/i18n/locale/fr/login.json | 16 ++++- .../dashboard/i18n/locale/he/contact.json | 4 +- .../dashboard/i18n/locale/he/login.json | 16 ++++- .../dashboard/i18n/locale/hi/contact.json | 4 +- .../dashboard/i18n/locale/hi/login.json | 16 ++++- .../dashboard/i18n/locale/hr/contact.json | 4 +- .../dashboard/i18n/locale/hr/login.json | 16 ++++- .../dashboard/i18n/locale/hu/contact.json | 4 +- .../dashboard/i18n/locale/hu/login.json | 16 ++++- .../dashboard/i18n/locale/hy/contact.json | 4 +- .../dashboard/i18n/locale/hy/login.json | 16 ++++- .../dashboard/i18n/locale/id/contact.json | 4 +- .../dashboard/i18n/locale/id/login.json | 16 ++++- .../dashboard/i18n/locale/is/contact.json | 4 +- .../dashboard/i18n/locale/is/login.json | 16 ++++- .../dashboard/i18n/locale/it/contact.json | 4 +- .../dashboard/i18n/locale/it/login.json | 16 ++++- .../dashboard/i18n/locale/ja/contact.json | 4 +- .../dashboard/i18n/locale/ja/login.json | 16 ++++- .../dashboard/i18n/locale/ka/contact.json | 4 +- .../dashboard/i18n/locale/ka/login.json | 16 ++++- .../dashboard/i18n/locale/ko/contact.json | 4 +- .../dashboard/i18n/locale/ko/login.json | 16 ++++- .../dashboard/i18n/locale/lt/contact.json | 4 +- .../dashboard/i18n/locale/lt/login.json | 16 ++++- .../dashboard/i18n/locale/lv/contact.json | 4 +- .../dashboard/i18n/locale/lv/login.json | 16 ++++- .../dashboard/i18n/locale/ml/contact.json | 4 +- .../dashboard/i18n/locale/ml/login.json | 16 ++++- .../dashboard/i18n/locale/ms/contact.json | 4 +- .../dashboard/i18n/locale/ms/login.json | 16 ++++- .../dashboard/i18n/locale/ne/contact.json | 4 +- .../dashboard/i18n/locale/ne/login.json | 16 ++++- .../dashboard/i18n/locale/nl/contact.json | 4 +- .../dashboard/i18n/locale/nl/login.json | 16 ++++- .../dashboard/i18n/locale/no/contact.json | 4 +- .../dashboard/i18n/locale/no/login.json | 16 ++++- .../dashboard/i18n/locale/pl/contact.json | 4 +- .../dashboard/i18n/locale/pl/login.json | 16 ++++- .../dashboard/i18n/locale/pt/contact.json | 4 +- .../dashboard/i18n/locale/pt/login.json | 16 ++++- .../dashboard/i18n/locale/pt_BR/contact.json | 4 +- .../i18n/locale/pt_BR/contentTemplates.json | 6 +- .../i18n/locale/pt_BR/conversation.json | 28 ++++---- .../i18n/locale/pt_BR/integrations.json | 22 +++---- .../dashboard/i18n/locale/pt_BR/login.json | 16 ++++- .../dashboard/i18n/locale/pt_BR/mfa.json | 2 +- .../dashboard/i18n/locale/pt_BR/settings.json | 24 +++---- .../dashboard/i18n/locale/ro/contact.json | 4 +- .../dashboard/i18n/locale/ro/login.json | 16 ++++- .../dashboard/i18n/locale/ru/contact.json | 4 +- .../dashboard/i18n/locale/ru/login.json | 16 ++++- .../dashboard/i18n/locale/sh/contact.json | 4 +- .../dashboard/i18n/locale/sh/login.json | 16 ++++- .../dashboard/i18n/locale/sk/contact.json | 4 +- .../dashboard/i18n/locale/sk/login.json | 16 ++++- .../dashboard/i18n/locale/sl/contact.json | 4 +- .../dashboard/i18n/locale/sl/login.json | 16 ++++- .../dashboard/i18n/locale/sq/contact.json | 4 +- .../dashboard/i18n/locale/sq/login.json | 16 ++++- .../dashboard/i18n/locale/sr/contact.json | 4 +- .../dashboard/i18n/locale/sr/login.json | 16 ++++- .../dashboard/i18n/locale/sv/contact.json | 4 +- .../dashboard/i18n/locale/sv/login.json | 16 ++++- .../dashboard/i18n/locale/ta/contact.json | 4 +- .../dashboard/i18n/locale/ta/login.json | 16 ++++- .../dashboard/i18n/locale/th/contact.json | 4 +- .../dashboard/i18n/locale/th/login.json | 16 ++++- .../dashboard/i18n/locale/tl/contact.json | 4 +- .../dashboard/i18n/locale/tl/login.json | 16 ++++- .../dashboard/i18n/locale/tr/contact.json | 4 +- .../dashboard/i18n/locale/tr/login.json | 16 ++++- .../dashboard/i18n/locale/uk/contact.json | 4 +- .../dashboard/i18n/locale/uk/login.json | 16 ++++- .../dashboard/i18n/locale/ur/contact.json | 4 +- .../dashboard/i18n/locale/ur/login.json | 16 ++++- .../dashboard/i18n/locale/ur_IN/contact.json | 4 +- .../dashboard/i18n/locale/ur_IN/login.json | 16 ++++- .../dashboard/i18n/locale/vi/contact.json | 4 +- .../dashboard/i18n/locale/vi/login.json | 16 ++++- .../dashboard/i18n/locale/zh_CN/contact.json | 4 +- .../dashboard/i18n/locale/zh_CN/login.json | 16 ++++- .../dashboard/i18n/locale/zh_TW/contact.json | 4 +- .../dashboard/i18n/locale/zh_TW/login.json | 16 ++++- config/locales/am.yml | 4 ++ config/locales/ar.yml | 4 ++ config/locales/az.yml | 4 ++ config/locales/bg.yml | 4 ++ config/locales/ca.yml | 4 ++ config/locales/cs.yml | 4 ++ config/locales/da.yml | 4 ++ config/locales/de.yml | 4 ++ config/locales/el.yml | 4 ++ config/locales/es.yml | 4 ++ config/locales/fa.yml | 4 ++ config/locales/fi.yml | 4 ++ config/locales/fr.yml | 4 ++ config/locales/he.yml | 4 ++ config/locales/hi.yml | 4 ++ config/locales/hr.yml | 4 ++ config/locales/hu.yml | 4 ++ config/locales/hy.yml | 4 ++ config/locales/id.yml | 4 ++ config/locales/is.yml | 4 ++ config/locales/it.yml | 4 ++ config/locales/ja.yml | 4 ++ config/locales/ka.yml | 4 ++ config/locales/ko.yml | 4 ++ config/locales/lt.yml | 4 ++ config/locales/lv.yml | 4 ++ config/locales/ml.yml | 4 ++ config/locales/ms.yml | 4 ++ config/locales/ne.yml | 4 ++ config/locales/nl.yml | 4 ++ config/locales/no.yml | 4 ++ config/locales/pl.yml | 4 ++ config/locales/pt.yml | 4 ++ config/locales/pt_BR.yml | 64 ++++++++++--------- config/locales/ro.yml | 4 ++ config/locales/ru.yml | 4 ++ config/locales/sh.yml | 4 ++ config/locales/sk.yml | 4 ++ config/locales/sl.yml | 4 ++ config/locales/sq.yml | 4 ++ config/locales/sr.yml | 4 ++ config/locales/sv.yml | 4 ++ config/locales/ta.yml | 4 ++ config/locales/th.yml | 4 ++ config/locales/tl.yml | 4 ++ config/locales/tr.yml | 4 ++ config/locales/uk.yml | 4 ++ config/locales/ur.yml | 4 ++ config/locales/ur_IN.yml | 4 ++ config/locales/vi.yml | 4 ++ config/locales/zh_CN.yml | 4 ++ config/locales/zh_TW.yml | 4 ++ 161 files changed, 1215 insertions(+), 175 deletions(-) diff --git a/app/javascript/dashboard/i18n/locale/am/contact.json b/app/javascript/dashboard/i18n/locale/am/contact.json index 84f4f0b58..63b8f10dd 100644 --- a/app/javascript/dashboard/i18n/locale/am/contact.json +++ b/app/javascript/dashboard/i18n/locale/am/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "ሰብስብ", "NO_NOTES": "ማስታወሻዎች የሉም፣ ከእውቂያው ዝርዝር ገፅ ላይ ማስታወሻዎችን መጨመር ይችላሉ።", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/am/login.json b/app/javascript/dashboard/i18n/locale/am/login.json index ec5658db2..864c76359 100644 --- a/app/javascript/dashboard/i18n/locale/am/login.json +++ b/app/javascript/dashboard/i18n/locale/am/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create a new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json index d9588349d..d7eccb643 100644 --- a/app/javascript/dashboard/i18n/locale/ar/contact.json +++ b/app/javascript/dashboard/i18n/locale/ar/contact.json @@ -554,10 +554,12 @@ "WROTE": "كتب", "YOU": "أنت", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ar/login.json b/app/javascript/dashboard/i18n/locale/ar/login.json index aed2442ad..ff15c3c8e 100644 --- a/app/javascript/dashboard/i18n/locale/ar/login.json +++ b/app/javascript/dashboard/i18n/locale/ar/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "نسيت كلمة المرور؟", "CREATE_NEW_ACCOUNT": "إنشاء حساب جديد", - "SUBMIT": "تسجيل الدخول" + "SUBMIT": "تسجيل الدخول", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/az/contact.json b/app/javascript/dashboard/i18n/locale/az/contact.json index 12b2d097e..54d783efc 100644 --- a/app/javascript/dashboard/i18n/locale/az/contact.json +++ b/app/javascript/dashboard/i18n/locale/az/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/az/login.json b/app/javascript/dashboard/i18n/locale/az/login.json index ec5658db2..864c76359 100644 --- a/app/javascript/dashboard/i18n/locale/az/login.json +++ b/app/javascript/dashboard/i18n/locale/az/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create a new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/bg/contact.json b/app/javascript/dashboard/i18n/locale/bg/contact.json index b29aa05b9..47d3a9e44 100644 --- a/app/javascript/dashboard/i18n/locale/bg/contact.json +++ b/app/javascript/dashboard/i18n/locale/bg/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/bg/login.json b/app/javascript/dashboard/i18n/locale/bg/login.json index e95a36baf..2dc2990e4 100644 --- a/app/javascript/dashboard/i18n/locale/bg/login.json +++ b/app/javascript/dashboard/i18n/locale/bg/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json index 7e67256b7..7578e172f 100644 --- a/app/javascript/dashboard/i18n/locale/ca/contact.json +++ b/app/javascript/dashboard/i18n/locale/ca/contact.json @@ -554,10 +554,12 @@ "WROTE": "va escriure", "YOU": "Tu", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expandeix", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ca/login.json b/app/javascript/dashboard/i18n/locale/ca/login.json index 543aec3b6..91992c04d 100644 --- a/app/javascript/dashboard/i18n/locale/ca/login.json +++ b/app/javascript/dashboard/i18n/locale/ca/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Has oblidat la contrasenya?", "CREATE_NEW_ACCOUNT": "Crear un nou compte", - "SUBMIT": "Inicia la sessió" + "SUBMIT": "Inicia la sessió", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json index c339338ad..345e0ba4f 100644 --- a/app/javascript/dashboard/i18n/locale/cs/contact.json +++ b/app/javascript/dashboard/i18n/locale/cs/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Vy", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/cs/login.json b/app/javascript/dashboard/i18n/locale/cs/login.json index f89bfbec5..7c54d4867 100644 --- a/app/javascript/dashboard/i18n/locale/cs/login.json +++ b/app/javascript/dashboard/i18n/locale/cs/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Zapomněli jste heslo?", "CREATE_NEW_ACCOUNT": "Vytvořit nový účet", - "SUBMIT": "Přihlásit se" + "SUBMIT": "Přihlásit se", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json index 25b040fa0..566b72248 100644 --- a/app/javascript/dashboard/i18n/locale/da/contact.json +++ b/app/javascript/dashboard/i18n/locale/da/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Dig", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/da/login.json b/app/javascript/dashboard/i18n/locale/da/login.json index f3efb259f..9c665db28 100644 --- a/app/javascript/dashboard/i18n/locale/da/login.json +++ b/app/javascript/dashboard/i18n/locale/da/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Glemt din adgangskode?", "CREATE_NEW_ACCOUNT": "Opret ny konto", - "SUBMIT": "Log Ind" + "SUBMIT": "Log Ind", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json index 1424656ee..b91c2ce7b 100644 --- a/app/javascript/dashboard/i18n/locale/de/contact.json +++ b/app/javascript/dashboard/i18n/locale/de/contact.json @@ -554,10 +554,12 @@ "WROTE": "schrieb", "YOU": "Sie", "SAVE": "Notiz speichern", + "ADD_NOTE": "Add contact note", "EXPAND": "Erweitern", "COLLAPSE": "Einklappen", "NO_NOTES": "Keine Notizen, Sie können Notizen auf der Kontakt-Detailseite hinzufügen.", - "EMPTY_STATE": "Es gibt keine Notizen zu diesem Kontakt. Sie können eine Notiz hinzufügen, indem Sie diese in das obige Feld eingeben." + "EMPTY_STATE": "Es gibt keine Notizen zu diesem Kontakt. Sie können eine Notiz hinzufügen, indem Sie diese in das obige Feld eingeben.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/de/login.json b/app/javascript/dashboard/i18n/locale/de/login.json index 80fa3ef70..30ab19bf1 100644 --- a/app/javascript/dashboard/i18n/locale/de/login.json +++ b/app/javascript/dashboard/i18n/locale/de/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Haben Sie Ihr Passwort vergessen?", "CREATE_NEW_ACCOUNT": "Neuen Account erstellen", - "SUBMIT": "Einloggen" + "SUBMIT": "Einloggen", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json index 12f297962..bdfaec2a9 100644 --- a/app/javascript/dashboard/i18n/locale/el/contact.json +++ b/app/javascript/dashboard/i18n/locale/el/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/el/login.json b/app/javascript/dashboard/i18n/locale/el/login.json index 405880ed9..2bfcf8841 100644 --- a/app/javascript/dashboard/i18n/locale/el/login.json +++ b/app/javascript/dashboard/i18n/locale/el/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Ξεχάσατε τον κωδικό;", "CREATE_NEW_ACCOUNT": "Δημιουργία νέου Λογαριασμού", - "SUBMIT": "Είσοδος" + "SUBMIT": "Είσοδος", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json index 939c0a7be..4ea378323 100644 --- a/app/javascript/dashboard/i18n/locale/es/contact.json +++ b/app/javascript/dashboard/i18n/locale/es/contact.json @@ -554,10 +554,12 @@ "WROTE": "escribió", "YOU": "Tú", "SAVE": "Guardar nota", + "ADD_NOTE": "Add contact note", "EXPAND": "Expandir", "COLLAPSE": "Contraer", "NO_NOTES": "No hay notas, puede agregar notas desde la página de detalles de contacto.", - "EMPTY_STATE": "No hay notas asociadas a este contacto. Puede añadir una nota escribiendo en el recuadro superior." + "EMPTY_STATE": "No hay notas asociadas a este contacto. Puede añadir una nota escribiendo en el recuadro superior.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/es/login.json b/app/javascript/dashboard/i18n/locale/es/login.json index 3f2d5a872..274fedac6 100644 --- a/app/javascript/dashboard/i18n/locale/es/login.json +++ b/app/javascript/dashboard/i18n/locale/es/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "¿Olvidaste tu contraseña?", "CREATE_NEW_ACCOUNT": "Crear nueva cuenta", - "SUBMIT": "Iniciar sesión" + "SUBMIT": "Iniciar sesión", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json index d1affb9f3..23d18cf9a 100644 --- a/app/javascript/dashboard/i18n/locale/fa/contact.json +++ b/app/javascript/dashboard/i18n/locale/fa/contact.json @@ -554,10 +554,12 @@ "WROTE": "نوشت", "YOU": "شما", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/fa/login.json b/app/javascript/dashboard/i18n/locale/fa/login.json index 532dbf8e0..75c690918 100644 --- a/app/javascript/dashboard/i18n/locale/fa/login.json +++ b/app/javascript/dashboard/i18n/locale/fa/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "رمز عبورتان را فراموش کردید؟", "CREATE_NEW_ACCOUNT": "حساب جدید بسازید", - "SUBMIT": "ورود" + "SUBMIT": "ورود", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json index d12b53b9f..70f132ed8 100644 --- a/app/javascript/dashboard/i18n/locale/fi/contact.json +++ b/app/javascript/dashboard/i18n/locale/fi/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Sinä", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/fi/login.json b/app/javascript/dashboard/i18n/locale/fi/login.json index 5c307fcad..1bfbda960 100644 --- a/app/javascript/dashboard/i18n/locale/fi/login.json +++ b/app/javascript/dashboard/i18n/locale/fi/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Salasana unohtunut?", "CREATE_NEW_ACCOUNT": "Luo uusi tili", - "SUBMIT": "Kirjaudu" + "SUBMIT": "Kirjaudu", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json index 723b90371..7edb20e1c 100644 --- a/app/javascript/dashboard/i18n/locale/fr/contact.json +++ b/app/javascript/dashboard/i18n/locale/fr/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Vous", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Développer", "COLLAPSE": "Réduire", "NO_NOTES": "Pas de notes, vous pouvez en ajouter depuis la page des détails du contact.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/fr/login.json b/app/javascript/dashboard/i18n/locale/fr/login.json index c0d1b2eb3..a7cc1126b 100644 --- a/app/javascript/dashboard/i18n/locale/fr/login.json +++ b/app/javascript/dashboard/i18n/locale/fr/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Mot de passe oublié ?", "CREATE_NEW_ACCOUNT": "Créer un nouveau compte", - "SUBMIT": "Se connecter" + "SUBMIT": "Se connecter", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/he/contact.json b/app/javascript/dashboard/i18n/locale/he/contact.json index 7a5d98cdc..6f4507b71 100644 --- a/app/javascript/dashboard/i18n/locale/he/contact.json +++ b/app/javascript/dashboard/i18n/locale/he/contact.json @@ -554,10 +554,12 @@ "WROTE": "נכתב", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/he/login.json b/app/javascript/dashboard/i18n/locale/he/login.json index bee3a61f2..c4f9022a3 100644 --- a/app/javascript/dashboard/i18n/locale/he/login.json +++ b/app/javascript/dashboard/i18n/locale/he/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "שכחת את הסיסמה?", "CREATE_NEW_ACCOUNT": "צור חשבון", - "SUBMIT": "התחבר" + "SUBMIT": "התחבר", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json index 89cae2e68..d295bd2e7 100644 --- a/app/javascript/dashboard/i18n/locale/hi/contact.json +++ b/app/javascript/dashboard/i18n/locale/hi/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/hi/login.json b/app/javascript/dashboard/i18n/locale/hi/login.json index 62368ee4f..cb5d9c315 100644 --- a/app/javascript/dashboard/i18n/locale/hi/login.json +++ b/app/javascript/dashboard/i18n/locale/hi/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/hr/contact.json b/app/javascript/dashboard/i18n/locale/hr/contact.json index dcd7a88fe..1c30e96ba 100644 --- a/app/javascript/dashboard/i18n/locale/hr/contact.json +++ b/app/javascript/dashboard/i18n/locale/hr/contact.json @@ -554,10 +554,12 @@ "WROTE": "napisao/la", "YOU": "Vi", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/hr/login.json b/app/javascript/dashboard/i18n/locale/hr/login.json index 62368ee4f..cb5d9c315 100644 --- a/app/javascript/dashboard/i18n/locale/hr/login.json +++ b/app/javascript/dashboard/i18n/locale/hr/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json index 55d5c8271..9e7f34e46 100644 --- a/app/javascript/dashboard/i18n/locale/hu/contact.json +++ b/app/javascript/dashboard/i18n/locale/hu/contact.json @@ -554,10 +554,12 @@ "WROTE": "írta", "YOU": "Ön", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Kiegészítés", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/hu/login.json b/app/javascript/dashboard/i18n/locale/hu/login.json index 0880ead29..c8946c7dd 100644 --- a/app/javascript/dashboard/i18n/locale/hu/login.json +++ b/app/javascript/dashboard/i18n/locale/hu/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Elfelejtetted a jelszavad?", "CREATE_NEW_ACCOUNT": "Új fiók létrehozása", - "SUBMIT": "Bejelentkezés" + "SUBMIT": "Bejelentkezés", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/hy/contact.json b/app/javascript/dashboard/i18n/locale/hy/contact.json index b147164ec..4e84a25ff 100644 --- a/app/javascript/dashboard/i18n/locale/hy/contact.json +++ b/app/javascript/dashboard/i18n/locale/hy/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/hy/login.json b/app/javascript/dashboard/i18n/locale/hy/login.json index 62368ee4f..cb5d9c315 100644 --- a/app/javascript/dashboard/i18n/locale/hy/login.json +++ b/app/javascript/dashboard/i18n/locale/hy/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json index 14e25926f..2b6fc6037 100644 --- a/app/javascript/dashboard/i18n/locale/id/contact.json +++ b/app/javascript/dashboard/i18n/locale/id/contact.json @@ -554,10 +554,12 @@ "WROTE": "menulis", "YOU": "Anda", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/id/login.json b/app/javascript/dashboard/i18n/locale/id/login.json index 68629f1ea..3aa714088 100644 --- a/app/javascript/dashboard/i18n/locale/id/login.json +++ b/app/javascript/dashboard/i18n/locale/id/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Lupa kata sandi Anda?", "CREATE_NEW_ACCOUNT": "Buat akun baru", - "SUBMIT": "Masuk" + "SUBMIT": "Masuk", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/is/contact.json b/app/javascript/dashboard/i18n/locale/is/contact.json index 4317dad6b..175b2f1df 100644 --- a/app/javascript/dashboard/i18n/locale/is/contact.json +++ b/app/javascript/dashboard/i18n/locale/is/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/is/login.json b/app/javascript/dashboard/i18n/locale/is/login.json index 16a6a395d..2b34299b3 100644 --- a/app/javascript/dashboard/i18n/locale/is/login.json +++ b/app/javascript/dashboard/i18n/locale/is/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Gleymt lykilorð?", "CREATE_NEW_ACCOUNT": "Stofna nýjan aðgang", - "SUBMIT": "Innskráning" + "SUBMIT": "Innskráning", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json index e8d127c37..710ae194a 100644 --- a/app/javascript/dashboard/i18n/locale/it/contact.json +++ b/app/javascript/dashboard/i18n/locale/it/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Comprimi", "NO_NOTES": "Nessuna nota, puoi aggiungere note dalla pagina dei dettagli del contatto.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/it/login.json b/app/javascript/dashboard/i18n/locale/it/login.json index b44820077..9e6ceffc6 100644 --- a/app/javascript/dashboard/i18n/locale/it/login.json +++ b/app/javascript/dashboard/i18n/locale/it/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Password dimenticata?", "CREATE_NEW_ACCOUNT": "Crea un nuovo account", - "SUBMIT": "Accedi" + "SUBMIT": "Accedi", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json index bbeb2fb65..98d092455 100644 --- a/app/javascript/dashboard/i18n/locale/ja/contact.json +++ b/app/javascript/dashboard/i18n/locale/ja/contact.json @@ -554,10 +554,12 @@ "WROTE": "が記入しました", "YOU": "あなた", "SAVE": "メモを保存", + "ADD_NOTE": "Add contact note", "EXPAND": "拡張", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "この連絡先に関連するメモはありません。上記のボックスに入力してメモを追加できます。" + "EMPTY_STATE": "この連絡先に関連するメモはありません。上記のボックスに入力してメモを追加できます。", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ja/login.json b/app/javascript/dashboard/i18n/locale/ja/login.json index d03f6a459..6e17babc6 100644 --- a/app/javascript/dashboard/i18n/locale/ja/login.json +++ b/app/javascript/dashboard/i18n/locale/ja/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "パスワードをお忘れですか?", "CREATE_NEW_ACCOUNT": "新しいアカウントを作成", - "SUBMIT": "ログイン" + "SUBMIT": "ログイン", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ka/contact.json b/app/javascript/dashboard/i18n/locale/ka/contact.json index b147164ec..4e84a25ff 100644 --- a/app/javascript/dashboard/i18n/locale/ka/contact.json +++ b/app/javascript/dashboard/i18n/locale/ka/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ka/login.json b/app/javascript/dashboard/i18n/locale/ka/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/ka/login.json +++ b/app/javascript/dashboard/i18n/locale/ka/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json index ba15dabee..7d00f9751 100644 --- a/app/javascript/dashboard/i18n/locale/ko/contact.json +++ b/app/javascript/dashboard/i18n/locale/ko/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "나", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ko/login.json b/app/javascript/dashboard/i18n/locale/ko/login.json index 80e7412d1..285951bc3 100644 --- a/app/javascript/dashboard/i18n/locale/ko/login.json +++ b/app/javascript/dashboard/i18n/locale/ko/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "암호를 잊으셨나요?", "CREATE_NEW_ACCOUNT": "계정 생성", - "SUBMIT": "로그인" + "SUBMIT": "로그인", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/lt/contact.json b/app/javascript/dashboard/i18n/locale/lt/contact.json index f449e741f..ee0011daf 100644 --- a/app/javascript/dashboard/i18n/locale/lt/contact.json +++ b/app/javascript/dashboard/i18n/locale/lt/contact.json @@ -554,10 +554,12 @@ "WROTE": "parašei", "YOU": "Jūs", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Išskleisti", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/lt/login.json b/app/javascript/dashboard/i18n/locale/lt/login.json index 93ae3fe0a..3a4475536 100644 --- a/app/javascript/dashboard/i18n/locale/lt/login.json +++ b/app/javascript/dashboard/i18n/locale/lt/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Pamiršote slaptažodį?", "CREATE_NEW_ACCOUNT": "Sukurti naują paskyrą", - "SUBMIT": "Prisijungti" + "SUBMIT": "Prisijungti", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/lv/contact.json b/app/javascript/dashboard/i18n/locale/lv/contact.json index 82c483357..994121d14 100644 --- a/app/javascript/dashboard/i18n/locale/lv/contact.json +++ b/app/javascript/dashboard/i18n/locale/lv/contact.json @@ -554,10 +554,12 @@ "WROTE": "rakstīja", "YOU": "Jūs", "SAVE": "Saglabāt piezīmi", + "ADD_NOTE": "Add contact note", "EXPAND": "Izvērst", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "Ar šo kontaktpersonu nav saistītu piezīmju. Varat pievienot piezīmi, ierakstot iepriekšējā lodziņā." + "EMPTY_STATE": "Ar šo kontaktpersonu nav saistītu piezīmju. Varat pievienot piezīmi, ierakstot iepriekšējā lodziņā.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/lv/login.json b/app/javascript/dashboard/i18n/locale/lv/login.json index f8a89b168..d5b83eddc 100644 --- a/app/javascript/dashboard/i18n/locale/lv/login.json +++ b/app/javascript/dashboard/i18n/locale/lv/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Aizmirsāt savu paroli?", "CREATE_NEW_ACCOUNT": "Izveidot jaunu kontu", - "SUBMIT": "Pierakstīties" + "SUBMIT": "Pierakstīties", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json index 0acae5317..643cb7484 100644 --- a/app/javascript/dashboard/i18n/locale/ml/contact.json +++ b/app/javascript/dashboard/i18n/locale/ml/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ml/login.json b/app/javascript/dashboard/i18n/locale/ml/login.json index 4cb073c4e..f1460ba75 100644 --- a/app/javascript/dashboard/i18n/locale/ml/login.json +++ b/app/javascript/dashboard/i18n/locale/ml/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "നിങ്ങളുടെ പാസ്‌വേഡ് മറന്നോ?", "CREATE_NEW_ACCOUNT": "പുതിയ അക്കൗണ്ട് സൃഷ്ടിക്കുക", - "SUBMIT": "സൈൻ ഇൻ" + "SUBMIT": "സൈൻ ഇൻ", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ms/contact.json b/app/javascript/dashboard/i18n/locale/ms/contact.json index ce68540a7..4e1c7a151 100644 --- a/app/javascript/dashboard/i18n/locale/ms/contact.json +++ b/app/javascript/dashboard/i18n/locale/ms/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ms/login.json b/app/javascript/dashboard/i18n/locale/ms/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/ms/login.json +++ b/app/javascript/dashboard/i18n/locale/ms/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ne/contact.json b/app/javascript/dashboard/i18n/locale/ne/contact.json index 793bb8ae2..ed976f2b9 100644 --- a/app/javascript/dashboard/i18n/locale/ne/contact.json +++ b/app/javascript/dashboard/i18n/locale/ne/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ne/login.json b/app/javascript/dashboard/i18n/locale/ne/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/ne/login.json +++ b/app/javascript/dashboard/i18n/locale/ne/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json index 6d8c8336a..063c40247 100644 --- a/app/javascript/dashboard/i18n/locale/nl/contact.json +++ b/app/javascript/dashboard/i18n/locale/nl/contact.json @@ -554,10 +554,12 @@ "WROTE": "schreef", "YOU": "Jij", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Uitklappen", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/nl/login.json b/app/javascript/dashboard/i18n/locale/nl/login.json index f087f2f6d..930088e33 100644 --- a/app/javascript/dashboard/i18n/locale/nl/login.json +++ b/app/javascript/dashboard/i18n/locale/nl/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Wachtwoord vergeten?", "CREATE_NEW_ACCOUNT": "Nieuw account aanmaken", - "SUBMIT": "Inloggen" + "SUBMIT": "Inloggen", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/no/contact.json b/app/javascript/dashboard/i18n/locale/no/contact.json index d7df11e1a..a1b609899 100644 --- a/app/javascript/dashboard/i18n/locale/no/contact.json +++ b/app/javascript/dashboard/i18n/locale/no/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Du", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/no/login.json b/app/javascript/dashboard/i18n/locale/no/login.json index 0c8190665..6f0173184 100644 --- a/app/javascript/dashboard/i18n/locale/no/login.json +++ b/app/javascript/dashboard/i18n/locale/no/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Glemt passord?", "CREATE_NEW_ACCOUNT": "Opprett ny konto", - "SUBMIT": "Logg inn" + "SUBMIT": "Logg inn", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json index aabcc5ea7..d5ca75c0f 100644 --- a/app/javascript/dashboard/i18n/locale/pl/contact.json +++ b/app/javascript/dashboard/i18n/locale/pl/contact.json @@ -554,10 +554,12 @@ "WROTE": "napisał/a", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/pl/login.json b/app/javascript/dashboard/i18n/locale/pl/login.json index 01e253e10..041130ffd 100644 --- a/app/javascript/dashboard/i18n/locale/pl/login.json +++ b/app/javascript/dashboard/i18n/locale/pl/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Zapomniałeś hasła?", "CREATE_NEW_ACCOUNT": "Utwórz nowe konto", - "SUBMIT": "Zaloguj się" + "SUBMIT": "Zaloguj się", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json index 16ad4872f..953566d1b 100644 --- a/app/javascript/dashboard/i18n/locale/pt/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt/contact.json @@ -554,10 +554,12 @@ "WROTE": "escreveu", "YOU": "Você", "SAVE": "Salvar nota", + "ADD_NOTE": "Add contact note", "EXPAND": "Expandir", "COLLAPSE": "Recolher", "NO_NOTES": "Sem notas, pode adicionar notas na página de detalhes do contacto.", - "EMPTY_STATE": "Não existem notas associadas a este contacto. Pode adicionar uma nota escrevendo na caixa acima." + "EMPTY_STATE": "Não existem notas associadas a este contacto. Pode adicionar uma nota escrevendo na caixa acima.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/pt/login.json b/app/javascript/dashboard/i18n/locale/pt/login.json index 6e28b0e54..d3f7ce9bc 100644 --- a/app/javascript/dashboard/i18n/locale/pt/login.json +++ b/app/javascript/dashboard/i18n/locale/pt/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Esqueceu-se da sua palavra-passe?", "CREATE_NEW_ACCOUNT": "Criar nova conta", - "SUBMIT": "Iniciar sessão" + "SUBMIT": "Iniciar sessão", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json index 4eaa1efa3..8de6d7f4d 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json @@ -554,10 +554,12 @@ "WROTE": "escreveu", "YOU": "Você", "SAVE": "Salvar nota", + "ADD_NOTE": "Adicionar nota de contato", "EXPAND": "Expandir", "COLLAPSE": "Recolher", "NO_NOTES": "Sem notas, você pode adicionar notas a partir da página de detalhes do contato.", - "EMPTY_STATE": "Não existem notas associadas a este contato. Você pode adicionar uma nota digitando na caixa acima." + "EMPTY_STATE": "Não existem notas associadas a este contato. Você pode adicionar uma nota digitando na caixa acima.", + "CONVERSATION_EMPTY_STATE": "Ainda não há notas. Use o botão Adicionar nota para criar uma." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json b/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json index 82bd0b244..fcb042aea 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json @@ -1,7 +1,7 @@ { "CONTENT_TEMPLATES": { "MODAL": { - "TITLE": "Twilio Templates", + "TITLE": "Templates Twilio", "SUBTITLE": "Select the Twilio template you want to send", "TEMPLATE_SELECTED_SUBTITLE": "Configurar modelo: {templateName}" }, @@ -27,7 +27,7 @@ }, "TYPES": { "MEDIA": "Media", - "QUICK_REPLY": "Quick Reply", + "QUICK_REPLY": "Resposta Rápida", "TEXT": "Texto" } }, @@ -41,7 +41,7 @@ "FORM_ERROR_MESSAGE": "Por favor, preencha todas as variáveis antes de enviar", "MEDIA_HEADER_LABEL": "Cabeçalho {type}", "MEDIA_URL_LABEL": "Enter full media URL", - "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg" + "MEDIA_URL_PLACEHOLDER": "https://exemplo.com.br/imagem.jpg" }, "FORM": { "BACK_BUTTON": "Anterior", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json index 466c962c4..c847fb49d 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json @@ -35,11 +35,11 @@ "API_HOURS_WINDOW": "Você só pode responder a esta conversa em {hours} horas", "NOT_ASSIGNED_TO_YOU": "Esta conversa não está atribuída a você. Gostaria de atribuir esta conversa a você mesmo?", "ASSIGN_TO_ME": "Atribuir a mim", - "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.", - "BOT_HANDOFF_ACTION": "Mark open and assign to you", - "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open", - "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you", - "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.", + "BOT_HANDOFF_MESSAGE": "Você está respondendo a uma conversa que é atualmente tratada por um assistente ou um robô.", + "BOT_HANDOFF_ACTION": "Marcar como aberta e atribuir a você", + "BOT_HANDOFF_REOPEN_ACTION": "Marcar conversa como aberta", + "BOT_HANDOFF_SUCCESS": "Uma conversa foi atribuída a você", + "BOT_HANDOFF_ERROR": "Falha ao resolver conversas. Por favor, tente novamente.", "TWILIO_WHATSAPP_CAN_REPLY": "Você só pode responder a esta conversa usando um modelo de mensagem devido a", "TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restrições de janela de mensagem de 24 horas", "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Esta conta do Instagram foi migrada para a nova caixa de entrada do canal do Instagram. Todas as novas mensagens serão mostradas lá. Você não poderá mais enviar mensagens desta conversa.", @@ -72,15 +72,15 @@ "HIDE_LABELS": "Ocultar as etiquetas" }, "VOICE_CALL": { - "INCOMING_CALL": "Incoming call", - "OUTGOING_CALL": "Outgoing call", - "CALL_IN_PROGRESS": "Call in progress", - "NO_ANSWER": "No answer", - "MISSED_CALL": "Missed call", - "CALL_ENDED": "Call ended", - "NOT_ANSWERED_YET": "Not answered yet", - "THEY_ANSWERED": "They answered", - "YOU_ANSWERED": "You answered" + "INCOMING_CALL": "Chamada recebida", + "OUTGOING_CALL": "Chamada realizada", + "CALL_IN_PROGRESS": "Chamada em andamento", + "NO_ANSWER": "Sem resposta", + "MISSED_CALL": "Chamada perdida", + "CALL_ENDED": "Chamada encerrada", + "NOT_ANSWERED_YET": "Ainda não respondido", + "THEY_ANSWERED": "Eles responderam", + "YOU_ANSWERED": "Você respondeu" }, "HEADER": { "RESOLVE_ACTION": "Resolver", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json index 585be5a50..63a4bc0a3 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json @@ -705,9 +705,9 @@ }, "FORM": { "TYPE": { - "LABEL": "Document Type", + "LABEL": "Tipo do documento", "URL": "URL:", - "PDF": "PDF File" + "PDF": "Arquivo PDF" }, "URL": { "LABEL": "URL:", @@ -715,16 +715,16 @@ "ERROR": "Por favor forneça uma URL válida para o documento" }, "PDF_FILE": { - "LABEL": "PDF File", - "CHOOSE_FILE": "Choose PDF file", - "ERROR": "Please select a PDF file", - "HELP_TEXT": "Maximum file size: 10MB", - "INVALID_TYPE": "Please select a valid PDF file", - "TOO_LARGE": "File size exceeds 10MB limit" + "LABEL": "Arquivo PDF", + "CHOOSE_FILE": "Escolher arquivo PDF", + "ERROR": "Por favor, selecione um arquivo PDF", + "HELP_TEXT": "Tamanho máximo do arquivo: 10 MB", + "INVALID_TYPE": "Por favor, selecione um arquivo PDF válido", + "TOO_LARGE": "O tamanho do arquivo excede o limite de 10 MB" }, "NAME": { - "LABEL": "Document Name (Optional)", - "PLACEHOLDER": "Enter a name for the document" + "LABEL": "Nome do documento (opcional)", + "PLACEHOLDER": "Insira um nome para o documento" }, "ASSISTANT": { "LABEL": "Assistente", @@ -761,7 +761,7 @@ "SELECTED": "{count} selecionado", "SELECT_ALL": "Selecionar todos ({count})", "UNSELECT_ALL": "Desmarcar todos ({count})", - "SEARCH_PLACEHOLDER": "Search FAQs...", + "SEARCH_PLACEHOLDER": "Pesquisar FAQs...", "BULK_APPROVE_BUTTON": "Aprovar", "BULK_DELETE_BUTTON": "Excluir", "BULK_APPROVE": { diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/login.json b/app/javascript/dashboard/i18n/locale/pt_BR/login.json index 5cf097f0f..99ecfdfb5 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/login.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Esqueceu-se da sua senha?", "CREATE_NEW_ACCOUNT": "Criar nova conta", - "SUBMIT": "Entrar" + "SUBMIT": "Entrar", + "SAML": { + "LABEL": "Login via SSO", + "TITLE": "Iniciar Single Sign-on (SSO)", + "SUBTITLE": "Digite seu e-mail de trabalho para acessar sua organização", + "BACK_TO_LOGIN": "Login com senha", + "WORK_EMAIL": { + "LABEL": "E-mail de trabalho", + "PLACEHOLDER": "Digite seu e-mail de trabalho" + }, + "SUBMIT": "Continuar com SSO", + "API": { + "ERROR_MESSAGE": "Falha na autenticação SSO" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json b/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json index c6fce0c49..67a158090 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/mfa.json @@ -26,7 +26,7 @@ "VERIFY_BUTTON": "Verify & Continue", "CANCEL": "Cancelar", "ERROR_STARTING": "MFA not enabled. Please contact administrator.", - "INVALID_CODE": "Invalid verification code", + "INVALID_CODE": "Código de verificação inválido", "SECRET_COPIED": "Secret key copied to clipboard", "SUCCESS": "Two-factor authentication has been enabled successfully" }, diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index e3db0ecf6..7f5944967 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -53,11 +53,11 @@ } }, "LANGUAGE": { - "TITLE": "Preferred Language", - "NOTE": "Choose the language you want to use.", - "UPDATE_SUCCESS": "Your Language settings have been updated successfully", - "UPDATE_ERROR": "There is an error while updating the language settings, please try again", - "USE_ACCOUNT_DEFAULT": "Use account default" + "TITLE": "Idioma preferido", + "NOTE": "Escolha o idioma que deseja usar.", + "UPDATE_SUCCESS": "Suas configurações de idioma foram atualizadas com sucesso", + "UPDATE_ERROR": "Ocorreu um erro ao atualizar as configurações de idioma, por favor, tente novamente", + "USE_ACCOUNT_DEFAULT": "Usar padrão da conta" } }, "MESSAGE_SIGNATURE_SECTION": { @@ -81,9 +81,9 @@ "BTN_TEXT": "Mudar Senha" }, "SECURITY_SECTION": { - "TITLE": "Security", + "TITLE": "Segurança", "NOTE": "Manage additional security features for your account.", - "MFA_BUTTON": "Manage Two-Factor Authentication" + "MFA_BUTTON": "Gerenciar autenticação de dois fatores " }, "ACCESS_TOKEN": { "TITLE": "Token de acesso", @@ -364,7 +364,7 @@ "INFO_SHORT": "Marcar off-line automaticamente quando não estiver usando o aplicativo." }, "DOCS": "Ler documentos", - "SECURITY": "Security" + "SECURITY": "Segurança" }, "BILLING_SETTINGS": { "TITLE": "Cobrança", @@ -397,9 +397,9 @@ "NO_BILLING_USER": "A sua conta de cobrança está sendo configurada. Atualize a página e tente novamente." }, "SECURITY_SETTINGS": { - "TITLE": "Security", - "DESCRIPTION": "Manage your account security settings.", - "LINK_TEXT": "Learn more about SAML SSO", + "TITLE": "Segurança", + "DESCRIPTION": "Gerencie as configurações de segurança da sua conta.", + "LINK_TEXT": "Saiba mais sobre o SAML SSO", "SAML": { "TITLE": "SAML SSO", "NOTE": "Configure SAML single sign-on for your account. Users will authenticate through your identity provider instead of using email/password.", @@ -442,7 +442,7 @@ "VALIDATION": { "REQUIRED_FIELDS": "SSO URL, Identity Provider Entity ID, and Certificate are required fields", "SSO_URL_ERROR": "Please enter a valid SSO URL", - "CERTIFICATE_ERROR": "Certificate is required", + "CERTIFICATE_ERROR": "O certificado é necessário", "IDP_ENTITY_ID_ERROR": "Identity Provider Entity ID is required" }, "ENTERPRISE_PAYWALL": { diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json index 13c78338b..cf81bb995 100644 --- a/app/javascript/dashboard/i18n/locale/ro/contact.json +++ b/app/javascript/dashboard/i18n/locale/ro/contact.json @@ -554,10 +554,12 @@ "WROTE": "scrisese", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ro/login.json b/app/javascript/dashboard/i18n/locale/ro/login.json index 9aab74e05..9df8d43cb 100644 --- a/app/javascript/dashboard/i18n/locale/ro/login.json +++ b/app/javascript/dashboard/i18n/locale/ro/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Ai uitat parola?", "CREATE_NEW_ACCOUNT": "Creează un cont nou", - "SUBMIT": "Conectează-te" + "SUBMIT": "Conectează-te", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json index 4aa2268a3..dc0f75aff 100644 --- a/app/javascript/dashboard/i18n/locale/ru/contact.json +++ b/app/javascript/dashboard/i18n/locale/ru/contact.json @@ -554,10 +554,12 @@ "WROTE": "написал", "YOU": "Вы", "SAVE": "Сохранить заметку", + "ADD_NOTE": "Add contact note", "EXPAND": "Развернуть", "COLLAPSE": "Свернуть", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "Нет заметок, связанных с этим контактом. Вы можете добавить заметку в поле выше." + "EMPTY_STATE": "Нет заметок, связанных с этим контактом. Вы можете добавить заметку в поле выше.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ru/login.json b/app/javascript/dashboard/i18n/locale/ru/login.json index 66d9b1328..f4b33da10 100644 --- a/app/javascript/dashboard/i18n/locale/ru/login.json +++ b/app/javascript/dashboard/i18n/locale/ru/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Забыли пароль?", "CREATE_NEW_ACCOUNT": "Создать новый аккаунт", - "SUBMIT": "Вход" + "SUBMIT": "Вход", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sh/contact.json b/app/javascript/dashboard/i18n/locale/sh/contact.json index 328e15aaa..7b8618ad7 100644 --- a/app/javascript/dashboard/i18n/locale/sh/contact.json +++ b/app/javascript/dashboard/i18n/locale/sh/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sh/login.json b/app/javascript/dashboard/i18n/locale/sh/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/sh/login.json +++ b/app/javascript/dashboard/i18n/locale/sh/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json index c23a221ec..d9fb176be 100644 --- a/app/javascript/dashboard/i18n/locale/sk/contact.json +++ b/app/javascript/dashboard/i18n/locale/sk/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Vy", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sk/login.json b/app/javascript/dashboard/i18n/locale/sk/login.json index d0de657aa..a20f67e9f 100644 --- a/app/javascript/dashboard/i18n/locale/sk/login.json +++ b/app/javascript/dashboard/i18n/locale/sk/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Prihlásenie" + "SUBMIT": "Prihlásenie", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sl/contact.json b/app/javascript/dashboard/i18n/locale/sl/contact.json index 42679f3b3..a934ab690 100644 --- a/app/javascript/dashboard/i18n/locale/sl/contact.json +++ b/app/javascript/dashboard/i18n/locale/sl/contact.json @@ -554,10 +554,12 @@ "WROTE": "je napisal/a", "YOU": "Vi", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sl/login.json b/app/javascript/dashboard/i18n/locale/sl/login.json index 6c85a546b..522aab779 100644 --- a/app/javascript/dashboard/i18n/locale/sl/login.json +++ b/app/javascript/dashboard/i18n/locale/sl/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Ste pozabili geslo?", "CREATE_NEW_ACCOUNT": "Ustvarite nov račun", - "SUBMIT": "Prijava" + "SUBMIT": "Prijava", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sq/contact.json b/app/javascript/dashboard/i18n/locale/sq/contact.json index 50de83beb..92686896f 100644 --- a/app/javascript/dashboard/i18n/locale/sq/contact.json +++ b/app/javascript/dashboard/i18n/locale/sq/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Ju", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Palos", "NO_NOTES": "Nuk ka shënime, mund të shtoni shënime nga faqja e detajeve të kontaktit.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sq/login.json b/app/javascript/dashboard/i18n/locale/sq/login.json index ec5658db2..864c76359 100644 --- a/app/javascript/dashboard/i18n/locale/sq/login.json +++ b/app/javascript/dashboard/i18n/locale/sq/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create a new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sr/contact.json b/app/javascript/dashboard/i18n/locale/sr/contact.json index 15c2151a9..9affc114a 100644 --- a/app/javascript/dashboard/i18n/locale/sr/contact.json +++ b/app/javascript/dashboard/i18n/locale/sr/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sr/login.json b/app/javascript/dashboard/i18n/locale/sr/login.json index 4b08dfbac..2358f318d 100644 --- a/app/javascript/dashboard/i18n/locale/sr/login.json +++ b/app/javascript/dashboard/i18n/locale/sr/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Da li ste zaboravili lozinku?", "CREATE_NEW_ACCOUNT": "Napravite novi nalog", - "SUBMIT": "Prijava" + "SUBMIT": "Prijava", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json index 458efb142..8eaad0db0 100644 --- a/app/javascript/dashboard/i18n/locale/sv/contact.json +++ b/app/javascript/dashboard/i18n/locale/sv/contact.json @@ -554,10 +554,12 @@ "WROTE": "skrev", "YOU": "Du", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/sv/login.json b/app/javascript/dashboard/i18n/locale/sv/login.json index 886f8835b..5f836722c 100644 --- a/app/javascript/dashboard/i18n/locale/sv/login.json +++ b/app/javascript/dashboard/i18n/locale/sv/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Glömt ditt lösenord?", "CREATE_NEW_ACCOUNT": "Skapa nytt konto", - "SUBMIT": "Logga in" + "SUBMIT": "Logga in", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json index 1e90090fc..fe2841ec5 100644 --- a/app/javascript/dashboard/i18n/locale/ta/contact.json +++ b/app/javascript/dashboard/i18n/locale/ta/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ta/login.json b/app/javascript/dashboard/i18n/locale/ta/login.json index 5d65c914e..f4da789d0 100644 --- a/app/javascript/dashboard/i18n/locale/ta/login.json +++ b/app/javascript/dashboard/i18n/locale/ta/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "உங்கள் பாஸ்வேர்ட்டை மறந்துவிட்டதா?", "CREATE_NEW_ACCOUNT": "புதிய கணக்கை உருவாக்க", - "SUBMIT": "உள்நுழையவும்" + "SUBMIT": "உள்நுழையவும்", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json index aefcea237..18d3b07b4 100644 --- a/app/javascript/dashboard/i18n/locale/th/contact.json +++ b/app/javascript/dashboard/i18n/locale/th/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/th/login.json b/app/javascript/dashboard/i18n/locale/th/login.json index ed2aa988f..054ccfaaf 100644 --- a/app/javascript/dashboard/i18n/locale/th/login.json +++ b/app/javascript/dashboard/i18n/locale/th/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "ลืมรหัสผ่าน?", "CREATE_NEW_ACCOUNT": "สร้างบัญชีใหม่", - "SUBMIT": "เข้าสู่ระบบ" + "SUBMIT": "เข้าสู่ระบบ", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/tl/contact.json b/app/javascript/dashboard/i18n/locale/tl/contact.json index 12b2d097e..54d783efc 100644 --- a/app/javascript/dashboard/i18n/locale/tl/contact.json +++ b/app/javascript/dashboard/i18n/locale/tl/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/tl/login.json b/app/javascript/dashboard/i18n/locale/tl/login.json index ec5658db2..864c76359 100644 --- a/app/javascript/dashboard/i18n/locale/tl/login.json +++ b/app/javascript/dashboard/i18n/locale/tl/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create a new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json index 982575725..6b57b9dc8 100644 --- a/app/javascript/dashboard/i18n/locale/tr/contact.json +++ b/app/javascript/dashboard/i18n/locale/tr/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Sen", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Genişlet", "COLLAPSE": "Daralt", "NO_NOTES": "Not yok, kişi detayları sayfasından not ekleyebilirsiniz.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/tr/login.json b/app/javascript/dashboard/i18n/locale/tr/login.json index 58156304f..2f67e4ba1 100644 --- a/app/javascript/dashboard/i18n/locale/tr/login.json +++ b/app/javascript/dashboard/i18n/locale/tr/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Parolanızı mı unuttunuz?", "CREATE_NEW_ACCOUNT": "Yeni hesap oluştur", - "SUBMIT": "Oturum aç" + "SUBMIT": "Oturum aç", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json index 6f673d76a..5bc5d2535 100644 --- a/app/javascript/dashboard/i18n/locale/uk/contact.json +++ b/app/javascript/dashboard/i18n/locale/uk/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "Ви", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Розширити", "COLLAPSE": "Collapse", "NO_NOTES": "Немає нотаток, ви можете додати їх на сторінці контакту.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/uk/login.json b/app/javascript/dashboard/i18n/locale/uk/login.json index 258436d9d..ba900cb68 100644 --- a/app/javascript/dashboard/i18n/locale/uk/login.json +++ b/app/javascript/dashboard/i18n/locale/uk/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Забули пароль?", "CREATE_NEW_ACCOUNT": "Створити новий обліковий запис", - "SUBMIT": "Увійти" + "SUBMIT": "Увійти", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ur/contact.json b/app/javascript/dashboard/i18n/locale/ur/contact.json index 1456ed8ae..89d34ae09 100644 --- a/app/javascript/dashboard/i18n/locale/ur/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ur/login.json b/app/javascript/dashboard/i18n/locale/ur/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/ur/login.json +++ b/app/javascript/dashboard/i18n/locale/ur/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json index 328e15aaa..7b8618ad7 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/login.json b/app/javascript/dashboard/i18n/locale/ur_IN/login.json index efb4a1397..aaabcbfc2 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/login.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Forgot your password?", "CREATE_NEW_ACCOUNT": "Create new account", - "SUBMIT": "Login" + "SUBMIT": "Login", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json index f04ae7e53..6b889a835 100644 --- a/app/javascript/dashboard/i18n/locale/vi/contact.json +++ b/app/javascript/dashboard/i18n/locale/vi/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/vi/login.json b/app/javascript/dashboard/i18n/locale/vi/login.json index e5e6091b6..c240e718f 100644 --- a/app/javascript/dashboard/i18n/locale/vi/login.json +++ b/app/javascript/dashboard/i18n/locale/vi/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "Quên mật khẩu?", "CREATE_NEW_ACCOUNT": "Tạo mới tài khoản", - "SUBMIT": "Đăng nhập" + "SUBMIT": "Đăng nhập", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json index 043947747..aad2d58d2 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json @@ -554,10 +554,12 @@ "WROTE": "写道", "YOU": "您", "SAVE": "保存备注", + "ADD_NOTE": "Add contact note", "EXPAND": "扩展", "COLLAPSE": "收起", "NO_NOTES": "没有备注,您可以从联系人详细信息页面添加备注。", - "EMPTY_STATE": "此联系人没有关联的备注。您可以在上方输入框中添加备注。" + "EMPTY_STATE": "此联系人没有关联的备注。您可以在上方输入框中添加备注。", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/login.json b/app/javascript/dashboard/i18n/locale/zh_CN/login.json index 88503c3df..042329280 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/login.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "忘记密码了?", "CREATE_NEW_ACCOUNT": "创建新账户", - "SUBMIT": "登录" + "SUBMIT": "登录", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json index 8c1e26894..527561074 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json @@ -554,10 +554,12 @@ "WROTE": "wrote", "YOU": "You", "SAVE": "Save note", + "ADD_NOTE": "Add contact note", "EXPAND": "Expand", "COLLAPSE": "Collapse", "NO_NOTES": "No notes, you can add notes from the contact details page.", - "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above." + "EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above.", + "CONVERSATION_EMPTY_STATE": "There are no notes yet. Use the Add note button to create one." } }, "EMPTY_STATE": { diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/login.json b/app/javascript/dashboard/i18n/locale/zh_TW/login.json index e3d2b3695..f46cfb19a 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/login.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/login.json @@ -22,6 +22,20 @@ }, "FORGOT_PASSWORD": "忘記密碼了?", "CREATE_NEW_ACCOUNT": "建立新帳戶", - "SUBMIT": "登入" + "SUBMIT": "登入", + "SAML": { + "LABEL": "Log in via SSO", + "TITLE": "Initiate Single Sign-on (SSO)", + "SUBTITLE": "Enter your work email to access your organization", + "BACK_TO_LOGIN": "Login via Password", + "WORK_EMAIL": { + "LABEL": "Work Email", + "PLACEHOLDER": "Enter your work email" + }, + "SUBMIT": "Continue with SSO", + "API": { + "ERROR_MESSAGE": "SSO authentication failed" + } + } } } diff --git a/config/locales/am.yml b/config/locales/am.yml index 12a3bd314..c91f19922 100644 --- a/config/locales/am.yml +++ b/config/locales/am.yml @@ -23,6 +23,10 @@ am: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 7fc73b030..777216dd5 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -23,6 +23,10 @@ ar: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'الرجاء إدخال عنوان بريد إلكتروني صحيح' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: تم إرسال طلب إعادة تعيين كلمة المرور. يرجى مراجعة بريدك الإلكتروني للحصول على التعليمات. reset_password_failure: المعذرة! لم نتمكن من العثور على أي مستخدم بعنوان البريد الإلكتروني المحدد. diff --git a/config/locales/az.yml b/config/locales/az.yml index 265eb92d1..582e5d233 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -23,6 +23,10 @@ az: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 6cef681dd..be1ebaf87 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -23,6 +23,10 @@ bg: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 2861b5a12..e678aa96d 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -23,6 +23,10 @@ ca: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Introduïu una adreça de correu electrònic vàlida' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! S'ha restablert la contrasenya amb èxit. Revisa el correu per més instruccions. reset_password_failure: Uh ho! No s'ha trobat cap compte amb aquest correu electrònic. diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 1432220ff..270a955c6 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -23,6 +23,10 @@ cs: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Zadejte prosím platnou e-mailovou adresu' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Žádost o obnovení hesla byla úspěšná. Zkontrolujte svůj e-mail pro pokyny. reset_password_failure: Jejda! Nenašli jsme žádného uživatele se zadaným e-mailem. diff --git a/config/locales/da.yml b/config/locales/da.yml index 08d090b41..d449604c7 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -23,6 +23,10 @@ da: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Indtast venligst en gyldig e-mailadresse' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Anmodning om nulstilling af adgangskode er vellykket. Tjek din mail for instruktioner. reset_password_failure: Åh nej! Vi kunne ikke finde nogen bruger med den angivne e-mail. diff --git a/config/locales/de.yml b/config/locales/de.yml index 4e37949a0..d9d6fb23d 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -23,6 +23,10 @@ de: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Die Anforderung zum Zurücksetzen des Passworts ist erfolgreich. Überprüfen Sie Ihre E-Mails auf Anweisungen. reset_password_failure: Uh ho! Wir konnten keinen Benutzer mit der angegebenen E-Mail-Adresse finden. diff --git a/config/locales/el.yml b/config/locales/el.yml index 830e4da8d..034462107 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -23,6 +23,10 @@ el: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Το αίτημά σας για επαναφορά κωδικού ενεργοποιήθηκε. Ελέξτε το email σας για οδηγίες. reset_password_failure: Ωχ όχι! Δεν υπάρχει κάποιος χρήστης με το συγκεκριμένο email. diff --git a/config/locales/es.yml b/config/locales/es.yml index 3aec3acbd..6f81f1d67 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -23,6 +23,10 @@ es: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Por favor, introduzca una dirección de correo válida' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: '¡Genial! La solicitud de restablecimiento de contraseña ha sido exitosa. Revisa tu correo para ver las instrucciones.' reset_password_failure: '¡Uh ho! No hemos podido encontrar ningún usuario con el correo electrónico especificado.' diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 78137eca1..232396757 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -23,6 +23,10 @@ fa: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'لطفا ایمیل خود را به شکل صحیح وارد کنید' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: سوت! درخواست ریست شدن رمز عبور با موفقیت ارسال شد. ایمیل خود را چک کنید reset_password_failure: اوه نه! کاربری با چنین ایمیلی وجود ندارد diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 7a2c675ee..6e7db9ad7 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -23,6 +23,10 @@ fi: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Ole hyvä ja syötä validi sähköposti' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Salasanan nollauspyyntö onnistui. Tarkista sähköpostisi saadaksesi ohjeita. reset_password_failure: Hö! Emme löytäneet yhtään käyttäjää määritellyllä sähköpostilla. diff --git a/config/locales/fr.yml b/config/locales/fr.yml index b9552db4a..edab001cb 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -23,6 +23,10 @@ fr: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Veuillez saisir une adresse de courriel valide' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Super ! La demande de réinitialisation du mot de passe a réussi. Consultez vos e-mails pour obtenir des instructions. reset_password_failure: Oh oh ! Nous n'avons trouvé aucun utilisateur avec le courriel spécifié. diff --git a/config/locales/he.yml b/config/locales/he.yml index ee144312a..a2f309a3a 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -23,6 +23,10 @@ he: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'נא הכנס כתובת דוא"ל תקינה' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: יאס! בקשה לאיפוס ססמה נשלחה בהצלחה. בדוק תיבת מייל להוראות. reset_password_failure: אופס! לא מצאנו משתמש עם המייל שצוין. diff --git a/config/locales/hi.yml b/config/locales/hi.yml index afdd4db20..6db9deeda 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -23,6 +23,10 @@ hi: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 1b4098e53..3828ebd40 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -23,6 +23,10 @@ hr: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 2fbec7417..8ded57a47 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -23,6 +23,10 @@ hu: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Kérjük helyes e-mailcímet adj meg' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Mi?! A jelszóvisszaállítási kérésed sikeres volt. Nézd meg az e-mailed a részletekért. reset_password_failure: Jajj ne! Nem találtunk felhasználót ezzel az e-mailcímmel. diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 29387a457..3119df585 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -23,6 +23,10 @@ hy: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/id.yml b/config/locales/id.yml index 48d20c784..ffe340f74 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -23,6 +23,10 @@ id: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Harap masukkan alamat email yang valid' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Permintaan pengaturan ulang kata sandi berhasil. Periksa email Anda untuk mendapatkan petunjuk. reset_password_failure: Aduh! Kami tidak dapat menemukan pengguna dengan email yang dimasukkan. diff --git a/config/locales/is.yml b/config/locales/is.yml index ae06bca66..c9b96fd74 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -23,6 +23,10 @@ is: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Vinsamlegast skrifaðu gilt netfang' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Beiðni um endurstillingu lykilorðs tókst. Skoðaðu póstinn þinn til að fá leiðbeiningar. reset_password_failure: Uh ó! Við fundum engan notanda með tilgreint netfang. diff --git a/config/locales/it.yml b/config/locales/it.yml index aabb5f597..2d2720acd 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -23,6 +23,10 @@ it: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Inserisci un indirizzo email valido' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Richiesta di reimpostazione della password riuscita. Controlla la tua mail per le istruzioni. reset_password_failure: Uh ho! Non siamo riusciti a trovare alcun utente con l'email specificata. diff --git a/config/locales/ja.yml b/config/locales/ja.yml index c56fdf32d..5e44bda34 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -23,6 +23,10 @@ ja: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: '正しいメールアドレスを入力してください' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: やりましたね! パスワードのリセットリクエストが成功しました。手順についてはメールを確認してください。 reset_password_failure: メールアドレスが見つかりませんでした。 diff --git a/config/locales/ka.yml b/config/locales/ka.yml index e4d6987b9..cb3d5637b 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -23,6 +23,10 @@ ka: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/ko.yml b/config/locales/ko.yml index e80b1ce62..2a655fcce 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -23,6 +23,10 @@ ko: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: '올바른 전자 메일 주소를 입력하십시오.' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/lt.yml b/config/locales/lt.yml index da5b1247b..51018d3aa 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -23,6 +23,10 @@ lt: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Prašau įveskite teisingą el. pašto adresą' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Kietai! Slaptažodžio nustatymo iš naujo užklausa įvykdyta. Instrukcijų ieškokite savo pašte. reset_password_failure: Oho! Nepavyko rasti vartotojo su nurodytu el. pašto adresu. diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 6c66ccbd5..639194239 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -23,6 +23,10 @@ lv: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Lūdzu, ievadiet derīgu e-pasta adresi' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Urā! Paroles atiestatīšanas pieprasījums ir veiksmīgs. Pārbaudiet savu e-pastu, lai iegūtu norādījumus. reset_password_failure: Ak, vai! Mēs nevarējām atrast nevienu lietotāju ar norādīto e -pastu. diff --git a/config/locales/ml.yml b/config/locales/ml.yml index ab3837cd6..2f411ea56 100644 --- a/config/locales/ml.yml +++ b/config/locales/ml.yml @@ -23,6 +23,10 @@ ml: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'ദയവായി സാധുവായ ഒരു ഇമെയിൽ വിലാസം നൽകുക' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! പാസ്‌വേഡ് പുനസജ്ജീകരണത്തിനുള്ള അഭ്യർത്ഥന വിജയകരമാണ്. നിർദ്ദേശങ്ങൾക്കായി നിങ്ങളുടെ മെയിൽ പരിശോധിക്കുക. reset_password_failure: ക്ഷമിക്കണം! നിർദ്ദിഷ്ട ഇമെയിൽ ഉള്ള ഒരു ഉപയോക്താവിനെയും ഞങ്ങൾക്ക് കണ്ടെത്താൻ കഴിഞ്ഞില്ല. diff --git a/config/locales/ms.yml b/config/locales/ms.yml index e623fe083..7a1902b8e 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -23,6 +23,10 @@ ms: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/ne.yml b/config/locales/ne.yml index 57dfae6b1..2690a7d47 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -23,6 +23,10 @@ ne: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 0fd23d830..641516129 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -23,6 +23,10 @@ nl: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Voer een geldig e-mailadres in' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Verzoek om wachtwoord te resetten is gelukt. Controleer je e-mail voor instructies. reset_password_failure: Oh ho! We konden geen gebruiker vinden met het opgegeven e-mailadres. diff --git a/config/locales/no.yml b/config/locales/no.yml index aa84fed1b..c1b736fb3 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -23,6 +23,10 @@ success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Vennligst skriv inn en gyldig e-postadresse' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Forespørsel om tilbakestilling av passord er vellykket. Sjekk innboksen for instruksjoner. reset_password_failure: Uff da! Vi fant ingen bruker med den angitte eposten. diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 358d48202..c21d42d0f 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -23,6 +23,10 @@ pl: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Wprowadź poprawny adres e-mail' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Prośba o zresetowanie hasła zakończona pomyślnie. Sprawdź swoją pocztę, aby uzyskać instrukcje. reset_password_failure: Ups! Nie mogliśmy znaleźć żadnego użytkownika z podanym adresem e-mail. diff --git a/config/locales/pt.yml b/config/locales/pt.yml index fb40e2e7f..8b78ee036 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -23,6 +23,10 @@ pt: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Por favor, insira um endereço de e-mail válido' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Legal! Pedido de redefinição de senha bem sucedido. Verifique o seu e-mail para obter instruções. reset_password_failure: Uh ho! Não conseguimos encontrar nenhum uutilizador com o e-mail especificado. diff --git a/config/locales/pt_BR.yml b/config/locales/pt_BR.yml index bdffa0b63..80c4eb574 100644 --- a/config/locales/pt_BR.yml +++ b/config/locales/pt_BR.yml @@ -23,12 +23,16 @@ pt_BR: success: 'Canal reautenticado com sucesso' not_required: 'Reautenticação não é necessária para esta caixa de entrada' invalid_channel: 'Tipo de canal inválido para reautenticar' + auth: + saml: + invalid_email: 'Por favor, insira um endereço de e-mail válido' + authentication_failed: 'Falha na autenticação. Por favor, verifique suas credenciais e tente novamente.' messages: reset_password_success: Legal! A solicitação de alteração de senha foi bem sucedida. Verifique seu e-mail para obter instruções. reset_password_failure: Uh ho! Não conseguimos encontrar nenhum usuário com o e-mail especificado. - reset_password_saml_user: This account uses SAML authentication. Password reset is not available. Please contact your administrator. - login_saml_user: This account uses SAML authentication. Please sign in through your organization's SAML provider. - saml_not_available: SAML authentication is not available in this installation. + reset_password_saml_user: Esta conta usa autenticação SAML. A redefinição de senha não está disponível. Por favor, contate o administrador. + login_saml_user: Esta conta usa autenticação SAML. Por favor, faça login através do provedor SAML da sua organização. + saml_not_available: A autenticação SAML não está disponível nesta instalação. inbox_deletetion_response: Seu pedido de exclusão da caixa de entrada será processado dentro de algum tempo. errors: validations: @@ -43,9 +47,9 @@ pt_BR: invalid_params: 'Inválido, por favor, verifique os parâmetros de inscrição e tente novamente' failed: Registro falhou assignment_policy: - not_found: Assignment policy not found + not_found: Política de atribuição não encontrada saml: - feature_not_enabled: SAML feature not enabled for this account + feature_not_enabled: SAML não está habilitado para esta conta data_import: data_type: invalid: Tipo de dado inválido @@ -90,19 +94,19 @@ pt_BR: custom_attribute_definition: key_conflict: A chave fornecida não é permitida pois pode entrar em conflito com os atributos padrão. mfa: - already_enabled: MFA is already enabled - not_enabled: MFA is not enabled - invalid_code: Invalid verification code - invalid_backup_code: Invalid backup code - invalid_token: Invalid or expired MFA token - invalid_credentials: Invalid credentials or verification code - feature_unavailable: MFA feature is not available. Please configure encryption keys. + already_enabled: MFA já está habilitado + not_enabled: MFA não está habilitado + invalid_code: Código de verificação inválido + invalid_backup_code: Código de backup inválido + invalid_token: Token MFA inválido ou expirado + invalid_credentials: Credenciais ou código de verificação inválidos + feature_unavailable: O recurso MFA não está disponível. Por favor, configure as chaves de criptografia. profile: mfa: - enabled: MFA enabled successfully - disabled: MFA disabled successfully + enabled: MFA habilitado com sucesso + disabled: MFA desativado com sucesso account_saml_settings: - invalid_certificate: must be a valid X.509 certificate in PEM format + invalid_certificate: deve ser um certificado X.509 válido em formato PEM reports: period: Reportando o período %{since} a %{until} utc_warning: O relatório gerado está em fuso horário UTC @@ -299,25 +303,25 @@ pt_BR: invalid_tool_call: 'Ferramenta inválida' tool_not_available: 'Ferramenta indisponível' documents: - limit_exceeded: 'Document limit exceeded' - pdf_format_error: 'must be a PDF file' - pdf_size_error: 'must be less than 10MB' - pdf_upload_failed: 'Failed to upload PDF to OpenAI' - pdf_upload_success: 'PDF uploaded successfully with file_id: %{file_id}' - pdf_processing_failed: 'Failed to process PDF document %{document_id}: %{error}' - pdf_processing_success: 'Successfully processed PDF document %{document_id}' + limit_exceeded: 'Limite de documento excedido' + pdf_format_error: 'Deve ser um arquivo PDF' + pdf_size_error: 'Deve ser menor que 10 MB' + pdf_upload_failed: 'Falha ao enviar PDF para OpenAI' + pdf_upload_success: 'PDF enviado com sucesso com file_id: %{file_id}' + pdf_processing_failed: 'Falha ao processar o documento PDF %{document_id}: %{error}' + pdf_processing_success: 'Documento PDF processado com sucesso %{document_id}' faq_generation_complete: 'FAQ generation complete. Total FAQs created: %{count}' - using_paginated_faq: 'Using paginated FAQ generation for document %{document_id}' + using_paginated_faq: '' using_standard_faq: 'Using standard FAQ generation for document %{document_id}' response_creation_error: 'Error in creating response document: %{error}' - missing_openai_file_id: 'Document must have openai_file_id for paginated processing' - openai_api_error: 'OpenAI API Error: %{error}' + missing_openai_file_id: 'O documento deve ter openai_file_id para processamento paginado' + openai_api_error: 'Erro da API OpenAI: %{error}' starting_paginated_faq: 'Starting paginated FAQ generation (%{pages_per_chunk} pages per chunk)' - stopping_faq_generation: 'Stopping processing. Reason: %{reason}' - paginated_faq_complete: 'Paginated generation complete. Total FAQs: %{total_faqs}, Pages processed: %{pages_processed}' - processing_pages: 'Processing pages %{start}-%{end} (iteration %{iteration})' + stopping_faq_generation: 'Processamento interrompido. Motivo: %{reason}' + paginated_faq_complete: 'Geração de paginação completa. Total de FAQs: %{total_faqs}, Páginas processadas: %{pages_processed}' + processing_pages: 'Processando páginas %{start}-%{end} (iteração %{iteration})' chunk_generated: 'Chunk generated %{chunk_faqs} FAQs. Total so far: %{total_faqs}' - page_processing_error: 'Error processing pages %{start}-%{end}: %{error}' + page_processing_error: 'Erro ao processar as páginas %{start}-%{end}: %{error}' public_portal: search: search_placeholder: Pesquisar por artigo por título ou corpo... @@ -399,7 +403,7 @@ pt_BR: Transcrição: %{format_messages} agent_capacity_policy: - inbox_already_assigned: 'Inbox has already been assigned to this policy' + inbox_already_assigned: 'A caixa de entrada já foi atribuída a esta política' portals: send_instructions: email_required: 'E-mail é obrigatório' diff --git a/config/locales/ro.yml b/config/locales/ro.yml index df979d147..bdf8f6237 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -23,6 +23,10 @@ ro: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Vă rugăm să introduceți o adresă de e-mail validă' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Cererea de resetare a parolei a reusit. Verifica emailul pentru instructiuni. reset_password_failure: Nu am putut găsi niciun utilizator cu e-mailul specificat. diff --git a/config/locales/ru.yml b/config/locales/ru.yml index ba8c90652..ee104a126 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -23,6 +23,10 @@ ru: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Пожалуйста, введите действительный адрес электронной почты' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Круто! Запрос на сброс пароля удался. Проверьте почту для получения инструкций. reset_password_failure: Ой! Мы не смогли найти пользователя с указанным email. diff --git a/config/locales/sh.yml b/config/locales/sh.yml index 7e0fa8abf..e4598bccf 100644 --- a/config/locales/sh.yml +++ b/config/locales/sh.yml @@ -23,6 +23,10 @@ sh: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/sk.yml b/config/locales/sk.yml index d59526132..09067eed7 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -23,6 +23,10 @@ sk: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Prosím zadajte platnú e-mailovú adresu' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/sl.yml b/config/locales/sl.yml index a35d95be7..1e4c32133 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -23,6 +23,10 @@ sl: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Juhu! Zahteva za ponastavitev gesla je bila uspešna. Preverite svojo e-pošto za navodila. reset_password_failure: O ne! Nismo mogli najti nobenega uporabnika z navedenim e-poštnim naslovom. diff --git a/config/locales/sq.yml b/config/locales/sq.yml index c2da0e9f8..8717b39fa 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -23,6 +23,10 @@ sq: success: 'Kanali u riautorizua me sukses' not_required: 'Riautorizimi nuk kërkohet për këtë kuti hyrëse' invalid_channel: 'Lloj i pavlefshëm kanali për riautorizim' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/sr.yml b/config/locales/sr.yml index d949944c6..99140fa02 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -23,6 +23,10 @@ sr-Latn: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Molim vas unesite ispravnu adresu e-pošte' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Opa! Zahtev za resetovanjem lozinke je uspešan. Proverite vašu e-poštu za uputstvo. reset_password_failure: O ne! Nismo mogli da pronađemo nijednog korisnika sa navedenom e-poštom. diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 87eb69f7d..fc0170c3a 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -23,6 +23,10 @@ sv: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Ange en giltig e-postadress' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Begäran om återställning av lösenord lyckades. Kontrollera din e-post för instruktioner. reset_password_failure: Oj då! Vi kunde inte hitta någon användare med den angivna e-postadressen. diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 2e63ab3e9..2323ab68e 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -23,6 +23,10 @@ ta: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'சரியான ஈமெயில் முகவரியை பதிவிடவும்' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: வூட்! பாஸ்வேர்டை மீட்டமைப்பிற்கான கோரிக்கை வெற்றிகரமாக அனுப்பப்பட்டுள்ளது. வழிமுறைகளுக்கு உங்கள் ஈ-மெயிலைப் பார்க்கவும். reset_password_failure: மன்னிக்கவும்! குறிப்பிட்ட ஈ-மெயிலுடன் எந்த பயனரையும் எங்களால் கண்டுபிடிக்க முடியவில்லை. diff --git a/config/locales/th.yml b/config/locales/th.yml index eb21fb6ea..137cfd4fd 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -23,6 +23,10 @@ th: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'กรุณากรอกที่อยู่อีเมล์ให้ถูกต้อง' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/tl.yml b/config/locales/tl.yml index e50977905..947ca15f9 100644 --- a/config/locales/tl.yml +++ b/config/locales/tl.yml @@ -23,6 +23,10 @@ tl: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/tr.yml b/config/locales/tr.yml index f638246bc..82cbccc0d 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -23,6 +23,10 @@ tr: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Lütfen geçerli bir e-posta adresi girin' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Parola sıfırlama isteği başarılı. Talimatlar için postanızı kontrol edin. reset_password_failure: Belirtilen e-postaya sahip herhangi bir kullanıcı bulamadık. diff --git a/config/locales/uk.yml b/config/locales/uk.yml index c0001cfae..da1f328ac 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -23,6 +23,10 @@ uk: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Будь ласка, введіть коректну адресу електронної пошти' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Круто! Запит на скидання пароля виконано успішно. Перевірте вашу пошту за подальшими інструкціями. reset_password_failure: Ой-ой! Ми не змогли знайти жодного користувача з цією адресою електронної пошти. diff --git a/config/locales/ur.yml b/config/locales/ur.yml index ccac5d054..5fd822348 100644 --- a/config/locales/ur.yml +++ b/config/locales/ur.yml @@ -23,6 +23,10 @@ ur: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/ur_IN.yml b/config/locales/ur_IN.yml index 7ab544044..3ed18d377 100644 --- a/config/locales/ur_IN.yml +++ b/config/locales/ur_IN.yml @@ -23,6 +23,10 @@ ur: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Please enter a valid email address' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Woot! Request for password reset is successful. Check your mail for instructions. reset_password_failure: Uh ho! We could not find any user with the specified email. diff --git a/config/locales/vi.yml b/config/locales/vi.yml index f4f23de4d..9f2597037 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -23,6 +23,10 @@ vi: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: 'Vui lòng nhập một địa chỉ email hợp lệ' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: Chà! Yêu cầu đặt lại mật khẩu thành công. Kiểm tra thư của bạn để biết hướng dẫn. reset_password_failure: Uh ho! Chúng tôi không thể tìm thấy bất kỳ người dùng nào có email được chỉ định. diff --git a/config/locales/zh_CN.yml b/config/locales/zh_CN.yml index ee3ce7d46..4702af460 100644 --- a/config/locales/zh_CN.yml +++ b/config/locales/zh_CN.yml @@ -23,6 +23,10 @@ zh_CN: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: '请输入一个有效的电子邮件' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: 哇!密码重置请求成功。请检查您的邮件获取说明。 reset_password_failure: 哎呀!我们找不到指定电子邮件的任何用户。 diff --git a/config/locales/zh_TW.yml b/config/locales/zh_TW.yml index a75d8e6ba..ad47d8333 100644 --- a/config/locales/zh_TW.yml +++ b/config/locales/zh_TW.yml @@ -23,6 +23,10 @@ zh_TW: success: 'Channel reauthorized successfully' not_required: 'Reauthorization is not required for this inbox' invalid_channel: 'Invalid channel type for reauthorization' + auth: + saml: + invalid_email: '請輸入一個有效的電子信箱' + authentication_failed: 'Authentication failed. Please check your credentials and try again.' messages: reset_password_success: 密碼重設成功,請確認您的信箱有收到重設信件。 reset_password_failure: 我們找不到用戶指定的電子郵件。 From 44fab70048d004f055aae03b4124a97e8a4203c5 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Wed, 24 Sep 2025 11:31:06 +0530 Subject: [PATCH 04/41] feat: Add support for grouped file uploads in Slack (#12454) Fixes https://linear.app/chatwoot/issue/CW-5646/add-support-for-grouped-file-uploads-in-slack Previously, when sending multiple attachments to Slack, we uploaded them one by one. For example, sending 5 images would result in 5 separate Slack messages. This created clutter and a poor user experience, since Slack displayed each file as an individual message. This PR updates the implementation to group all attachments from a message and send them as a single Slack message. As a result, attachments now appear together in one grouped block, providing a much cleaner and more intuitive experience for users. **Before:** Each file uploaded as a separate Slack message. before **After:** All files from a single message grouped and displayed together in one Slack message (similar to how Slack natively handles grouped uploads). after **Changes** - Upgraded Slack file upload implementation to use the new multiple attachments API available in slack-ruby-client `v2.7.0`. - Updated attachment handling to upload all files from a message in a single API call. - Enabled proper attachment grouping in Slack, ensuring related files are presented together. --- Gemfile | 2 +- Gemfile.lock | 8 +-- .../slack/send_on_slack_service.rb | 51 +++++++++---------- .../slack/send_on_slack_service_spec.rb | 38 ++++++++------ 4 files changed, 52 insertions(+), 47 deletions(-) diff --git a/Gemfile b/Gemfile index 265c609c1..18442e3b0 100644 --- a/Gemfile +++ b/Gemfile @@ -103,7 +103,7 @@ gem 'twitty', '~> 0.1.5' # facebook client gem 'koala' # slack client -gem 'slack-ruby-client', '~> 2.5.2' +gem 'slack-ruby-client', '~> 2.7.0' # for dialogflow integrations gem 'google-cloud-dialogflow-v2', '>= 0.24.0' gem 'grpc' diff --git a/Gemfile.lock b/Gemfile.lock index 16e57d4f8..105bf8c13 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -292,7 +292,7 @@ GEM logger faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) - faraday-mashify (0.1.1) + faraday-mashify (1.0.0) faraday (~> 2.0) hashie faraday-multipart (1.0.4) @@ -876,8 +876,8 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - slack-ruby-client (2.5.2) - faraday (>= 2.0) + slack-ruby-client (2.7.0) + faraday (>= 2.0.1) faraday-mashify faraday-multipart gli @@ -1103,7 +1103,7 @@ DEPENDENCIES sidekiq_alive simplecov (>= 0.21) simplecov_json_formatter - slack-ruby-client (~> 2.5.2) + slack-ruby-client (~> 2.7.0) spring spring-watcher-listen squasher diff --git a/lib/integrations/slack/send_on_slack_service.rb b/lib/integrations/slack/send_on_slack_service.rb index 0563ffd73..46c111a83 100644 --- a/lib/integrations/slack/send_on_slack_service.rb +++ b/lib/integrations/slack/send_on_slack_service.rb @@ -101,7 +101,7 @@ class Integrations::Slack::SendOnSlackService < Base::SendOnChannelService def send_message post_message if message_content.present? - upload_file if message.attachments.any? + upload_files if message.attachments.any? rescue Slack::Web::Api::Errors::AccountInactive, Slack::Web::Api::Errors::MissingScope, Slack::Web::Api::Errors::InvalidAuth, Slack::Web::Api::Errors::ChannelNotFound, Slack::Web::Api::Errors::NotInChannel => e Rails.logger.error e @@ -120,36 +120,35 @@ class Integrations::Slack::SendOnSlackService < Base::SendOnChannelService ) end - def upload_file - message.attachments.each do |attachment| - next unless attachment.with_attached_file? + def upload_files + return unless message.attachments.any? - begin - result = slack_client.files_upload_v2( - filename: attachment.file.filename.to_s, - content: attachment.file.download, - initial_comment: 'Attached File!', - thread_ts: conversation.identifier, - channel_id: hook.reference_id - ) - Rails.logger.info "slack_upload_result: #{result}" - rescue Slack::Web::Api::Errors::SlackError => e - Rails.logger.error "Failed to upload file #{attachment.file.filename}: #{e.message}" - end + files = build_files_array + return if files.empty? + + begin + result = slack_client.files_upload_v2( + files: files, + initial_comment: 'Attached File!', + thread_ts: conversation.identifier, + channel_id: hook.reference_id + ) + Rails.logger.info "slack_upload_result: #{result}" + rescue Slack::Web::Api::Errors::SlackError => e + Rails.logger.error "Failed to upload files: #{e.message}" end end - def file_type - File.extname(message.attachments.first.download_url).strip.downcase[1..] - end + def build_files_array + message.attachments.filter_map do |attachment| + next unless attachment.with_attached_file? - def file_information - { - filename: message.attachments.first.file.filename, - filetype: file_type, - content: message.attachments.first.file.download, - title: message.attachments.first.file.filename - } + { + filename: attachment.file.filename.to_s, + content: attachment.file.download, + title: attachment.file.filename.to_s + } + end end def sender_name(sender) diff --git a/spec/lib/integrations/slack/send_on_slack_service_spec.rb b/spec/lib/integrations/slack/send_on_slack_service_spec.rb index ee08a2903..87d58b79b 100644 --- a/spec/lib/integrations/slack/send_on_slack_service_spec.rb +++ b/spec/lib/integrations/slack/send_on_slack_service_spec.rb @@ -163,8 +163,11 @@ describe Integrations::Slack::SendOnSlackService do attachment.file.attach(io: Rails.root.join('spec/assets/avatar.png').open, filename: 'avatar.png', content_type: 'image/png') expect(slack_client).to receive(:files_upload_v2).with( - filename: attachment.file.filename.to_s, - content: anything, + files: [{ + filename: attachment.file.filename.to_s, + content: anything, + title: attachment.file.filename.to_s + }], channel_id: hook.reference_id, thread_ts: conversation.identifier, initial_comment: 'Attached File!' @@ -179,27 +182,27 @@ describe Integrations::Slack::SendOnSlackService do end it 'sent multiple attachments on slack' do - expect(slack_client).to receive(:chat_postMessage).with( - channel: hook.reference_id, - text: message.content, - username: "#{message.sender.name} (Contact)", - thread_ts: conversation.identifier, - icon_url: anything, - unfurl_links: true - ).and_return(slack_message) + expect(slack_client).to receive(:chat_postMessage).and_return(slack_message) attachment1 = message.attachments.new(account_id: message.account_id, file_type: :image) attachment1.file.attach(io: Rails.root.join('spec/assets/avatar.png').open, filename: 'avatar.png', content_type: 'image/png') - attachment2 = message.attachments.new(account_id: message.account_id, file_type: :image) attachment2.file.attach(io: Rails.root.join('spec/assets/avatar.png').open, filename: 'logo.png', content_type: 'image/png') - expect(slack_client).to receive(:files_upload_v2).twice.and_return(file_attachment) + expected_files = [ + { filename: 'avatar.png', content: anything, title: 'avatar.png' }, + { filename: 'logo.png', content: anything, title: 'logo.png' } + ] + expect(slack_client).to receive(:files_upload_v2).with( + files: expected_files, + channel_id: hook.reference_id, + thread_ts: conversation.identifier, + initial_comment: 'Attached File!' + ).and_return(file_attachment) message.save! builder.perform - expect(message.external_source_id_slack).to eq 'cw-origin-6789.12345' expect(message.attachments.count).to eq 2 end @@ -217,14 +220,17 @@ describe Integrations::Slack::SendOnSlackService do attachment.file.attach(io: Rails.root.join('spec/assets/avatar.png').open, filename: 'avatar.png', content_type: 'image/png') expect(slack_client).to receive(:files_upload_v2).with( - filename: attachment.file.filename.to_s, - content: anything, + files: [{ + filename: attachment.file.filename.to_s, + content: anything, + title: attachment.file.filename.to_s + }], channel_id: hook.reference_id, thread_ts: conversation.identifier, initial_comment: 'Attached File!' ).and_raise(Slack::Web::Api::Errors::SlackError.new('File upload failed')) - expect(Rails.logger).to receive(:error).with('Failed to upload file avatar.png: File upload failed') + expect(Rails.logger).to receive(:error).with('Failed to upload files: File upload failed') message.save! From e68522318b3f7e070bd6d648fb07906cf9b22d86 Mon Sep 17 00:00:00 2001 From: Macoly Melo <115957403+macolym@users.noreply.github.com> Date: Wed, 24 Sep 2025 03:05:14 -0300 Subject: [PATCH 05/41] feat: Enable lock to single thread settings for Telegram (#12367) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR implements the **"Lock to Single Conversation"** option for Telegram inboxes, bringing it to parity with WhatsApp, SMS, and other channels. - When **enabled**: resolved conversations can be reopened (single thread). - When **disabled**: new messages from a resolved conversation create a **new conversation**. - Added **agent name display** in outgoing Telegram messages (formatted as `Agent Name: message`). - Updated frontend to display agent name above messages in the dashboard (consistent with WhatsApp behavior). This fixes [#8046](https://github.com/chatwoot/chatwoot/issues/8046). ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality not to work as expected) - [ ] This change requires a documentation update ## How Has This Been Tested? - Unit tests added in `spec/services/telegram/incoming_message_service_spec.rb` - Scenarios covered: - Lock enabled → reopens resolved conversation - Lock disabled → creates new conversation if resolved - Lock disabled → appends to last open conversation - Manual tests: 1. Create a Telegram conversation 2. Mark it as resolved 3. Send a new message from same user 4. ✅ Expected: new conversation created (if lock disabled) ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules ## Additional Documentation For full technical details of this implementation, please refer to: [TELEGRAM_LOCK_TO_SINGLE_CONVERSATION_IMPLEMENTATION_EN.md](./TELEGRAM_LOCK_TO_SINGLE_CONVERSATION_IMPLEMENTATION_EN.md) --------- Co-authored-by: Muhsin Keloth --- .../dashboard/settings/inbox/Settings.vue | 3 +- .../telegram/incoming_message_service.rb | 8 ++- .../telegram/incoming_message_service_spec.rb | 71 +++++++++++++++++++ 3 files changed, 80 insertions(+), 2 deletions(-) diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue index aa1def9e9..5ae0cec2f 100644 --- a/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue +++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/Settings.vue @@ -206,7 +206,8 @@ export default { this.isASmsInbox || this.isAWhatsAppChannel || this.isAFacebookInbox || - this.isAPIInbox + this.isAPIInbox || + this.isATelegramChannel ); }, inboxNameLabel() { diff --git a/app/services/telegram/incoming_message_service.rb b/app/services/telegram/incoming_message_service.rb index 6eeb192f2..897db29c3 100644 --- a/app/services/telegram/incoming_message_service.rb +++ b/app/services/telegram/incoming_message_service.rb @@ -77,7 +77,13 @@ class Telegram::IncomingMessageService end def set_conversation - @conversation = @contact_inbox.conversations.first + # if lock to single conversation is disabled, we will create a new conversation if previous conversation is resolved + @conversation = if @inbox.lock_to_single_conversation + @contact_inbox.conversations.last + else + @contact_inbox.conversations + .where.not(status: :resolved).last + end return if @conversation @conversation = ::Conversation.create!(conversation_params) diff --git a/spec/services/telegram/incoming_message_service_spec.rb b/spec/services/telegram/incoming_message_service_spec.rb index ef43dbe24..528161afe 100644 --- a/spec/services/telegram/incoming_message_service_spec.rb +++ b/spec/services/telegram/incoming_message_service_spec.rb @@ -411,4 +411,75 @@ describe Telegram::IncomingMessageService do end end end + + context 'when lock to single conversation is enabled' do + before do + # ensure message_params exists in this context and has from.id + message_params[:from] ||= {} + message_params[:from][:id] ||= 23 + end + + it 'reopens last conversation if last conversation is resolved' do + telegram_channel.inbox.update!(lock_to_single_conversation: true) + contact_inbox = ContactInbox.find_or_create_by(inbox: telegram_channel.inbox, source_id: message_params[:from][:id]) do |ci| + ci.contact = create(:contact) + end + resolved_conversation = create(:conversation, inbox: telegram_channel.inbox, contact_inbox: contact_inbox, status: :resolved) + + params = { + 'update_id' => 2_342_342_343_242, + 'message' => { 'text' => 'test' }.merge(message_params) + }.with_indifferent_access + + described_class.new(inbox: telegram_channel.inbox, params: params).perform + + expect(telegram_channel.inbox.conversations.count).to eq(1) + expect(resolved_conversation.reload.messages.last.content).to eq('test') + end + end + + context 'when lock to single conversation is disabled' do + before do + # ensure message_params exists in this context and has from.id + message_params[:from] ||= {} + message_params[:from][:id] ||= 23 + end + + it 'creates new conversation if last conversation is resolved' do + telegram_channel.inbox.update!(lock_to_single_conversation: false) + contact_inbox = ContactInbox.find_or_create_by(inbox: telegram_channel.inbox, source_id: message_params[:from][:id]) do |ci| + ci.contact = create(:contact) + end + _resolved_conversation = create(:conversation, inbox: telegram_channel.inbox, contact_inbox: contact_inbox, status: :resolved) + + params = { + 'update_id' => 2_342_342_343_242, + 'message' => { 'text' => 'test' }.merge(message_params) + }.with_indifferent_access + + described_class.new(inbox: telegram_channel.inbox, params: params).perform + + expect(telegram_channel.inbox.conversations.count).to eq(2) + expect(telegram_channel.inbox.conversations.last.messages.first.content).to eq('test') + expect(telegram_channel.inbox.conversations.last.status).to eq('open') + end + + it 'appends to last conversation if last conversation is not resolved' do + telegram_channel.inbox.update!(lock_to_single_conversation: false) + contact_inbox = ContactInbox.find_or_create_by(inbox: telegram_channel.inbox, source_id: message_params[:from][:id]) do |ci| + ci.contact = create(:contact) + end + open_conversation = create(:conversation, inbox: telegram_channel.inbox, contact_inbox: contact_inbox, status: :open) + + params = { + 'update_id' => 2_342_342_343_242, + 'message' => { 'text' => 'test' }.merge(message_params) + }.with_indifferent_access + + described_class.new(inbox: telegram_channel.inbox, params: params).perform + + expect(telegram_channel.inbox.conversations.count).to eq(1) + expect(open_conversation.reload.messages.last.content).to eq('test') + end + end end From 79793a54353c2ad219622d328d57909977cd3483 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Wed, 24 Sep 2025 12:42:15 +0530 Subject: [PATCH 06/41] chore: Update Guyana's country dial code from +595 to +592 (#12510) # Pull Request Template ## Description This PR updates Guyana's country dial code from +595 to +592 Fixes https://github.com/chatwoot/chatwoot/issues/12501 , [CW-5669](https://linear.app/chatwoot/issue/CW-5669/incorrect-country-code) ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --- app/javascript/shared/constants/countries.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/shared/constants/countries.js b/app/javascript/shared/constants/countries.js index 4dd74a74f..41418169c 100644 --- a/app/javascript/shared/constants/countries.js +++ b/app/javascript/shared/constants/countries.js @@ -541,7 +541,7 @@ const countries = [ }, { name: 'Guyana', - dial_code: '+595', + dial_code: '+592', emoji: '🇬🇾', id: 'GY', }, From 9f14e6abb6e1e518b8a72def8b943c24446643ac Mon Sep 17 00:00:00 2001 From: Clairton Rodrigo Heinzen Date: Wed, 24 Sep 2025 05:15:20 -0300 Subject: [PATCH 07/41] feat: Load reply-to messages dynamically when not present in message list (#10024) # load reply to message ## Description When replayed message is more old, not show content ## Type of change Please delete options that are not relevant. - [X] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? I run in my development and production envinronment with unoapi --------- Co-authored-by: iamsivin Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: Muhsin Keloth --- .../components-next/message/MessageList.vue | 70 +++++++++++++++++-- 1 file changed, 65 insertions(+), 5 deletions(-) diff --git a/app/javascript/dashboard/components-next/message/MessageList.vue b/app/javascript/dashboard/components-next/message/MessageList.vue index 4c4fe1a1d..b73b44d5a 100644 --- a/app/javascript/dashboard/components-next/message/MessageList.vue +++ b/app/javascript/dashboard/components-next/message/MessageList.vue @@ -1,8 +1,10 @@