From a8febc00d3a640069d3077af49349f551d4d49cb Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Thu, 27 Feb 2025 16:57:25 -0800 Subject: [PATCH 01/26] chore: Add Swagger endpoint for updating custom attributes (#10995) - Add swagger endpoint for updating custom attributes in a conversation --- .gitignore | 1 + .../conversation/custom_attributes.yml | 36 +++++++++ swagger/paths/index.yml | 7 ++ swagger/swagger.json | 73 +++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 swagger/paths/application/conversation/custom_attributes.yml diff --git a/.gitignore b/.gitignore index 5eb883db0..77c4a4740 100644 --- a/.gitignore +++ b/.gitignore @@ -73,6 +73,7 @@ test/cypress/videos/* #ignore files under .vscode directory .vscode +.cursor # yalc for local testing .yalc diff --git a/swagger/paths/application/conversation/custom_attributes.yml b/swagger/paths/application/conversation/custom_attributes.yml new file mode 100644 index 000000000..bfd416138 --- /dev/null +++ b/swagger/paths/application/conversation/custom_attributes.yml @@ -0,0 +1,36 @@ +tags: + - Conversations +operationId: update-custom-attributes-of-a-conversation +summary: Update Custom Attributes +description: Updates the custom attributes of a conversation +security: + - userApiKey: [] + - agentBotApiKey: [] +parameters: + - name: data + in: body + required: true + schema: + type: object + required: + - custom_attributes + properties: + custom_attributes: + type: object + description: The custom attributes to be set for the conversation + example: + order_id: "12345" + previous_conversation: "67890" +responses: + 200: + description: Success + schema: + type: object + properties: + custom_attributes: + type: object + description: The custom attributes of the conversation + 404: + description: Conversation not found + 401: + description: Unauthorized \ No newline at end of file diff --git a/swagger/paths/index.yml b/swagger/paths/index.yml index 6df22d06e..769f38c27 100644 --- a/swagger/paths/index.yml +++ b/swagger/paths/index.yml @@ -354,6 +354,13 @@ post: $ref: ./application/conversation/toggle_priority.yml +/api/v1/accounts/{account_id}/conversations/{conversation_id}/custom_attributes: + parameters: + - $ref: '#/parameters/account_id' + - $ref: '#/parameters/conversation_id' + post: + $ref: ./application/conversation/custom_attributes.yml + # Conversations Assignments /api/v1/accounts/{account_id}/conversations/{conversation_id}/assignments: diff --git a/swagger/swagger.json b/swagger/swagger.json index d5f94f730..19ef5c904 100644 --- a/swagger/swagger.json +++ b/swagger/swagger.json @@ -3514,6 +3514,79 @@ } } }, + "/api/v1/accounts/{account_id}/conversations/{conversation_id}/custom_attributes": { + "parameters": [ + { + "$ref": "#/parameters/account_id" + }, + { + "$ref": "#/parameters/conversation_id" + } + ], + "post": { + "tags": [ + "Conversations" + ], + "operationId": "update-custom-attributes-of-a-conversation", + "summary": "Update Custom Attributes", + "description": "Updates the custom attributes of a conversation", + "security": [ + { + "userApiKey": [ + + ] + }, + { + "agentBotApiKey": [ + + ] + } + ], + "parameters": [ + { + "name": "data", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "custom_attributes" + ], + "properties": { + "custom_attributes": { + "type": "object", + "description": "The custom attributes to be set for the conversation", + "example": { + "order_id": "12345", + "previous_conversation": "67890" + } + } + } + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "object", + "properties": { + "custom_attributes": { + "type": "object", + "description": "The custom attributes of the conversation" + } + } + } + }, + "404": { + "description": "Conversation not found" + }, + "401": { + "description": "Unauthorized" + } + } + } + }, "/api/v1/accounts/{account_id}/conversations/{conversation_id}/assignments": { "parameters": [ { From 6eecd84b22fd1978b000fb4c957f445c2d47751d Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Fri, 28 Feb 2025 06:35:33 +0530 Subject: [PATCH 02/26] feat: Add support for bulk action for Captain FAQs (#10905) Co-authored-by: Pranav Co-authored-by: Pranav --- .../dashboard/api/captain/bulkActions.js | 9 + .../dashboard/components-next/CardLayout.vue | 13 +- .../captain/assistant/ResponseCard.vue | 31 ++- .../pageComponents/BulkDeleteDialog.vue | 59 ++++++ .../checkbox/Checkbox.story.vue | 47 +++++ .../components-next/checkbox/Checkbox.vue | 63 ++++++ .../i18n/locale/en/integrations.json | 14 ++ .../dashboard/captain/responses/Index.vue | 182 +++++++++++++++--- .../dashboard/store/captain/bulkActions.js | 56 ++++++ .../dashboard/store/captain/response.js | 25 +++ app/javascript/dashboard/store/index.js | 2 + config/routes.rb | 1 + .../captain/bulk_actions_controller.rb | 51 +++++ .../captain/tools/firecrawl_service.rb | 2 +- .../captain/bulk_actions/create.json.jbuilder | 3 + .../captain/bulk_actions_controller_spec.rb | 143 ++++++++++++++ .../captain/tools/firecrawl_service_spec.rb | 10 + 17 files changed, 680 insertions(+), 31 deletions(-) create mode 100644 app/javascript/dashboard/api/captain/bulkActions.js create mode 100644 app/javascript/dashboard/components-next/captain/pageComponents/BulkDeleteDialog.vue create mode 100644 app/javascript/dashboard/components-next/checkbox/Checkbox.story.vue create mode 100644 app/javascript/dashboard/components-next/checkbox/Checkbox.vue create mode 100644 app/javascript/dashboard/store/captain/bulkActions.js create mode 100644 enterprise/app/controllers/api/v1/accounts/captain/bulk_actions_controller.rb create mode 100644 enterprise/app/views/api/v1/accounts/captain/bulk_actions/create.json.jbuilder create mode 100644 spec/enterprise/controllers/api/v1/accounts/captain/bulk_actions_controller_spec.rb diff --git a/app/javascript/dashboard/api/captain/bulkActions.js b/app/javascript/dashboard/api/captain/bulkActions.js new file mode 100644 index 000000000..fd69a1108 --- /dev/null +++ b/app/javascript/dashboard/api/captain/bulkActions.js @@ -0,0 +1,9 @@ +import ApiClient from '../ApiClient'; + +class CaptainBulkActionsAPI extends ApiClient { + constructor() { + super('captain/bulk_actions', { accountScoped: true }); + } +} + +export default new CaptainBulkActionsAPI(); diff --git a/app/javascript/dashboard/components-next/CardLayout.vue b/app/javascript/dashboard/components-next/CardLayout.vue index 0fd3f5986..462402167 100644 --- a/app/javascript/dashboard/components-next/CardLayout.vue +++ b/app/javascript/dashboard/components-next/CardLayout.vue @@ -4,6 +4,10 @@ defineProps({ type: String, default: 'col', }, + selectable: { + type: Boolean, + default: false, + }, }); const emit = defineEmits(['click']); @@ -18,10 +22,11 @@ const handleClick = () => { class="flex flex-col w-full shadow outline-1 outline outline-n-container group/cardLayout rounded-2xl bg-n-solid-2" >
diff --git a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue index 312f2ad34..f00354105 100644 --- a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue +++ b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue @@ -7,6 +7,7 @@ import { dynamicTime } from 'shared/helpers/timeHelper'; import CardLayout from 'dashboard/components-next/CardLayout.vue'; import DropdownMenu from 'dashboard/components-next/dropdown-menu/DropdownMenu.vue'; import Button from 'dashboard/components-next/button/Button.vue'; +import Checkbox from 'dashboard/components-next/checkbox/Checkbox.vue'; import Policy from 'dashboard/components/policy.vue'; const props = defineProps({ @@ -46,14 +47,27 @@ const props = defineProps({ type: Number, required: true, }, + isSelected: { + type: Boolean, + default: false, + }, + selectable: { + type: Boolean, + default: false, + }, }); -const emit = defineEmits(['action', 'navigate']); +const emit = defineEmits(['action', 'navigate', 'select', 'hover']); const { t } = useI18n(); const [showActionsDropdown, toggleDropdown] = useToggle(); +const modelValue = computed({ + get: () => props.isSelected, + set: () => emit('select', props.id), +}); + const statusAction = computed(() => { if (props.status === 'pending') { return [ @@ -102,8 +116,17 @@ const handleDocumentableClick = () => { @@ -218,8 +344,12 @@ onMounted(() => { :status="response.status" :created-at="response.created_at" :updated-at="response.updated_at" + :is-selected="bulkSelectedIds.has(response.id)" + :selectable="hoveredCard === response.id || bulkSelectedIds.size > 0" @action="handleAction" @navigate="handleNavigationAction" + @select="handleCardSelect" + @hover="isHovered => handleCardHover(isHovered, response.id)" />
@@ -232,6 +362,14 @@ onMounted(() => { @delete-success="onDeleteSuccess" /> + + ({ + processBulkAction: async function processBulkAction( + { commit }, + { type, actionType, ids } + ) { + commit(mutations.SET_UI_FLAG, { isUpdating: true }); + try { + const response = await CaptainBulkActionsAPI.create({ + type: type, + ids, + fields: { status: actionType }, + }); + commit(mutations.SET_UI_FLAG, { isUpdating: false }); + return response.data; + } catch (error) { + commit(mutations.SET_UI_FLAG, { isUpdating: false }); + return throwErrorMessage(error); + } + }, + + handleBulkDelete: async function handleBulkDelete({ dispatch }, ids) { + const response = await dispatch('processBulkAction', { + type: 'AssistantResponse', + actionType: 'delete', + ids, + }); + + // Update the response store after successful API call + await dispatch('captainResponses/removeBulkResponses', ids, { + root: true, + }); + return response; + }, + + handleBulkApprove: async function handleBulkApprove({ dispatch }, ids) { + const response = await dispatch('processBulkAction', { + type: 'AssistantResponse', + actionType: 'approve', + ids, + }); + + // Update response store after successful API call + await dispatch('captainResponses/updateBulkResponses', response, { + root: true, + }); + return response; + }, + }), +}); diff --git a/app/javascript/dashboard/store/captain/response.js b/app/javascript/dashboard/store/captain/response.js index 6280e417e..5f8c2eee1 100644 --- a/app/javascript/dashboard/store/captain/response.js +++ b/app/javascript/dashboard/store/captain/response.js @@ -4,4 +4,29 @@ import { createStore } from './storeFactory'; export default createStore({ name: 'CaptainResponse', API: CaptainResponseAPI, + actions: mutations => ({ + removeBulkResponses: ({ commit, state }, ids) => { + const updatedRecords = state.records.filter( + record => !ids.includes(record.id) + ); + commit(mutations.SET, updatedRecords); + }, + updateBulkResponses: ({ commit, state }, approvedResponses) => { + // Create a map of updated responses for faster lookup + const updatedResponsesMap = approvedResponses.reduce((map, response) => { + map[response.id] = response; + return map; + }, {}); + + // Update existing records with updated data + const updatedRecords = state.records.map(record => { + if (updatedResponsesMap[record.id]) { + return updatedResponsesMap[record.id]; // Replace with the updated response + } + return record; + }); + + commit(mutations.SET, updatedRecords); + }, + }), }); diff --git a/app/javascript/dashboard/store/index.js b/app/javascript/dashboard/store/index.js index 379ff21f1..5daf73ae1 100755 --- a/app/javascript/dashboard/store/index.js +++ b/app/javascript/dashboard/store/index.js @@ -50,6 +50,7 @@ import captainAssistants from './captain/assistant'; import captainDocuments from './captain/document'; import captainResponses from './captain/response'; import captainInboxes from './captain/inboxes'; +import captainBulkActions from './captain/bulkActions'; const plugins = []; export default createStore({ @@ -104,6 +105,7 @@ export default createStore({ captainDocuments, captainResponses, captainInboxes, + captainBulkActions, }, plugins, }); diff --git a/config/routes.rb b/config/routes.rb index 3e2616a46..3b5435ed9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -54,6 +54,7 @@ Rails.application.routes.draw do end resources :documents, only: [:index, :show, :create, :destroy] resources :assistant_responses + resources :bulk_actions, only: [:create] end resources :agent_bots, only: [:index, :create, :show, :update, :destroy] do delete :avatar, on: :member diff --git a/enterprise/app/controllers/api/v1/accounts/captain/bulk_actions_controller.rb b/enterprise/app/controllers/api/v1/accounts/captain/bulk_actions_controller.rb new file mode 100644 index 000000000..3130a68cc --- /dev/null +++ b/enterprise/app/controllers/api/v1/accounts/captain/bulk_actions_controller.rb @@ -0,0 +1,51 @@ +class Api::V1::Accounts::Captain::BulkActionsController < Api::V1::Accounts::BaseController + before_action :current_account + before_action -> { check_authorization(Captain::Assistant) } + before_action :validate_params + before_action :type_matches? + + MODEL_TYPE = ['AssistantResponse'].freeze + + def create + @responses = process_bulk_action + end + + private + + def validate_params + return if params[:type].present? && params[:ids].present? && params[:fields].present? + + render json: { success: false }, status: :unprocessable_entity + end + + def type_matches? + return if MODEL_TYPE.include?(params[:type]) + + render json: { success: false }, status: :unprocessable_entity + end + + def process_bulk_action + case params[:type] + when 'AssistantResponse' + handle_assistant_responses + end + end + + def handle_assistant_responses + responses = Current.account.captain_assistant_responses.where(id: params[:ids]) + return unless responses.exists? + + case params[:fields][:status] + when 'approve' + responses.pending.update(status: 'approved') + responses + when 'delete' + responses.destroy_all + [] + end + end + + def permitted_params + params.permit(:type, ids: [], fields: [:status]) + end +end diff --git a/enterprise/app/services/captain/tools/firecrawl_service.rb b/enterprise/app/services/captain/tools/firecrawl_service.rb index a32f1d630..397c3ad63 100644 --- a/enterprise/app/services/captain/tools/firecrawl_service.rb +++ b/enterprise/app/services/captain/tools/firecrawl_service.rb @@ -1,7 +1,7 @@ class Captain::Tools::FirecrawlService def initialize @api_key = InstallationConfig.find_by!(name: 'CAPTAIN_FIRECRAWL_API_KEY').value - raise 'Missing API key' if @api_key.nil? + raise 'Missing API key' if @api_key.empty? end def perform(url, webhook_url, crawl_limit = 10) diff --git a/enterprise/app/views/api/v1/accounts/captain/bulk_actions/create.json.jbuilder b/enterprise/app/views/api/v1/accounts/captain/bulk_actions/create.json.jbuilder new file mode 100644 index 000000000..4ba4b1ad6 --- /dev/null +++ b/enterprise/app/views/api/v1/accounts/captain/bulk_actions/create.json.jbuilder @@ -0,0 +1,3 @@ +json.array! @responses do |response| + json.partial! 'api/v1/models/captain/assistant_response', formats: [:json], resource: response +end diff --git a/spec/enterprise/controllers/api/v1/accounts/captain/bulk_actions_controller_spec.rb b/spec/enterprise/controllers/api/v1/accounts/captain/bulk_actions_controller_spec.rb new file mode 100644 index 000000000..968649085 --- /dev/null +++ b/spec/enterprise/controllers/api/v1/accounts/captain/bulk_actions_controller_spec.rb @@ -0,0 +1,143 @@ +require 'rails_helper' + +RSpec.describe 'Api::V1::Accounts::Captain::BulkActions', type: :request do + let(:account) { create(:account) } + let(:assistant) { create(:captain_assistant, account: account) } + let(:admin) { create(:user, account: account, role: :administrator) } + let(:agent) { create(:user, account: account, role: :agent) } + let!(:pending_responses) do + create_list( + :captain_assistant_response, + 2, + assistant: assistant, + account: account, + status: 'pending' + ) + end + + def json_response + JSON.parse(response.body, symbolize_names: true) + end + + describe 'POST /api/v1/accounts/:account_id/captain/bulk_actions' do + context 'when approving responses' do + let(:valid_params) do + { + type: 'AssistantResponse', + ids: pending_responses.map(&:id), + fields: { status: 'approve' } + } + end + + it 'approves the responses and returns the updated records' do + post "/api/v1/accounts/#{account.id}/captain/bulk_actions", + params: valid_params, + headers: admin.create_new_auth_token, + as: :json + + expect(response).to have_http_status(:ok) + expect(json_response).to be_an(Array) + expect(json_response.length).to eq(2) + + # Verify responses were approved + pending_responses.each do |response| + expect(response.reload.status).to eq('approved') + end + end + end + + context 'when deleting responses' do + let(:delete_params) do + { + type: 'AssistantResponse', + ids: pending_responses.map(&:id), + fields: { status: 'delete' } + } + end + + it 'deletes the responses and returns an empty array' do + expect do + post "/api/v1/accounts/#{account.id}/captain/bulk_actions", + params: delete_params, + headers: admin.create_new_auth_token, + as: :json + end.to change(Captain::AssistantResponse, :count).by(-2) + + expect(response).to have_http_status(:ok) + expect(json_response).to eq([]) + + # Verify responses were deleted + pending_responses.each do |response| + expect { response.reload }.to raise_error(ActiveRecord::RecordNotFound) + end + end + end + + context 'with invalid type' do + let(:invalid_params) do + { + type: 'InvalidType', + ids: pending_responses.map(&:id), + fields: { status: 'approve' } + } + end + + it 'returns unprocessable entity status' do + post "/api/v1/accounts/#{account.id}/captain/bulk_actions", + params: invalid_params, + headers: admin.create_new_auth_token, + as: :json + + expect(response).to have_http_status(:unprocessable_entity) + expect(json_response[:success]).to be(false) + + # Verify no changes were made + pending_responses.each do |response| + expect(response.reload.status).to eq('pending') + end + end + end + + context 'with missing parameters' do + let(:missing_params) do + { + type: 'AssistantResponse', + fields: { status: 'approve' } + } + end + + it 'returns unprocessable entity status' do + post "/api/v1/accounts/#{account.id}/captain/bulk_actions", + params: missing_params, + headers: admin.create_new_auth_token, + as: :json + + expect(response).to have_http_status(:unprocessable_entity) + expect(json_response[:success]).to be(false) + + # Verify no changes were made + pending_responses.each do |response| + expect(response.reload.status).to eq('pending') + end + end + end + + context 'with unauthorized user' do + let(:unauthorized_user) { create(:user, account: create(:account)) } + + it 'returns unauthorized status' do + post "/api/v1/accounts/#{account.id}/captain/bulk_actions", + params: { type: 'AssistantResponse', ids: [1], fields: { status: 'approve' } }, + headers: unauthorized_user.create_new_auth_token, + as: :json + + expect(response).to have_http_status(:unauthorized) + + # Verify no changes were made + pending_responses.each do |response| + expect(response.reload.status).to eq('pending') + end + end + end + end +end diff --git a/spec/enterprise/services/captain/tools/firecrawl_service_spec.rb b/spec/enterprise/services/captain/tools/firecrawl_service_spec.rb index 8b358a655..d6563b163 100644 --- a/spec/enterprise/services/captain/tools/firecrawl_service_spec.rb +++ b/spec/enterprise/services/captain/tools/firecrawl_service_spec.rb @@ -32,6 +32,16 @@ RSpec.describe Captain::Tools::FirecrawlService do InstallationConfig.find_by(name: 'CAPTAIN_FIRECRAWL_API_KEY').update(value: nil) end + it 'raises an error' do + expect { described_class.new }.to raise_error(NoMethodError) + end + end + + context 'when API key is empty' do + before do + InstallationConfig.find_by(name: 'CAPTAIN_FIRECRAWL_API_KEY').update(value: '') + end + it 'raises an error' do expect { described_class.new }.to raise_error('Missing API key') end From f57c9279aa0fc4405e15aaebfb9678138eac7e7e Mon Sep 17 00:00:00 2001 From: Chatwoot Bot <92152627+chatwoot-bot@users.noreply.github.com> Date: Thu, 27 Feb 2025 20:56:42 -0800 Subject: [PATCH 03/26] chore: Update translations (#10997) - Update translations --- .../i18n/locale/am/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/am/settings.json | 18 +++++++++++++++++ .../i18n/locale/ar/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ar/settings.json | 18 +++++++++++++++++ .../i18n/locale/az/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/az/settings.json | 18 +++++++++++++++++ .../i18n/locale/bg/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/bg/settings.json | 18 +++++++++++++++++ .../i18n/locale/ca/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ca/settings.json | 18 +++++++++++++++++ .../i18n/locale/cs/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/cs/settings.json | 18 +++++++++++++++++ .../i18n/locale/da/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/da/settings.json | 18 +++++++++++++++++ .../i18n/locale/de/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/de/settings.json | 18 +++++++++++++++++ .../i18n/locale/el/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/el/settings.json | 18 +++++++++++++++++ .../i18n/locale/es/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/es/settings.json | 18 +++++++++++++++++ .../i18n/locale/fa/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/fa/settings.json | 18 +++++++++++++++++ .../i18n/locale/fi/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/fi/settings.json | 18 +++++++++++++++++ .../i18n/locale/fr/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/fr/settings.json | 18 +++++++++++++++++ .../i18n/locale/he/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/he/settings.json | 18 +++++++++++++++++ .../i18n/locale/hi/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/hi/settings.json | 18 +++++++++++++++++ .../i18n/locale/hr/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/hr/settings.json | 18 +++++++++++++++++ .../i18n/locale/hu/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/hu/settings.json | 18 +++++++++++++++++ .../i18n/locale/hy/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/hy/settings.json | 18 +++++++++++++++++ .../i18n/locale/id/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/id/settings.json | 18 +++++++++++++++++ .../i18n/locale/is/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/is/settings.json | 18 +++++++++++++++++ .../i18n/locale/it/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/it/settings.json | 18 +++++++++++++++++ .../i18n/locale/ja/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ja/settings.json | 18 +++++++++++++++++ .../i18n/locale/ka/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ka/settings.json | 18 +++++++++++++++++ .../i18n/locale/ko/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ko/settings.json | 18 +++++++++++++++++ .../i18n/locale/lt/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/lt/settings.json | 18 +++++++++++++++++ .../i18n/locale/lv/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/lv/settings.json | 18 +++++++++++++++++ .../i18n/locale/ml/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ml/settings.json | 18 +++++++++++++++++ .../i18n/locale/ms/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ms/settings.json | 18 +++++++++++++++++ .../i18n/locale/ne/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ne/settings.json | 18 +++++++++++++++++ .../i18n/locale/nl/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/nl/settings.json | 18 +++++++++++++++++ .../i18n/locale/no/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/no/settings.json | 18 +++++++++++++++++ .../i18n/locale/pl/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/pl/settings.json | 18 +++++++++++++++++ .../i18n/locale/pt/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/pt/settings.json | 18 +++++++++++++++++ .../i18n/locale/pt_BR/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/pt_BR/settings.json | 18 +++++++++++++++++ .../i18n/locale/ro/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ro/settings.json | 18 +++++++++++++++++ .../i18n/locale/ru/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ru/settings.json | 18 +++++++++++++++++ .../i18n/locale/sh/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sh/settings.json | 18 +++++++++++++++++ .../i18n/locale/sk/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sk/settings.json | 18 +++++++++++++++++ .../i18n/locale/sl/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sl/settings.json | 18 +++++++++++++++++ .../i18n/locale/sq/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sq/settings.json | 18 +++++++++++++++++ .../i18n/locale/sr/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sr/settings.json | 18 +++++++++++++++++ .../i18n/locale/sv/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/sv/settings.json | 18 +++++++++++++++++ .../i18n/locale/ta/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ta/settings.json | 18 +++++++++++++++++ .../i18n/locale/th/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/th/settings.json | 18 +++++++++++++++++ .../i18n/locale/tl/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/tl/settings.json | 18 +++++++++++++++++ .../i18n/locale/tr/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/tr/settings.json | 18 +++++++++++++++++ .../i18n/locale/uk/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/uk/settings.json | 18 +++++++++++++++++ .../i18n/locale/ur/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ur/settings.json | 18 +++++++++++++++++ .../i18n/locale/ur_IN/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/ur_IN/settings.json | 18 +++++++++++++++++ .../i18n/locale/vi/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/vi/settings.json | 18 +++++++++++++++++ .../i18n/locale/zh_CN/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/zh_CN/settings.json | 18 +++++++++++++++++ .../i18n/locale/zh_TW/integrations.json | 20 +++++++++++++++++++ .../dashboard/i18n/locale/zh_TW/settings.json | 18 +++++++++++++++++ 104 files changed, 1976 insertions(+) diff --git a/app/javascript/dashboard/i18n/locale/am/integrations.json b/app/javascript/dashboard/i18n/locale/am/integrations.json index 0126d6721..8177fdab5 100644 --- a/app/javascript/dashboard/i18n/locale/am/integrations.json +++ b/app/javascript/dashboard/i18n/locale/am/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/am/settings.json b/app/javascript/dashboard/i18n/locale/am/settings.json index 8971287ab..7108c1610 100644 --- a/app/javascript/dashboard/i18n/locale/am/settings.json +++ b/app/javascript/dashboard/i18n/locale/am/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ar/integrations.json b/app/javascript/dashboard/i18n/locale/ar/integrations.json index c77f23a84..a3ea8042a 100644 --- a/app/javascript/dashboard/i18n/locale/ar/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ar/integrations.json @@ -300,6 +300,12 @@ "TITLE": "إلغاء الربط", "SUCCESS": "تم إلغاء ربط المشكلة بنجاح", "ERROR": "حدث خطأ أثناء إلغاء ربط المشكلة، الرجاء المحاولة مرة أخرى" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "نعم، احذف", + "CANCEL": "إلغاء" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "حذف", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json index fbcd1bdf2..2713dce3a 100644 --- a/app/javascript/dashboard/i18n/locale/ar/settings.json +++ b/app/javascript/dashboard/i18n/locale/ar/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "افتراضي", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "توقيع الرسالة الشخصية", "NOTE": "إنشاء توقيع رسالة فريدة تظهر في نهاية كل رسالة ترسلها من أي صندوق وارد. يمكنك أيضًا تضمين صورة داخلية، مدعومة في الدردشة المباشرة، والبريد الإلكتروني، وصناديق API الواردة.", diff --git a/app/javascript/dashboard/i18n/locale/az/integrations.json b/app/javascript/dashboard/i18n/locale/az/integrations.json index 0126d6721..8177fdab5 100644 --- a/app/javascript/dashboard/i18n/locale/az/integrations.json +++ b/app/javascript/dashboard/i18n/locale/az/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/az/settings.json b/app/javascript/dashboard/i18n/locale/az/settings.json index 8971287ab..7108c1610 100644 --- a/app/javascript/dashboard/i18n/locale/az/settings.json +++ b/app/javascript/dashboard/i18n/locale/az/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/bg/integrations.json b/app/javascript/dashboard/i18n/locale/bg/integrations.json index ecd6b370b..efc274826 100644 --- a/app/javascript/dashboard/i18n/locale/bg/integrations.json +++ b/app/javascript/dashboard/i18n/locale/bg/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Отмени" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Изтрий", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/bg/settings.json b/app/javascript/dashboard/i18n/locale/bg/settings.json index 38502c9ae..f01a20248 100644 --- a/app/javascript/dashboard/i18n/locale/bg/settings.json +++ b/app/javascript/dashboard/i18n/locale/bg/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ca/integrations.json b/app/javascript/dashboard/i18n/locale/ca/integrations.json index 590271285..ec6caf9ce 100644 --- a/app/javascript/dashboard/i18n/locale/ca/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ca/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Desenllaça", "SUCCESS": "S'ha desenllaçat la issue correctament", "ERROR": "S'ha produït un error en desenllaçar la issue, torna-ho a provar" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Sí, esborra", + "CANCEL": "Cancel·la" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Esborrar", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json index 383ccbd3e..9dc944f43 100644 --- a/app/javascript/dashboard/i18n/locale/ca/settings.json +++ b/app/javascript/dashboard/i18n/locale/ca/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Per defecte", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Signatura personal del missatge", "NOTE": "Crea una signatura de missatge única per aparèixer al final de cada missatge que envieu des de qualsevol safata d'entrada. També pots incloure una imatge en línia, que és compatible amb el xat en directe, el correu electrònic i les bústies d'entrada de l'API.", diff --git a/app/javascript/dashboard/i18n/locale/cs/integrations.json b/app/javascript/dashboard/i18n/locale/cs/integrations.json index 753ffb3fc..c615ee572 100644 --- a/app/javascript/dashboard/i18n/locale/cs/integrations.json +++ b/app/javascript/dashboard/i18n/locale/cs/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Zrušit" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Vymazat", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json index 5d7a82e92..2cd2fe6f1 100644 --- a/app/javascript/dashboard/i18n/locale/cs/settings.json +++ b/app/javascript/dashboard/i18n/locale/cs/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json index d89dc01ad..178085d3f 100644 --- a/app/javascript/dashboard/i18n/locale/da/integrations.json +++ b/app/javascript/dashboard/i18n/locale/da/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Annuller" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Slet", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json index 27ca0e865..d371c0f66 100644 --- a/app/javascript/dashboard/i18n/locale/da/settings.json +++ b/app/javascript/dashboard/i18n/locale/da/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Standard", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personlig beskedsignatur", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json index a78d72b1e..a0d75f833 100644 --- a/app/javascript/dashboard/i18n/locale/de/integrations.json +++ b/app/javascript/dashboard/i18n/locale/de/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Verknüpfung aufheben", "SUCCESS": "Problem erfolgreich getrennt", "ERROR": "Beim Aufheben der Verknüpfung des Problems ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Ja, löschen", + "CANCEL": "Stornieren" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Löschen", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json index 531083087..c3c21576c 100644 --- a/app/javascript/dashboard/i18n/locale/de/settings.json +++ b/app/javascript/dashboard/i18n/locale/de/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Standard", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Persönliche Nachrichtensignatur", "NOTE": "Erstellen Sie eine einzigartige Nachrichtensignatur, die am Ende jeder Nachricht angezeigt wird, die Sie aus einem beliebigen Posteingang senden. Sie können auch ein Inline-Bild einfügen, das in Live-Chat-, E-Mail- und API-Postfächern unterstützt wird.", diff --git a/app/javascript/dashboard/i18n/locale/el/integrations.json b/app/javascript/dashboard/i18n/locale/el/integrations.json index de6daeb19..557e13add 100644 --- a/app/javascript/dashboard/i18n/locale/el/integrations.json +++ b/app/javascript/dashboard/i18n/locale/el/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Άκυρο" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Διαγραφή", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json index fc2d8e609..e0ce27983 100644 --- a/app/javascript/dashboard/i18n/locale/el/settings.json +++ b/app/javascript/dashboard/i18n/locale/el/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Προεπιλογή", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Προσωπική υπογραφή μηνύματος", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/es/integrations.json b/app/javascript/dashboard/i18n/locale/es/integrations.json index 4eb4ee4e7..b0ba160d6 100644 --- a/app/javascript/dashboard/i18n/locale/es/integrations.json +++ b/app/javascript/dashboard/i18n/locale/es/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Desenlazar", "SUCCESS": "Problema desvinculado con éxito", "ERROR": "Se ha producido un error al desvincular el problema, inténtelo de nuevo" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Sí, eliminar", + "CANCEL": "Cancelar" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Eliminar", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json index 25ccfc1fb..932632957 100644 --- a/app/javascript/dashboard/i18n/locale/es/settings.json +++ b/app/javascript/dashboard/i18n/locale/es/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Predeterminado", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Firma de mensaje personal", "NOTE": "Crea una firma de mensaje única para que aparezca al final de cada mensaje que envíes desde cualquier bandeja de entrada. También puede incluir una imagen en línea, que es soportada en las bandejas de entrada de live-chat, correo electrónico y API.", diff --git a/app/javascript/dashboard/i18n/locale/fa/integrations.json b/app/javascript/dashboard/i18n/locale/fa/integrations.json index 8bfff0283..6769451f3 100644 --- a/app/javascript/dashboard/i18n/locale/fa/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fa/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "بله، حذف شود", + "CANCEL": "انصراف" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "حذف", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json index d448e55d2..a56dd85f3 100644 --- a/app/javascript/dashboard/i18n/locale/fa/settings.json +++ b/app/javascript/dashboard/i18n/locale/fa/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "پیش‌فرض", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "امضای پیام شخصی", "NOTE": "یک امضای منحصر به فرد ایجاد کنید تا در انتهای تمام پیام هایی که از هر صندوق ورودی ارسال می کنید نمایش داده شود. همچنین می‌توانید یک تصویر درون خطی اضافه کنید که در چت، ایمیل و صندوق‌های ورودی API پشتیبانی می‌شود.", diff --git a/app/javascript/dashboard/i18n/locale/fi/integrations.json b/app/javascript/dashboard/i18n/locale/fi/integrations.json index 65e6f3e17..2959943ca 100644 --- a/app/javascript/dashboard/i18n/locale/fi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fi/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Peruuta" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Poista", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json index afe261db7..35807f524 100644 --- a/app/javascript/dashboard/i18n/locale/fi/settings.json +++ b/app/javascript/dashboard/i18n/locale/fi/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/fr/integrations.json b/app/javascript/dashboard/i18n/locale/fr/integrations.json index 5148394ba..2e44fd22d 100644 --- a/app/javascript/dashboard/i18n/locale/fr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/fr/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Oui, supprimer", + "CANCEL": "Annuler" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Supprimer", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json index adbb0ff6e..d5dcf06dd 100644 --- a/app/javascript/dashboard/i18n/locale/fr/settings.json +++ b/app/javascript/dashboard/i18n/locale/fr/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Par défaut", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Signature du message personnel", "NOTE": "Créez une signature de message unique qui apparaîtra à la fin de chaque message que vous envoyez à partir de n'importe quelle boîte de réception. Vous pouvez également inclure une image en ligne, qui est prise en charge dans les boîtes de réception en direct, les e-mails et les API.", diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json index 4981518a6..227f436ac 100644 --- a/app/javascript/dashboard/i18n/locale/he/integrations.json +++ b/app/javascript/dashboard/i18n/locale/he/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "ביטול" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "מחק", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/he/settings.json b/app/javascript/dashboard/i18n/locale/he/settings.json index 9fc083fb0..452edfc8f 100644 --- a/app/javascript/dashboard/i18n/locale/he/settings.json +++ b/app/javascript/dashboard/i18n/locale/he/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "ברירת מחדל", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "חתימת הודעה אישית", "NOTE": "צור חתימת הודעה ייחודית שתופיע בסוף כל הודעה שתשלח מכל תיבת דואר נכנס. ניתן לכלול גם תמונה מוטמעת, הנתמכת בצ'אט חי, דוא\"ל ותיבות דואר נכנסות של API.", diff --git a/app/javascript/dashboard/i18n/locale/hi/integrations.json b/app/javascript/dashboard/i18n/locale/hi/integrations.json index bea7597ea..63061f021 100644 --- a/app/javascript/dashboard/i18n/locale/hi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hi/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "रद्द करें" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json index 3a70ae1e9..a05b20d4c 100644 --- a/app/javascript/dashboard/i18n/locale/hi/settings.json +++ b/app/javascript/dashboard/i18n/locale/hi/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/hr/integrations.json b/app/javascript/dashboard/i18n/locale/hr/integrations.json index 785673bf4..8d990e32c 100644 --- a/app/javascript/dashboard/i18n/locale/hr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hr/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Da, izbriši", + "CANCEL": "Odustani" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Izbriši", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/hr/settings.json b/app/javascript/dashboard/i18n/locale/hr/settings.json index 24a62aaea..e46b08394 100644 --- a/app/javascript/dashboard/i18n/locale/hr/settings.json +++ b/app/javascript/dashboard/i18n/locale/hr/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/hu/integrations.json b/app/javascript/dashboard/i18n/locale/hu/integrations.json index b68b9f830..e4e1dad09 100644 --- a/app/javascript/dashboard/i18n/locale/hu/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hu/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Igen, törlés", + "CANCEL": "Mégse" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Törlés", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json index 1b22986a3..d89dfe378 100644 --- a/app/javascript/dashboard/i18n/locale/hu/settings.json +++ b/app/javascript/dashboard/i18n/locale/hu/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Alapértelmezett", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Személyes üzenet aláírás", "NOTE": "Hozzon létre egyedi üzenetaláírást, amely bármelyik postafiókból küldött üzenet végén megjelenik. Beilleszthet egy soron belüli képet is, amelyet az élő chat, az e-mail és az API bejövő üzenetek támogatnak.", diff --git a/app/javascript/dashboard/i18n/locale/hy/integrations.json b/app/javascript/dashboard/i18n/locale/hy/integrations.json index c1ef3c433..32cbfd150 100644 --- a/app/javascript/dashboard/i18n/locale/hy/integrations.json +++ b/app/javascript/dashboard/i18n/locale/hy/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/hy/settings.json b/app/javascript/dashboard/i18n/locale/hy/settings.json index 8971287ab..7108c1610 100644 --- a/app/javascript/dashboard/i18n/locale/hy/settings.json +++ b/app/javascript/dashboard/i18n/locale/hy/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/id/integrations.json b/app/javascript/dashboard/i18n/locale/id/integrations.json index 18893393e..02ee1dfce 100644 --- a/app/javascript/dashboard/i18n/locale/id/integrations.json +++ b/app/javascript/dashboard/i18n/locale/id/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Ya, hapus", + "CANCEL": "Batalkan" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Hapus", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json index 9783f164f..0a8812d58 100644 --- a/app/javascript/dashboard/i18n/locale/id/settings.json +++ b/app/javascript/dashboard/i18n/locale/id/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Tanda tangan pesan pribadi", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/is/integrations.json b/app/javascript/dashboard/i18n/locale/is/integrations.json index 3e31a6892..9fb4c8b0b 100644 --- a/app/javascript/dashboard/i18n/locale/is/integrations.json +++ b/app/javascript/dashboard/i18n/locale/is/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Hætta við" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Eyða", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/is/settings.json b/app/javascript/dashboard/i18n/locale/is/settings.json index a3417e8ce..3f585bc67 100644 --- a/app/javascript/dashboard/i18n/locale/is/settings.json +++ b/app/javascript/dashboard/i18n/locale/is/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Persónuleg undirskrift á skilaboðum", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/it/integrations.json b/app/javascript/dashboard/i18n/locale/it/integrations.json index f0064d9af..9fb347f9f 100644 --- a/app/javascript/dashboard/i18n/locale/it/integrations.json +++ b/app/javascript/dashboard/i18n/locale/it/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "annulla" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Elimina", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json index 2de317ade..57f6a1cc6 100644 --- a/app/javascript/dashboard/i18n/locale/it/settings.json +++ b/app/javascript/dashboard/i18n/locale/it/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Predefinito", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Firma del messaggio personale", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ja/integrations.json b/app/javascript/dashboard/i18n/locale/ja/integrations.json index b18be6d15..100aeb45d 100644 --- a/app/javascript/dashboard/i18n/locale/ja/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ja/integrations.json @@ -300,6 +300,12 @@ "TITLE": "リンク解除", "SUCCESS": "課題のリンクが正常に解除されました", "ERROR": "課題のリンク解除中にエラーが発生しました。もう一度お試しください" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "はい、削除します", + "CANCEL": "キャンセル" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "会話 #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "削除", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "FAQを削除してもよろしいですか?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json index 141f2d347..765f956b0 100644 --- a/app/javascript/dashboard/i18n/locale/ja/settings.json +++ b/app/javascript/dashboard/i18n/locale/ja/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "個人メッセージ署名", "NOTE": "送信するすべてのメッセージの末尾に表示されるユニークな署名を作成します。インライン画像を含めることができ、ライブチャット、メール、API受信トレイでサポートされています。", diff --git a/app/javascript/dashboard/i18n/locale/ka/integrations.json b/app/javascript/dashboard/i18n/locale/ka/integrations.json index c1ef3c433..32cbfd150 100644 --- a/app/javascript/dashboard/i18n/locale/ka/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ka/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ka/settings.json b/app/javascript/dashboard/i18n/locale/ka/settings.json index 3a70ae1e9..a05b20d4c 100644 --- a/app/javascript/dashboard/i18n/locale/ka/settings.json +++ b/app/javascript/dashboard/i18n/locale/ka/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json index 12cb73fbf..a9cb63e00 100644 --- a/app/javascript/dashboard/i18n/locale/ko/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "취소" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "삭제", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json index 1d8a66d12..2035762d8 100644 --- a/app/javascript/dashboard/i18n/locale/ko/settings.json +++ b/app/javascript/dashboard/i18n/locale/ko/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/lt/integrations.json b/app/javascript/dashboard/i18n/locale/lt/integrations.json index 8e0c8a2f1..3561deb39 100644 --- a/app/javascript/dashboard/i18n/locale/lt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lt/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Taip, Trinti", + "CANCEL": "Atšaukti" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Ištrinti", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/lt/settings.json b/app/javascript/dashboard/i18n/locale/lt/settings.json index b643af4b3..eb3bd2333 100644 --- a/app/javascript/dashboard/i18n/locale/lt/settings.json +++ b/app/javascript/dashboard/i18n/locale/lt/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Pagal nutylėjimą", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Asmeninis pranešimo parašas", "NOTE": "Sukurkite unikalų pranešimo parašą, kuris bus rodomas kiekvieno pranešimo pabaigoje, siunčiamo iš bet kurio gautųjų laiškų aplanko. Taip pat galite įdėti paveikslėlį, kuris rodomas tiesioginio pokalbio, el. pašto ir API.", diff --git a/app/javascript/dashboard/i18n/locale/lv/integrations.json b/app/javascript/dashboard/i18n/locale/lv/integrations.json index 8c82815df..66007b66f 100644 --- a/app/javascript/dashboard/i18n/locale/lv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/lv/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Atsaistīt", "SUCCESS": "Problēma ir veiksmīgi atsaistīta", "ERROR": "Atsaistot jautājumu radās kļūda. Lūdzu, mēģiniet vēlreiz" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Jā, dzēst", + "CANCEL": "Atcelt" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Saruna #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Dzēst", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Vai tiešām vēlaties izdzēst šos bieži uzdotos jautājumus?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/lv/settings.json b/app/javascript/dashboard/i18n/locale/lv/settings.json index 968ad2f5a..01ba915d6 100644 --- a/app/javascript/dashboard/i18n/locale/lv/settings.json +++ b/app/javascript/dashboard/i18n/locale/lv/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Noklusējums", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personīgais ziņojuma paraksts", "NOTE": "Izveidot unikālu ziņojuma parakstu, kas parādās katra ziņojuma beigās, kuru sūtāt no jebkuras iesūtnes. Varat arī iekļaut attēlu, kas tiek atbalstīts tiešraidē, e-pastā un API iesūtnēs.", diff --git a/app/javascript/dashboard/i18n/locale/ml/integrations.json b/app/javascript/dashboard/i18n/locale/ml/integrations.json index ae48eb8ce..4cf79620a 100644 --- a/app/javascript/dashboard/i18n/locale/ml/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ml/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "റദ്ദാക്കുക" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "ഇല്ലാതാക്കുക", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json index c5ee33a17..dd0f40fc3 100644 --- a/app/javascript/dashboard/i18n/locale/ml/settings.json +++ b/app/javascript/dashboard/i18n/locale/ml/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ms/integrations.json b/app/javascript/dashboard/i18n/locale/ms/integrations.json index 74d0fab93..eb35e257b 100644 --- a/app/javascript/dashboard/i18n/locale/ms/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ms/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Batalkan" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Padamkan", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ms/settings.json b/app/javascript/dashboard/i18n/locale/ms/settings.json index 4873bb44e..0f39116d6 100644 --- a/app/javascript/dashboard/i18n/locale/ms/settings.json +++ b/app/javascript/dashboard/i18n/locale/ms/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ne/integrations.json b/app/javascript/dashboard/i18n/locale/ne/integrations.json index 65ffda552..b8f145688 100644 --- a/app/javascript/dashboard/i18n/locale/ne/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ne/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ne/settings.json b/app/javascript/dashboard/i18n/locale/ne/settings.json index 4905588f7..50ba5d9f1 100644 --- a/app/javascript/dashboard/i18n/locale/ne/settings.json +++ b/app/javascript/dashboard/i18n/locale/ne/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/nl/integrations.json b/app/javascript/dashboard/i18n/locale/nl/integrations.json index 7c03d8205..835a5602c 100644 --- a/app/javascript/dashboard/i18n/locale/nl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/nl/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Ja, verwijderen", + "CANCEL": "Annuleren" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Verwijderen", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json index cbcca077e..847ed7aa4 100644 --- a/app/javascript/dashboard/i18n/locale/nl/settings.json +++ b/app/javascript/dashboard/i18n/locale/nl/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Handtekening persoonlijke berichten", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/no/integrations.json b/app/javascript/dashboard/i18n/locale/no/integrations.json index 2913e7f61..e3ae4be24 100644 --- a/app/javascript/dashboard/i18n/locale/no/integrations.json +++ b/app/javascript/dashboard/i18n/locale/no/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Ja, slett", + "CANCEL": "Avbryt" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Slett", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/no/settings.json b/app/javascript/dashboard/i18n/locale/no/settings.json index 6c58cadc2..0e0a6614b 100644 --- a/app/javascript/dashboard/i18n/locale/no/settings.json +++ b/app/javascript/dashboard/i18n/locale/no/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/pl/integrations.json b/app/javascript/dashboard/i18n/locale/pl/integrations.json index e9a7605ed..2f1d33425 100644 --- a/app/javascript/dashboard/i18n/locale/pl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pl/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Tak, usuń", + "CANCEL": "Anuluj" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Usuń", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json index 6271ce138..574c8b8c5 100644 --- a/app/javascript/dashboard/i18n/locale/pl/settings.json +++ b/app/javascript/dashboard/i18n/locale/pl/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Domyślny", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Osobisty podpis wiadomości", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/pt/integrations.json b/app/javascript/dashboard/i18n/locale/pt/integrations.json index 190cda558..6ddbdf3cd 100644 --- a/app/javascript/dashboard/i18n/locale/pt/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Desvincular", "SUCCESS": "Problema desvinculado com sucesso", "ERROR": "Houve um erro ao desvincular o problema, por favor, tente novamente" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Sim, excluir", + "CANCEL": "Cancelar" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Excluir", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json index ff9b1461a..4e9019b36 100644 --- a/app/javascript/dashboard/i18n/locale/pt/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Padrão", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Assinatura de mensagem pessoal", "NOTE": "Crie uma assinatura de mensagem única para aparecer no final de todas as mensagens que enviar de qualquer caixa de entrada. Pode incluir uma imagem embutida, que será suportada nos canais de live-chat, e-mail e caixas de entrada API.", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json index e63e1311b..69bc3e94e 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Desvincular", "SUCCESS": "Issue desvinculada com sucesso", "ERROR": "Houve um erro ao desvincular o atributo, por favor, tente novamente" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Sim, excluir", + "CANCEL": "Cancelar" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversação #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Excluir", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Tem certeza que deseja excluir o FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json index 8ec210c62..e43b52389 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Padrão", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Assinatura de mensagens pessoais", "NOTE": "Crie uma assinatura de mensagem única para aparecer no final de cada mensagem que você enviar de qualquer caixa de entrada. Você também pode incluir uma imagem anexada, suportada em live-chat, e-mail e caixas de entrada de API.", diff --git a/app/javascript/dashboard/i18n/locale/ro/integrations.json b/app/javascript/dashboard/i18n/locale/ro/integrations.json index fea3a618e..9410961e9 100644 --- a/app/javascript/dashboard/i18n/locale/ro/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ro/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Renunță" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Şterge", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json index 0d5fa194b..b2a74007b 100644 --- a/app/javascript/dashboard/i18n/locale/ro/settings.json +++ b/app/javascript/dashboard/i18n/locale/ro/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Implicit", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Semnătura mesajului personal", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ru/integrations.json b/app/javascript/dashboard/i18n/locale/ru/integrations.json index 6ac77d02f..ae4cddd10 100644 --- a/app/javascript/dashboard/i18n/locale/ru/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ru/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Отвязать", "SUCCESS": "Задача успешно отвязана", "ERROR": "Произошла ошибка при отвязке задачи, пожалуйста, попробуйте ещё раз" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Да, удалить", + "CANCEL": "Отменить" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Диалог #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Удалить", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Вы действительно хотите удалить FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json index 652e22265..2c9a65207 100644 --- a/app/javascript/dashboard/i18n/locale/ru/settings.json +++ b/app/javascript/dashboard/i18n/locale/ru/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "По умолчанию", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Личная подпись сообщения", "NOTE": "Создайте уникальную подпись, которая будет отображаться в конце каждого сообщения, отправляемого из любого почтового ящика. Вы также можете добавить встроенное изображение, которое поддерживается в чате, электронной почте и API-почтовых ящиках.", diff --git a/app/javascript/dashboard/i18n/locale/sh/integrations.json b/app/javascript/dashboard/i18n/locale/sh/integrations.json index c1ef3c433..32cbfd150 100644 --- a/app/javascript/dashboard/i18n/locale/sh/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sh/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sh/settings.json b/app/javascript/dashboard/i18n/locale/sh/settings.json index 8971287ab..7108c1610 100644 --- a/app/javascript/dashboard/i18n/locale/sh/settings.json +++ b/app/javascript/dashboard/i18n/locale/sh/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/sk/integrations.json b/app/javascript/dashboard/i18n/locale/sk/integrations.json index a2577b083..624606c6b 100644 --- a/app/javascript/dashboard/i18n/locale/sk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sk/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Zrušiť" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Vymazať", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json index 745d31229..ab1aab464 100644 --- a/app/javascript/dashboard/i18n/locale/sk/settings.json +++ b/app/javascript/dashboard/i18n/locale/sk/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/sl/integrations.json b/app/javascript/dashboard/i18n/locale/sl/integrations.json index 8d22e306b..5a680aab1 100644 --- a/app/javascript/dashboard/i18n/locale/sl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sl/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Da, izbriši", + "CANCEL": "Prekliči" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Izbriši", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sl/settings.json b/app/javascript/dashboard/i18n/locale/sl/settings.json index 2a094cebc..b85f57b97 100644 --- a/app/javascript/dashboard/i18n/locale/sl/settings.json +++ b/app/javascript/dashboard/i18n/locale/sl/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/sq/integrations.json b/app/javascript/dashboard/i18n/locale/sq/integrations.json index b76c91e37..94a456f5b 100644 --- a/app/javascript/dashboard/i18n/locale/sq/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sq/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sq/settings.json b/app/javascript/dashboard/i18n/locale/sq/settings.json index 7932c6fea..1c15d5294 100644 --- a/app/javascript/dashboard/i18n/locale/sq/settings.json +++ b/app/javascript/dashboard/i18n/locale/sq/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/sr/integrations.json b/app/javascript/dashboard/i18n/locale/sr/integrations.json index b20c7c12c..022f5de87 100644 --- a/app/javascript/dashboard/i18n/locale/sr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sr/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Otkaži" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Izbriši", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sr/settings.json b/app/javascript/dashboard/i18n/locale/sr/settings.json index 5be53132f..3383632df 100644 --- a/app/javascript/dashboard/i18n/locale/sr/settings.json +++ b/app/javascript/dashboard/i18n/locale/sr/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Predefinisano", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Potpis privatne poruke", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json index 567ebfde1..7ec55ff84 100644 --- a/app/javascript/dashboard/i18n/locale/sv/integrations.json +++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Ja, ta bort", + "CANCEL": "Avbryt" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Radera", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json index 66b3f958d..eaa29c82e 100644 --- a/app/javascript/dashboard/i18n/locale/sv/settings.json +++ b/app/javascript/dashboard/i18n/locale/sv/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ta/integrations.json b/app/javascript/dashboard/i18n/locale/ta/integrations.json index 608598e26..0d7045e8c 100644 --- a/app/javascript/dashboard/i18n/locale/ta/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ta/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "ரத்துசெய்" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json index 4a769430a..2c34f8d25 100644 --- a/app/javascript/dashboard/i18n/locale/ta/settings.json +++ b/app/javascript/dashboard/i18n/locale/ta/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/th/integrations.json b/app/javascript/dashboard/i18n/locale/th/integrations.json index 0a0439905..9df1c45ce 100644 --- a/app/javascript/dashboard/i18n/locale/th/integrations.json +++ b/app/javascript/dashboard/i18n/locale/th/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "ยกเลิก" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "ลบ", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json index 65e9a43ed..60e733f31 100644 --- a/app/javascript/dashboard/i18n/locale/th/settings.json +++ b/app/javascript/dashboard/i18n/locale/th/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "ลายเซ็นส่วนตัว", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/tl/integrations.json b/app/javascript/dashboard/i18n/locale/tl/integrations.json index 0126d6721..8177fdab5 100644 --- a/app/javascript/dashboard/i18n/locale/tl/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tl/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/tl/settings.json b/app/javascript/dashboard/i18n/locale/tl/settings.json index 8971287ab..7108c1610 100644 --- a/app/javascript/dashboard/i18n/locale/tl/settings.json +++ b/app/javascript/dashboard/i18n/locale/tl/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/tr/integrations.json b/app/javascript/dashboard/i18n/locale/tr/integrations.json index 330b977bf..b1e94ec9b 100644 --- a/app/javascript/dashboard/i18n/locale/tr/integrations.json +++ b/app/javascript/dashboard/i18n/locale/tr/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Evet, sil", + "CANCEL": "İptal Et" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Sil", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json index 5fe13dbd2..d3136cc8c 100644 --- a/app/javascript/dashboard/i18n/locale/tr/settings.json +++ b/app/javascript/dashboard/i18n/locale/tr/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Varsayılan", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "İmzanız", "NOTE": "Her gönderdiğiniz mesajın sonunda görünen benzersiz bir mesaj imzası oluşturun. Ayrıca, canlı sohbet, e-posta ve API gelen kutularında desteklenen iç içe bir resim ekleyebilirsiniz.", diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json index e06806570..5c33e2666 100644 --- a/app/javascript/dashboard/i18n/locale/uk/integrations.json +++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Так, видалити", + "CANCEL": "Скасувати" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Видалити", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json index f8bac651b..452571703 100644 --- a/app/javascript/dashboard/i18n/locale/uk/settings.json +++ b/app/javascript/dashboard/i18n/locale/uk/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "За замовчуванням", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Підпис особистого повідомлення", "NOTE": "Створити унікальний підпис повідомлення для кожного повідомлення, яке ви надсилаєте з будь-якої поштової скриньки. Ви також можете включити вбудоване зображення, яке підтримується у живому чаті, електронній пошті та API-поштових скриньках.", diff --git a/app/javascript/dashboard/i18n/locale/ur/integrations.json b/app/javascript/dashboard/i18n/locale/ur/integrations.json index 3de9c07e0..aa8f9ce78 100644 --- a/app/javascript/dashboard/i18n/locale/ur/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "منسوخ کریں۔" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "حذف کریں۔", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ur/settings.json b/app/javascript/dashboard/i18n/locale/ur/settings.json index 0d53beaa4..df973a0ba 100644 --- a/app/javascript/dashboard/i18n/locale/ur/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json index c1ef3c433..32cbfd150 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Yes, delete", + "CANCEL": "Cancel" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Delete", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json index 3a70ae1e9..a05b20d4c 100644 --- a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json +++ b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/vi/integrations.json b/app/javascript/dashboard/i18n/locale/vi/integrations.json index e7b5cb40f..2bd680e58 100644 --- a/app/javascript/dashboard/i18n/locale/vi/integrations.json +++ b/app/javascript/dashboard/i18n/locale/vi/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "Có, xoá", + "CANCEL": "Huỷ" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "Xoá", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json index a67bc1847..9650bc330 100644 --- a/app/javascript/dashboard/i18n/locale/vi/settings.json +++ b/app/javascript/dashboard/i18n/locale/vi/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Mặc định", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Chữ ký tin nhắn cá nhân", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json index 50c944896..eb5eb1b43 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "是的,删除", + "CANCEL": "取消" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "删除", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json index 87502c7f8..969e874df 100644 --- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "默认", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "个人消息签名", "NOTE": "创建一个唯一的消息签名来显示在您从任何收件箱发送的消息的末尾。 您也可以包含一个内联图片,它支持在直播聊天、电子邮件和API收件箱中。", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json index 2028ba631..5d1e632ba 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json @@ -300,6 +300,12 @@ "TITLE": "Unlink", "SUCCESS": "Issue unlinked successfully", "ERROR": "There was an error unlinking the issue, please try again" + }, + "DELETE": { + "TITLE": "Are you sure you want to delete the integration?", + "MESSAGE": "Are you sure you want to delete the integration?", + "CONFIRM": "是的,刪除", + "CANCEL": "取消" } } }, @@ -433,6 +439,20 @@ "DOCUMENTABLE": { "CONVERSATION": "Conversation #{id}" }, + "SELECTED": "{count} selected", + "BULK_APPROVE_BUTTON": "Approve", + "BULK_DELETE_BUTTON": "刪除", + "BULK_APPROVE": { + "SUCCESS_MESSAGE": "FAQs approved successfully", + "ERROR_MESSAGE": "There was an error approving the FAQs, please try again." + }, + "BULK_DELETE": { + "TITLE": "Delete FAQs?", + "DESCRIPTION": "Are you sure you want to delete the selected FAQs? This action cannot be undone.", + "CONFIRM": "Yes, delete all", + "SUCCESS_MESSAGE": "FAQs deleted successfully", + "ERROR_MESSAGE": "There was an error deleting the FAQs, please try again." + }, "DELETE": { "TITLE": "Are you sure to delete the FAQ?", "DESCRIPTION": "", diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json index a47c2b15d..e8896322c 100644 --- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json +++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json @@ -35,6 +35,24 @@ } } }, + "INTERFACE_SECTION": { + "TITLE": "Interface", + "NOTE": "Customize the look and feel of your Chatwoot dashboard.", + "FONT_SIZE": { + "TITLE": "Font size", + "NOTE": "Adjust the text size across the dashboard based on your preference.", + "UPDATE_SUCCESS": "Your font settings have been updated successfully", + "UPDATE_ERROR": "There is an error while updating the font settings, please try again", + "OPTIONS": { + "SMALLER": "Smaller", + "SMALL": "Small", + "DEFAULT": "Default", + "LARGE": "Large", + "LARGER": "Larger", + "EXTRA_LARGE": "Extra Large" + } + } + }, "MESSAGE_SIGNATURE_SECTION": { "TITLE": "Personal message signature", "NOTE": "Create a unique message signature to appear at the end of every message you send from any inbox. You can also include an inline image, which is supported in live-chat, email, and API inboxes.", From 100d39d58a71464f0c9c5c35ad8e684a99dbd942 Mon Sep 17 00:00:00 2001 From: Sojan Date: Thu, 27 Feb 2025 21:03:31 -0800 Subject: [PATCH 04/26] Bump version to 4.0.3 --- config/app.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/app.yml b/config/app.yml index 668ffcbaf..f655afca7 100644 --- a/config/app.yml +++ b/config/app.yml @@ -1,5 +1,5 @@ shared: &shared - version: '4.0.2' + version: '4.0.3' development: <<: *shared diff --git a/package.json b/package.json index 624b77686..f1ab1c234 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@chatwoot/chatwoot", - "version": "4.0.2", + "version": "4.0.3", "license": "MIT", "scripts": { "eslint": "eslint app/**/*.{js,vue}", From ef24eef0b90dabc9eab2c21d6e86aedabe461d72 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Fri, 28 Feb 2025 14:20:27 +0530 Subject: [PATCH 05/26] feat: move Linear config to installation_config (#10999) This PR has the following changes - Add `LINEAR_CLIENT_ID` and `LINEAR_CLIENT_SECRET` to installation config - Add Linear config to super_admin/features.yml - Replace usage of ENV.fetch with GlobalConfigService.load for fetch Client Id and Secret. --- .env.example | 4 ---- app/controllers/linear/callbacks_controller.rb | 7 +++++-- .../super_admin/app_configs_controller.rb | 2 ++ app/helpers/linear/integration_helper.rb | 2 +- app/models/integrations/app.rb | 3 ++- app/views/super_admin/application/_icons.html.erb | 4 ++++ config/installation_config.yml | 13 +++++++++++++ enterprise/app/helpers/super_admin/features.yml | 6 ++++++ 8 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.env.example b/.env.example index 6e2b7fe56..b7ba0920d 100644 --- a/.env.example +++ b/.env.example @@ -155,10 +155,6 @@ TWITTER_ENVIRONMENT= SLACK_CLIENT_ID= SLACK_CLIENT_SECRET= -#Linear Integration -LINEAR_CLIENT_ID= -LINEAR_CLIENT_SECRET= - # Google OAuth GOOGLE_OAUTH_CLIENT_ID= GOOGLE_OAUTH_CLIENT_SECRET= diff --git a/app/controllers/linear/callbacks_controller.rb b/app/controllers/linear/callbacks_controller.rb index c0688cefc..2eea49333 100644 --- a/app/controllers/linear/callbacks_controller.rb +++ b/app/controllers/linear/callbacks_controller.rb @@ -16,9 +16,12 @@ class Linear::CallbacksController < ApplicationController private def oauth_client + app_id = GlobalConfigService.load('LINEAR_CLIENT_ID', nil) + app_secret = GlobalConfigService.load('LINEAR_CLIENT_SECRET', nil) + OAuth2::Client.new( - ENV.fetch('LINEAR_CLIENT_ID', nil), - ENV.fetch('LINEAR_CLIENT_SECRET', nil), + app_id, + app_secret, { site: 'https://api.linear.app', token_url: '/oauth/token', diff --git a/app/controllers/super_admin/app_configs_controller.rb b/app/controllers/super_admin/app_configs_controller.rb index b8f3bd9a9..43157fa0e 100644 --- a/app/controllers/super_admin/app_configs_controller.rb +++ b/app/controllers/super_admin/app_configs_controller.rb @@ -39,6 +39,8 @@ class SuperAdmin::AppConfigsController < SuperAdmin::ApplicationController %w[AZURE_APP_ID AZURE_APP_SECRET] when 'email' ['MAILER_INBOUND_EMAIL_DOMAIN'] + when 'linear' + %w[LINEAR_CLIENT_ID LINEAR_CLIENT_SECRET] else %w[ENABLE_ACCOUNT_SIGNUP FIREBASE_PROJECT_ID FIREBASE_CREDENTIALS] end diff --git a/app/helpers/linear/integration_helper.rb b/app/helpers/linear/integration_helper.rb index 19f16832d..67df836ce 100644 --- a/app/helpers/linear/integration_helper.rb +++ b/app/helpers/linear/integration_helper.rb @@ -32,7 +32,7 @@ module Linear::IntegrationHelper private def client_secret - @client_secret ||= ENV.fetch('LINEAR_CLIENT_SECRET', nil) + @client_secret ||= GlobalConfigService.load('LINEAR_CLIENT_SECRET', nil) end def decode_token(token, secret) diff --git a/app/models/integrations/app.rb b/app/models/integrations/app.rb index b57a109db..84844b38a 100644 --- a/app/models/integrations/app.rb +++ b/app/models/integrations/app.rb @@ -55,9 +55,10 @@ class Integrations::App end def build_linear_action + app_id = GlobalConfigService.load('LINEAR_CLIENT_ID', nil) [ "#{params[:action]}?response_type=code", - "client_id=#{ENV.fetch('LINEAR_CLIENT_ID', nil)}", + "client_id=#{app_id}", "redirect_uri=#{self.class.linear_integration_url}", "state=#{encode_state}", 'scope=read,write', diff --git a/app/views/super_admin/application/_icons.html.erb b/app/views/super_admin/application/_icons.html.erb index b39ffe4f0..4472701ee 100644 --- a/app/views/super_admin/application/_icons.html.erb +++ b/app/views/super_admin/application/_icons.html.erb @@ -147,4 +147,8 @@ + + + + diff --git a/config/installation_config.yml b/config/installation_config.yml index 1a804b707..57a5a5faf 100644 --- a/config/installation_config.yml +++ b/config/installation_config.yml @@ -243,3 +243,16 @@ locked: false description: 'Contents on your firebase credentials json file' ## ------ End of Configs added for FCM v1 notifications ------ ## + +## ------ Configs added for Linear ------ ## +- name: LINEAR_CLIENT_ID + display_title: 'Linear Client ID' + value: + locked: false + description: 'Linear client ID' +- name: LINEAR_CLIENT_SECRET + display_title: 'Linear Client Secret' + value: + locked: false + description: 'Linear client secret' +## ------ End of Configs added for Linear ------ ## diff --git a/enterprise/app/helpers/super_admin/features.yml b/enterprise/app/helpers/super_admin/features.yml index 506b95832..5aa5fc160 100644 --- a/enterprise/app/helpers/super_admin/features.yml +++ b/enterprise/app/helpers/super_admin/features.yml @@ -79,3 +79,9 @@ microsoft: enabled: true icon: 'icon-microsoft' config_key: 'microsoft' +linear: + name: 'Linear' + description: 'Configuration for setting up Linear' + enabled: true + icon: 'icon-linear' + config_key: 'linear' From 24f49b9b5aae21553271d7e46d6dcc8a96b63980 Mon Sep 17 00:00:00 2001 From: Pranav Date: Fri, 28 Feb 2025 13:33:48 -0800 Subject: [PATCH 06/26] fix: Process non-image inline attachments as regular attachments (#10998) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In Chatwoot, we rely on the Content-ID for inline attachments to replace the link with the uploaded attachment URL. Our expectation was that only images would be inline, while other attachments would not. However, email clients like Apple Mail (sigh) allow users to send inline attachments that are not images, and these attachments often lack a Content-ID. This creates significant issues in rendering. I investigated how other email clients handle this scenario. When viewing the same email (sent from Apple Mail) in Gmail, only one image appears—and it’s treated as an attachment, not inline. This happens because both attachments are the same image, and Apple Mail only sends one copy. See the screenshot below. | Apple Mail | Gmail | | -- | -- | | Screenshot 2025-02-27 at 8 20 17 PM | Screenshot 2025-02-27 at 8 20 51 PM | A good fix for this would be to check if the Content-ID is missing and then upload the file as a regular attachment. However, the Mail gem (for some reason) automatically adds a default Content-ID to inline parts. I need to dig into the source code to understand why this happens. For now, I’ve implemented a check to treat non-image attachments as regular attachments. Inline image attachments are already handled by appending an image tag at the end if the content-id is not found in the body. A sample conversation to test this behavior is [here](https://app.chatwoot.com/app/accounts/1/conversations/46732). --- app/mailboxes/mailbox_helper.rb | 7 +- spec/fixtures/files/email_with_inline_pdf.eml | 261 ++++++++++++++++++ spec/mailboxes/imap/imap_mailbox_spec.rb | 16 ++ 3 files changed, 282 insertions(+), 2 deletions(-) create mode 100644 spec/fixtures/files/email_with_inline_pdf.eml diff --git a/app/mailboxes/mailbox_helper.rb b/app/mailboxes/mailbox_helper.rb index 35f075983..2b5fa1a26 100644 --- a/app/mailboxes/mailbox_helper.rb +++ b/app/mailboxes/mailbox_helper.rb @@ -35,8 +35,11 @@ module MailboxHelper end def group_attachments(attachments) - # If the email lacks a text body, treat inline attachments as standard attachments for processing. - inline_attachments = attachments.select { |attachment| attachment[:original].inline? && mail_content.present? } + # If the email lacks a text body or if inline attachments aren't images, + # treat them as standard attachments for processing. + inline_attachments = attachments.select do |attachment| + mail_content.present? && attachment[:original].inline? && attachment[:original].content_type.to_s.start_with?('image/') + end regular_attachments = attachments - inline_attachments { inline: inline_attachments, regular: regular_attachments } diff --git a/spec/fixtures/files/email_with_inline_pdf.eml b/spec/fixtures/files/email_with_inline_pdf.eml new file mode 100644 index 000000000..cea726f5b --- /dev/null +++ b/spec/fixtures/files/email_with_inline_pdf.eml @@ -0,0 +1,261 @@ +From: user@icloud.com +Content-Type: multipart/mixed; + boundary="Apple-Mail=_3D8DCB41-DA29-4339-A8F6-FC6D71948931" +Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.200.121\)) +Subject: Sample PDF +Message-Id: <827-314S13-SSS2310@example.com> +Date: Thu, 27 Feb 2025 18:17:31 -0800 +To: User +X-Mailer: Apple Mail (2.3826.200.121) +X-Proofpoint-ORIG-GUID: v-XMwNZMeEI5CGyn18czwpSt3GHLgcEC + +--Apple-Mail=_3D8DCB41-DA29-4339-A8F6-FC6D71948931 +Content-Transfer-Encoding: 7bit +Content-Type: text/plain; + charset=us-ascii + +Here is an example mail with inline PDF + + +--Apple-Mail=_3D8DCB41-DA29-4339-A8F6-FC6D71948931 +Content-Disposition: inline; + filename=dummy.pdf +Content-Type: application/pdf; + x-unix-mode=0644; + name="dummy.pdf" +Content-Transfer-Encoding: base64 + +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 +USRuPC6uZTI6hUkHjGBBoU5ADiZ+I8AZj6cuEx8zjpm4eFQITuTkV/uewQl+EA3PcXwkUimfl/nI +xJJC8fwSnKisjfV4PhV9JKegWvwUQR1YRV8Y650p5QAOFx4uP1w3VjhWPlZnFD+08BCQtofEURqp +fEihoCMw4wiAwW6K/XQB9N0fycuXiscE4HB0OwLyN17ow6526L8jA6fPOjagSw1I8cGZgMTwAYoR +xyYdoRmmkM4iJ0OSRSr8P1jbNhMKZW5kc3RyZWFtCmVuZG9iagoKNiAwIG9iagoxMDgyNQplbmRv +YmoKCjcgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9CQUFBQUErQXJpYWwt +Qm9sZE1UCi9GbGFncyA0Ci9Gb250QkJveFstNjI3IC0zNzYgMjAwMCAxMDExXS9JdGFsaWNBbmds +ZSAwCi9Bc2NlbnQgOTA1Ci9EZXNjZW50IDIxMQovQ2FwSGVpZ2h0IDEwMTAKL1N0ZW1WIDgwCi9G +b250RmlsZTIgNSAwIFI+PgplbmRvYmoKCjggMCBvYmoKPDwvTGVuZ3RoIDI3Mi9GaWx0ZXIvRmxh +dGVEZWNvZGU+PgpzdHJlYW0KeJxdkc9uhCAQxu88BcftYQNadbuJMdm62cRD/6S2D6AwWpKKBPHg +2xcG2yY9QH7DzDf5ZmB1c220cuzVzqIFRwelpYVlXq0A2sOoNElSKpVwe4S3mDpDmNe22+JgavQw +lyVhbz63OLvRw0XOPdwR9mIlWKVHevioWx+3qzFfMIF2lJOqohIG3+epM8/dBAxVx0b6tHLb0Uv+ +Ct43AzTFOIlWxCxhMZ0A2+kRSMl5RcvbrSKg5b9cskv6QXx21pcmvpTzLKs8p8inPPA9cnENnMX3 +c+AcOeWBC+Qc+RT7FIEfohb5HBm1l8h14MfIOZrc3QS7YZ8/a6BitdavAJeOs4eplYbffzGzCSo8 +3zuVhO0KZW5kc3RyZWFtCmVuZG9iagoKOSAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVl +VHlwZS9CYXNlRm9udC9CQUFBQUErQXJpYWwtQm9sZE1UCi9GaXJzdENoYXIgMAovTGFzdENoYXIg +MTEKL1dpZHRoc1s3NTAgNzIyIDYxMCA4ODkgNTU2IDI3NyA2NjYgNjEwIDMzMyAyNzcgMjc3IDU1 +NiBdCi9Gb250RGVzY3JpcHRvciA3IDAgUgovVG9Vbmljb2RlIDggMCBSCj4+CmVuZG9iagoKMTAg +MCBvYmoKPDwKL0YxIDkgMCBSCj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvRm9udCAxMCAwIFIKL1By +b2NTZXRbL1BERi9UZXh0XT4+CmVuZG9iagoKMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQg +MCBSL1Jlc291cmNlcyAxMSAwIFIvTWVkaWFCb3hbMCAwIDU5NSA4NDJdL0dyb3VwPDwvUy9UcmFu +c3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4KZW5kb2JqCgox +MiAwIG9iago8PC9Db3VudCAxL0ZpcnN0IDEzIDAgUi9MYXN0IDEzIDAgUgo+PgplbmRvYmoKCjEz +IDAgb2JqCjw8L1RpdGxlPEZFRkYwMDQ0MDA3NTAwNkQwMDZEMDA3OTAwMjAwMDUwMDA0NDAwNDYw +MDIwMDA2NjAwNjkwMDZDMDA2NT4KL0Rlc3RbMSAwIFIvWFlaIDU2LjcgNzczLjMgMF0vUGFyZW50 +IDEyIDAgUj4+CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMTEgMCBS +Ci9NZWRpYUJveFsgMCAwIDU5NSA4NDIgXQovS2lkc1sgMSAwIFIgXQovQ291bnQgMT4+CmVuZG9i +agoKMTQgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSCi9PdXRsaW5lcyAxMiAwIFIK +Pj4KZW5kb2JqCgoxNSAwIG9iago8PC9BdXRob3I8RkVGRjAwNDUwMDc2MDA2MTAwNkUwMDY3MDA2 +NTAwNkMwMDZGMDA3MzAwMjAwMDU2MDA2QzAwNjEwMDYzMDA2ODAwNkYwMDY3MDA2OTAwNjEwMDZF +MDA2RTAwNjkwMDczPgovQ3JlYXRvcjxGRUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJv +ZHVjZXI8RkVGRjAwNEYwMDcwMDA2NTAwNkUwMDRGMDA2NjAwNjYwMDY5MDA2MzAwNjUwMDJFMDA2 +RjAwNzIwMDY3MDAyMDAwMzIwMDJFMDAzMT4KL0NyZWF0aW9uRGF0ZShEOjIwMDcwMjIzMTc1NjM3 +KzAyJzAwJyk+PgplbmRvYmoKCnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMTE5 +OTcgMDAwMDAgbiAKMDAwMDAwMDAxOSAwMDAwMCBuIAowMDAwMDAwMjI0IDAwMDAwIG4gCjAwMDAw +MTIzMzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAowMDAwMDExMTU0IDAwMDAwIG4gCjAw +MDAwMTExNzYgMDAwMDAgbiAKMDAwMDAxMTM2OCAwMDAwMCBuIAowMDAwMDExNzA5IDAwMDAwIG4g +CjAwMDAwMTE5MTAgMDAwMDAgbiAKMDAwMDAxMTk0MyAwMDAwMCBuIAowMDAwMDEyMTQwIDAwMDAw +IG4gCjAwMDAwMTIxOTYgMDAwMDAgbiAKMDAwMDAxMjQyOSAwMDAwMCBuIAowMDAwMDEyNDk0IDAw +MDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSAxNi9Sb290IDE0IDAgUgovSW5mbyAxNSAwIFIKL0lEIFsg +PEY3RDc3QjNEMjJCOUY5MjgyOUQ0OUZGNUQ3OEI4RjI4Pgo8RjdENzdCM0QyMkI5RjkyODI5RDQ5 +RkY1RDc4QjhGMjg+IF0KPj4Kc3RhcnR4cmVmCjEyNzg3CiUlRU9GCg== +--Apple-Mail=_3D8DCB41-DA29-4339-A8F6-FC6D71948931-- diff --git a/spec/mailboxes/imap/imap_mailbox_spec.rb b/spec/mailboxes/imap/imap_mailbox_spec.rb index fdea5b9d4..cc72be18b 100644 --- a/spec/mailboxes/imap/imap_mailbox_spec.rb +++ b/spec/mailboxes/imap/imap_mailbox_spec.rb @@ -59,6 +59,22 @@ RSpec.describe Imap::ImapMailbox do end end + context 'when the email has inline attachments other than images' do + let(:inbound_mail) { create_inbound_email_from_fixture('email_with_inline_pdf.eml') } + + it 'creates a conversation and a message with non-image files as regular attachments' do + expect do + class_instance.process(inbound_mail.mail, channel) + end.to change(Conversation, :count).by(1) + + last_message = conversation.messages.last + expect(last_message.attachments.count).to be 1 + + attachment = last_message.attachments.first + expect(attachment.file.blob.filename.to_s).to eq 'dummy.pdf' + end + end + context 'when the email has 15 or more attachments' do let(:inbound_mail) { create_inbound_email_from_fixture('multiple_attachments.eml') } From 616bbced9caa7ae5302209c90b942b86fb1da7d7 Mon Sep 17 00:00:00 2001 From: Vishnu Narayanan Date: Sat, 1 Mar 2025 04:50:39 +0530 Subject: [PATCH 07/26] feat: allow copilot use without connecting an inbox (#10992) This PR allows Copilot to be used without connecting the Captain assistant to an inbox. Currently, if Captain is enabled on an account, it takes over conversations and responds directly to users. This PR enables the use of Captain as a Copilot without allowing it to respond to users. Additionally, it allows using a different assistant for Copilot instead of the default Captain assistant. The selection logic for the Copilot assistant follows this order of preference: - If the user has selected a specific assistant, it takes first preference for Copilot. - If the above is not available, the assistant connected to the inbox takes preference. - If neither of the above is available, the first assistant in the account takes preference. --- .../dashboard/api/inbox/conversation.js | 4 + .../components-next/copilot/Copilot.vue | 35 ++++++-- .../copilot/ToggleCopilotAssistant.vue | 81 +++++++++++++++++++ .../dropdown-menu/base/DropdownBody.vue | 2 +- .../components/copilot/CopilotContainer.vue | 59 +++++++++++++- .../i18n/locale/en/integrations.json | 3 +- .../store/modules/conversations/actions.js | 9 +++ .../store/modules/conversations/getters.js | 4 + .../store/modules/conversations/index.js | 4 + .../specs/conversations/actions.spec.js | 19 +++++ .../specs/conversations/getters.spec.js | 17 ++++ .../specs/conversations/mutations.spec.js | 16 ++++ .../dashboard/store/mutation-types.js | 3 + config/routes.rb | 1 + .../v1/accounts/conversations_controller.rb | 22 ++++- 15 files changed, 265 insertions(+), 14 deletions(-) create mode 100644 app/javascript/dashboard/components-next/copilot/ToggleCopilotAssistant.vue diff --git a/app/javascript/dashboard/api/inbox/conversation.js b/app/javascript/dashboard/api/inbox/conversation.js index 8b9eacf3f..39546096f 100644 --- a/app/javascript/dashboard/api/inbox/conversation.js +++ b/app/javascript/dashboard/api/inbox/conversation.js @@ -137,6 +137,10 @@ class ConversationApi extends ApiClient { requestCopilot(conversationId, body) { return axios.post(`${this.url}/${conversationId}/copilot`, body); } + + getInboxAssistant(conversationId) { + return axios.get(`${this.url}/${conversationId}/inbox_assistant`); + } } export default new ConversationApi(); diff --git a/app/javascript/dashboard/components-next/copilot/Copilot.vue b/app/javascript/dashboard/components-next/copilot/Copilot.vue index cf867789b..e284bb983 100644 --- a/app/javascript/dashboard/components-next/copilot/Copilot.vue +++ b/app/javascript/dashboard/components-next/copilot/Copilot.vue @@ -7,6 +7,7 @@ import CopilotInput from './CopilotInput.vue'; import CopilotLoader from './CopilotLoader.vue'; import CopilotAgentMessage from './CopilotAgentMessage.vue'; import CopilotAssistantMessage from './CopilotAssistantMessage.vue'; +import ToggleCopilotAssistant from './ToggleCopilotAssistant.vue'; import Icon from '../icon/Icon.vue'; const props = defineProps({ @@ -26,9 +27,17 @@ const props = defineProps({ type: String, required: true, }, + assistants: { + type: Array, + default: () => [], + }, + activeAssistant: { + type: Object, + default: () => ({}), + }, }); -const emit = defineEmits(['sendMessage', 'reset']); +const emit = defineEmits(['sendMessage', 'reset', 'setAssistant']); const COPILOT_USER_ROLES = ['assistant', 'system']; @@ -97,14 +106,18 @@ watch( -
-
+ +
+
{{ $t('COPILOT.TRY_THESE_PROMPTS') }}
-
+
+ +
+
+ +
-
+
diff --git a/app/javascript/dashboard/components-next/copilot/ToggleCopilotAssistant.vue b/app/javascript/dashboard/components-next/copilot/ToggleCopilotAssistant.vue new file mode 100644 index 000000000..ec21cec9f --- /dev/null +++ b/app/javascript/dashboard/components-next/copilot/ToggleCopilotAssistant.vue @@ -0,0 +1,81 @@ + + + diff --git a/app/javascript/dashboard/components-next/dropdown-menu/base/DropdownBody.vue b/app/javascript/dashboard/components-next/dropdown-menu/base/DropdownBody.vue index 246eba5aa..1a67aaa68 100644 --- a/app/javascript/dashboard/components-next/dropdown-menu/base/DropdownBody.vue +++ b/app/javascript/dashboard/components-next/dropdown-menu/base/DropdownBody.vue @@ -19,7 +19,7 @@ const beforeClass = computed(() => { // Add extra blur layer only when strong prop is true, as a hack for Chrome's stacked backdrop-blur limitation // https://issues.chromium.org/issues/40835530 - return "before:content-['\x00A0'] before:absolute before:bottom-0 before:left-0 before:w-full before:h-full before:backdrop-contrast-70 before:backdrop-blur-sm before:z-0 [&>*]:relative"; + return "before:content-['\x00A0'] before:absolute before:bottom-0 before:left-0 before:w-full before:h-full before:rounded-xl before:backdrop-contrast-70 before:backdrop-blur-sm before:z-0 [&>*]:relative"; }); diff --git a/app/javascript/dashboard/components/copilot/CopilotContainer.vue b/app/javascript/dashboard/components/copilot/CopilotContainer.vue index 17d35d82a..0a4638730 100644 --- a/app/javascript/dashboard/components/copilot/CopilotContainer.vue +++ b/app/javascript/dashboard/components/copilot/CopilotContainer.vue @@ -1,8 +1,11 @@