diff --git a/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesModal.vue b/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesModal.vue
new file mode 100644
index 000000000..7ae95fe59
--- /dev/null
+++ b/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesModal.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesPicker.vue b/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesPicker.vue
new file mode 100644
index 000000000..89d82fe0c
--- /dev/null
+++ b/app/javascript/dashboard/components/widgets/conversation/ContentTemplates/ContentTemplatesPicker.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('CONTENT_TEMPLATES.PICKER.NO_TEMPLATES_FOUND') }}
+ {{ query }}
+
+
+
+
+ {{ t('CONTENT_TEMPLATES.PICKER.NO_TEMPLATES_AVAILABLE') }}
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue b/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue
index cfac915bf..5cc59f8c8 100644
--- a/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue
+++ b/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue
@@ -3,6 +3,7 @@ import { computed, ref } from 'vue';
import { useRouter } from 'vue-router';
import { useStore, useMapGetter } from 'dashboard/composables/store';
import { getLastMessage } from 'dashboard/helper/conversationHelper';
+import { useVoiceCallStatus } from 'dashboard/composables/useVoiceCallStatus';
import { frontendURL, conversationUrl } from 'dashboard/helper/URLHelper';
import Avatar from 'next/avatar/Avatar.vue';
import MessagePreview from './MessagePreview.vue';
@@ -82,6 +83,16 @@ const isInboxNameVisible = computed(() => !activeInbox.value);
const lastMessageInChat = computed(() => getLastMessage(props.chat));
+const callStatus = computed(
+ () => props.chat.additional_attributes?.call_status
+);
+const callDirection = computed(
+ () => props.chat.additional_attributes?.call_direction
+);
+
+const { labelKey: voiceLabelKey, listIconColor: voiceIconColor } =
+ useVoiceCallStatus(callStatus, callDirection);
+
const inboxId = computed(() => props.chat.inbox_id);
const inbox = computed(() => {
@@ -250,7 +261,6 @@ const deleteConversation = () => {
:src="currentContact.thumbnail"
:size="32"
:status="currentContact.availability_status"
- :inbox="inbox"
:class="!showInboxName ? 'mt-4' : 'mt-8'"
hide-offline-status
rounded-full
@@ -307,14 +317,30 @@ const deleteConversation = () => {
>
{{ currentContact.name }}
+
+
+
+ {{ $t(voiceLabelKey) }}
+
+
diff --git a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue
index e5243ac04..4e3124a3c 100644
--- a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue
+++ b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue
@@ -15,7 +15,7 @@ import ReplyEmailHead from './ReplyEmailHead.vue';
import ReplyBottomPanel from 'dashboard/components/widgets/WootWriter/ReplyBottomPanel.vue';
import ArticleSearchPopover from 'dashboard/routes/dashboard/helpcenter/components/ArticleSearch/SearchPopover.vue';
import MessageSignatureMissingAlert from './MessageSignatureMissingAlert.vue';
-import Banner from 'dashboard/components/ui/Banner.vue';
+import ReplyBoxBanner from './ReplyBoxBanner.vue';
import { REPLY_EDITOR_MODES } from 'dashboard/components/widgets/WootWriter/constants';
import WootMessageEditor from 'dashboard/components/widgets/WootWriter/Editor.vue';
import AudioRecorder from 'dashboard/components/widgets/WootWriter/AudioRecorder.vue';
@@ -27,6 +27,7 @@ import {
replaceVariablesInMessage,
} from '@chatwoot/utils';
import WhatsappTemplates from './WhatsappTemplates/Modal.vue';
+import ContentTemplates from './ContentTemplates/ContentTemplatesModal.vue';
import { MESSAGE_MAX_LENGTH } from 'shared/helpers/MessageTypeHelper';
import inboxMixin, { INBOX_FEATURES } from 'shared/mixins/inboxMixin';
import { trimContent, debounce, getRecipients } from '@chatwoot/utils';
@@ -52,8 +53,8 @@ export default {
ArticleSearchPopover,
AttachmentPreview,
AudioRecorder,
- Banner,
CannedResponse,
+ ReplyBoxBanner,
EmojiInput,
MessageSignatureMissingAlert,
ReplyBottomPanel,
@@ -61,6 +62,7 @@ export default {
ReplyToMessage,
ReplyTopPanel,
ResizableTextArea,
+ ContentTemplates,
WhatsappTemplates,
WootMessageEditor,
},
@@ -109,6 +111,7 @@ export default {
toEmails: '',
doAutoSaveDraft: () => {},
showWhatsAppTemplatesModal: false,
+ showContentTemplatesModal: false,
updateEditorSelectionWith: '',
undefinedVariableMessage: '',
showMentions: false,
@@ -155,44 +158,21 @@ export default {
return false;
},
- assignedAgent: {
- get() {
- return this.currentChat.meta.assignee;
- },
- set(agent) {
- const agentId = agent ? agent.id : 0;
- this.$store.dispatch('setCurrentChatAssignee', agent);
- this.$store
- .dispatch('assignAgent', {
- conversationId: this.currentChat.id,
- agentId,
- })
- .then(() => {
- useAlert(this.$t('CONVERSATION.CHANGE_AGENT'));
- });
- },
- },
- showSelfAssignBanner() {
- if (this.message !== '' && !this.isOnPrivateNote) {
- if (!this.assignedAgent) {
- return true;
- }
- if (this.assignedAgent.id !== this.currentUser.id) {
- return true;
- }
- }
-
- return false;
- },
showWhatsappTemplates() {
return this.isAWhatsAppCloudChannel && !this.isPrivate;
},
+ showContentTemplates() {
+ return this.isATwilioWhatsAppChannel && !this.isPrivate;
+ },
isPrivate() {
if (this.currentChat.can_reply || this.isAWhatsAppChannel) {
return this.isOnPrivateNote;
}
return true;
},
+ isReplyRestricted() {
+ return !this.currentChat?.can_reply && !this.isAWhatsAppChannel;
+ },
inboxId() {
return this.currentChat.inbox_id;
},
@@ -659,28 +639,11 @@ export default {
hideWhatsappTemplatesModal() {
this.showWhatsAppTemplatesModal = false;
},
- onClickSelfAssign() {
- const {
- account_id,
- availability_status,
- available_name,
- email,
- id,
- name,
- role,
- avatar_url,
- } = this.currentUser;
- const selfAssign = {
- account_id,
- availability_status,
- available_name,
- email,
- id,
- name,
- role,
- thumbnail: avatar_url,
- };
- this.assignedAgent = selfAssign;
+ openContentTemplateModal() {
+ this.showContentTemplatesModal = true;
+ },
+ hideContentTemplatesModal() {
+ this.showContentTemplatesModal = false;
},
confirmOnSendReply() {
if (this.isReplyButtonDisabled) {
@@ -774,6 +737,13 @@ export default {
});
this.hideWhatsappTemplatesModal();
},
+ async onSendContentTemplateReply(messagePayload) {
+ this.sendMessage({
+ conversationId: this.currentChat.id,
+ ...messagePayload,
+ });
+ this.hideContentTemplatesModal();
+ },
replaceText(message) {
if (this.sendWithSignature && !this.private) {
// if signature is enabled, append it to the message
@@ -793,6 +763,10 @@ export default {
}, 100);
},
setReplyMode(mode = REPLY_EDITOR_MODES.REPLY) {
+ // Clear attachments when switching between private note and reply modes
+ // This is to prevent from breaking the upload rules
+ if (this.attachedFiles.length > 0) this.attachedFiles = [];
+
const { can_reply: canReply } = this.currentChat;
this.$store.dispatch('draftMessages/setReplyEditorMode', {
mode,
@@ -1095,19 +1069,11 @@ export default {
-
+
+
+
+import { computed } from 'vue';
+import { useStore } from 'vuex';
+import { useMapGetter } from 'dashboard/composables/store';
+import { useAlert } from 'dashboard/composables';
+import { useI18n } from 'vue-i18n';
+import wootConstants from 'dashboard/constants/globals';
+
+import Banner from 'dashboard/components/ui/Banner.vue';
+
+const props = defineProps({
+ message: {
+ type: String,
+ default: '',
+ },
+ isOnPrivateNote: {
+ type: Boolean,
+ default: false,
+ },
+});
+
+const store = useStore();
+const { t } = useI18n();
+
+const currentChat = useMapGetter('getSelectedChat');
+const currentUser = useMapGetter('getCurrentUser');
+
+const assignedAgent = computed({
+ get() {
+ return currentChat.value?.meta?.assignee;
+ },
+ set(agent) {
+ const agentId = agent ? agent.id : 0;
+ store.dispatch('setCurrentChatAssignee', agent);
+ store.dispatch('assignAgent', {
+ conversationId: currentChat.value?.id,
+ agentId,
+ });
+ },
+});
+
+const isUserTyping = computed(
+ () => props.message !== '' && !props.isOnPrivateNote
+);
+const isUnassigned = computed(() => !assignedAgent.value);
+const isAssignedToOtherAgent = computed(
+ () => assignedAgent.value?.id !== currentUser.value?.id
+);
+
+const showSelfAssignBanner = computed(() => {
+ return (
+ isUserTyping.value && (isUnassigned.value || isAssignedToOtherAgent.value)
+ );
+});
+
+const showBotHandoffBanner = computed(
+ () =>
+ isUserTyping.value &&
+ currentChat.value?.status === wootConstants.STATUS_TYPE.PENDING
+);
+
+const botHandoffActionLabel = computed(() => {
+ return assignedAgent.value?.id === currentUser.value?.id
+ ? t('CONVERSATION.BOT_HANDOFF_REOPEN_ACTION')
+ : t('CONVERSATION.BOT_HANDOFF_ACTION');
+});
+
+const selfAssignConversation = async () => {
+ const { avatar_url, ...rest } = currentUser.value || {};
+ assignedAgent.value = { ...rest, thumbnail: avatar_url };
+};
+
+const needsAssignmentToCurrentUser = computed(() => {
+ return isUnassigned.value || isAssignedToOtherAgent.value;
+});
+
+const onClickSelfAssign = async () => {
+ try {
+ await selfAssignConversation();
+ useAlert(t('CONVERSATION.CHANGE_AGENT'));
+ } catch (error) {
+ useAlert(t('CONVERSATION.CHANGE_AGENT_FAILED'));
+ }
+};
+
+const reopenConversation = async () => {
+ await store.dispatch('toggleStatus', {
+ conversationId: currentChat.value?.id,
+ status: wootConstants.STATUS_TYPE.OPEN,
+ });
+};
+
+const onClickBotHandoff = async () => {
+ try {
+ await reopenConversation();
+
+ if (needsAssignmentToCurrentUser.value) {
+ await selfAssignConversation();
+ }
+
+ useAlert(t('CONVERSATION.BOT_HANDOFF_SUCCESS'));
+ } catch (error) {
+ useAlert(t('CONVERSATION.BOT_HANDOFF_ERROR'));
+ }
+};
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/composables/spec/useFontSize.spec.js b/app/javascript/dashboard/composables/spec/useFontSize.spec.js
index 52d22478f..28b927610 100644
--- a/app/javascript/dashboard/composables/spec/useFontSize.spec.js
+++ b/app/javascript/dashboard/composables/spec/useFontSize.spec.js
@@ -43,18 +43,22 @@ describe('useFontSize', () => {
it('returns fontSizeOptions with correct structure', () => {
const { fontSizeOptions } = useFontSize();
- expect(fontSizeOptions).toHaveLength(5);
- expect(fontSizeOptions[0]).toHaveProperty('value');
- expect(fontSizeOptions[0]).toHaveProperty('label');
+ expect(fontSizeOptions.value).toHaveLength(5);
+ expect(fontSizeOptions.value[0]).toHaveProperty('value');
+ expect(fontSizeOptions.value[0]).toHaveProperty('label');
// Check specific options
- expect(fontSizeOptions.find(option => option.value === '16px')).toEqual({
+ expect(
+ fontSizeOptions.value.find(option => option.value === '16px')
+ ).toEqual({
value: '16px',
label:
'PROFILE_SETTINGS.FORM.INTERFACE_SECTION.FONT_SIZE.OPTIONS.DEFAULT',
});
- expect(fontSizeOptions.find(option => option.value === '14px')).toEqual({
+ expect(
+ fontSizeOptions.value.find(option => option.value === '14px')
+ ).toEqual({
value: '14px',
label:
'PROFILE_SETTINGS.FORM.INTERFACE_SECTION.FONT_SIZE.OPTIONS.SMALLER',
@@ -143,12 +147,12 @@ describe('useFontSize', () => {
const { fontSizeOptions } = useFontSize();
// Check that translation is applied
- expect(fontSizeOptions.find(option => option.value === '14px').label).toBe(
- 'Smaller'
- );
- expect(fontSizeOptions.find(option => option.value === '16px').label).toBe(
- 'Default'
- );
+ expect(
+ fontSizeOptions.value.find(option => option.value === '14px').label
+ ).toBe('Smaller');
+ expect(
+ fontSizeOptions.value.find(option => option.value === '16px').label
+ ).toBe('Default');
// Verify translation function was called with correct keys
expect(mockTranslate).toHaveBeenCalledWith(
diff --git a/app/javascript/dashboard/composables/spec/useInbox.spec.js b/app/javascript/dashboard/composables/spec/useInbox.spec.js
new file mode 100644
index 000000000..64dbcdd5f
--- /dev/null
+++ b/app/javascript/dashboard/composables/spec/useInbox.spec.js
@@ -0,0 +1,277 @@
+import { describe, it, expect, vi } from 'vitest';
+import { defineComponent, h } from 'vue';
+import { createStore } from 'vuex';
+import { mount } from '@vue/test-utils';
+import { useInbox } from '../useInbox';
+import { INBOX_TYPES } from 'dashboard/helper/inbox';
+
+vi.mock('dashboard/composables/store');
+vi.mock('dashboard/composables/useTransformKeys');
+
+// Mock the dependencies
+const mockStore = createStore({
+ modules: {
+ conversations: {
+ namespaced: false,
+ getters: {
+ getSelectedChat: () => ({ inbox_id: 1 }),
+ },
+ },
+ inboxes: {
+ namespaced: true,
+ getters: {
+ getInboxById: () => id => {
+ const inboxes = {
+ 1: {
+ id: 1,
+ channel_type: INBOX_TYPES.WHATSAPP,
+ provider: 'whatsapp_cloud',
+ },
+ 2: { id: 2, channel_type: INBOX_TYPES.FB },
+ 3: { id: 3, channel_type: INBOX_TYPES.TWILIO, medium: 'sms' },
+ 4: { id: 4, channel_type: INBOX_TYPES.TWILIO, medium: 'whatsapp' },
+ 5: {
+ id: 5,
+ channel_type: INBOX_TYPES.EMAIL,
+ provider: 'microsoft',
+ },
+ 6: { id: 6, channel_type: INBOX_TYPES.EMAIL, provider: 'google' },
+ 7: {
+ id: 7,
+ channel_type: INBOX_TYPES.WHATSAPP,
+ provider: 'default',
+ },
+ 8: { id: 8, channel_type: INBOX_TYPES.TELEGRAM },
+ 9: { id: 9, channel_type: INBOX_TYPES.LINE },
+ 10: { id: 10, channel_type: INBOX_TYPES.WEB },
+ 11: { id: 11, channel_type: INBOX_TYPES.API },
+ 12: { id: 12, channel_type: INBOX_TYPES.SMS },
+ 13: { id: 13, channel_type: INBOX_TYPES.INSTAGRAM },
+ 14: { id: 14, channel_type: INBOX_TYPES.VOICE },
+ };
+ return inboxes[id] || null;
+ },
+ },
+ },
+ },
+});
+
+// Mock useMapGetter to return mock store getters
+vi.mock('dashboard/composables/store', () => ({
+ useMapGetter: vi.fn(getter => {
+ if (getter === 'getSelectedChat') {
+ return { value: { inbox_id: 1 } };
+ }
+ if (getter === 'inboxes/getInboxById') {
+ return { value: mockStore.getters['inboxes/getInboxById'] };
+ }
+ return { value: null };
+ }),
+}));
+
+// Mock useCamelCase to return the data as-is for testing
+vi.mock('dashboard/composables/useTransformKeys', () => ({
+ useCamelCase: vi.fn(data => ({
+ ...data,
+ channelType: data?.channel_type,
+ })),
+}));
+
+describe('useInbox', () => {
+ const createTestComponent = inboxId =>
+ defineComponent({
+ setup() {
+ return useInbox(inboxId);
+ },
+ render() {
+ return h('div');
+ },
+ });
+
+ describe('with current chat context (no inboxId provided)', () => {
+ it('identifies WhatsApp Cloud channel correctly', () => {
+ const wrapper = mount(createTestComponent(), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isAWhatsAppCloudChannel).toBe(true);
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(true);
+ });
+
+ it('returns correct inbox object', () => {
+ const wrapper = mount(createTestComponent(), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.inbox).toEqual({
+ id: 1,
+ channel_type: INBOX_TYPES.WHATSAPP,
+ provider: 'whatsapp_cloud',
+ channelType: INBOX_TYPES.WHATSAPP,
+ });
+ });
+ });
+
+ describe('with explicit inboxId provided', () => {
+ it('identifies Facebook inbox correctly', () => {
+ const wrapper = mount(createTestComponent(2), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isAFacebookInbox).toBe(true);
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(false);
+ });
+
+ it('identifies Twilio SMS channel correctly', () => {
+ const wrapper = mount(createTestComponent(3), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isATwilioChannel).toBe(true);
+ expect(wrapper.vm.isASmsInbox).toBe(true);
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(false);
+ });
+
+ it('identifies Twilio WhatsApp channel correctly', () => {
+ const wrapper = mount(createTestComponent(4), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isATwilioChannel).toBe(true);
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(true);
+ expect(wrapper.vm.isATwilioWhatsAppChannel).toBe(true);
+ expect(wrapper.vm.isAWhatsAppCloudChannel).toBe(false);
+ });
+
+ it('identifies Microsoft email inbox correctly', () => {
+ const wrapper = mount(createTestComponent(5), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isAnEmailChannel).toBe(true);
+ expect(wrapper.vm.isAMicrosoftInbox).toBe(true);
+ expect(wrapper.vm.isAGoogleInbox).toBe(false);
+ });
+
+ it('identifies Google email inbox correctly', () => {
+ const wrapper = mount(createTestComponent(6), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.isAnEmailChannel).toBe(true);
+ expect(wrapper.vm.isAGoogleInbox).toBe(true);
+ expect(wrapper.vm.isAMicrosoftInbox).toBe(false);
+ });
+
+ it('identifies 360Dialog WhatsApp channel correctly', () => {
+ const wrapper = mount(createTestComponent(7), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.is360DialogWhatsAppChannel).toBe(true);
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(true);
+ expect(wrapper.vm.isAWhatsAppCloudChannel).toBe(false);
+ });
+
+ it('identifies all other channel types correctly', () => {
+ // Test Telegram
+ let wrapper = mount(createTestComponent(8), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isATelegramChannel).toBe(true);
+
+ // Test Line
+ wrapper = mount(createTestComponent(9), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isALineChannel).toBe(true);
+
+ // Test Web Widget
+ wrapper = mount(createTestComponent(10), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isAWebWidgetInbox).toBe(true);
+
+ // Test API
+ wrapper = mount(createTestComponent(11), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isAPIInbox).toBe(true);
+
+ // Test SMS
+ wrapper = mount(createTestComponent(12), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isASmsInbox).toBe(true);
+
+ // Test Instagram
+ wrapper = mount(createTestComponent(13), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isAnInstagramChannel).toBe(true);
+
+ // Test Voice
+ wrapper = mount(createTestComponent(14), {
+ global: { plugins: [mockStore] },
+ });
+ expect(wrapper.vm.isAVoiceChannel).toBe(true);
+ });
+ });
+
+ describe('edge cases', () => {
+ it('handles non-existent inbox ID gracefully', () => {
+ const wrapper = mount(createTestComponent(999), {
+ global: { plugins: [mockStore] },
+ });
+
+ // useCamelCase still processes null data, so we get an object with channelType: undefined
+ expect(wrapper.vm.inbox).toEqual({ channelType: undefined });
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(false);
+ expect(wrapper.vm.isAFacebookInbox).toBe(false);
+ });
+
+ it('handles inbox with no data correctly', () => {
+ // The mock will return null for non-existent IDs, but useCamelCase processes it
+ const wrapper = mount(createTestComponent(999), {
+ global: { plugins: [mockStore] },
+ });
+
+ expect(wrapper.vm.inbox.channelType).toBeUndefined();
+ expect(wrapper.vm.isAWhatsAppChannel).toBe(false);
+ expect(wrapper.vm.isAFacebookInbox).toBe(false);
+ expect(wrapper.vm.isATelegramChannel).toBe(false);
+ });
+ });
+
+ describe('return object completeness', () => {
+ it('returns all expected properties', () => {
+ const wrapper = mount(createTestComponent(1), {
+ global: { plugins: [mockStore] },
+ });
+
+ const expectedProperties = [
+ 'inbox',
+ 'isAFacebookInbox',
+ 'isALineChannel',
+ 'isAPIInbox',
+ 'isASmsInbox',
+ 'isATelegramChannel',
+ 'isATwilioChannel',
+ 'isAWebWidgetInbox',
+ 'isAWhatsAppChannel',
+ 'isAMicrosoftInbox',
+ 'isAGoogleInbox',
+ 'isATwilioWhatsAppChannel',
+ 'isAWhatsAppCloudChannel',
+ 'is360DialogWhatsAppChannel',
+ 'isAnEmailChannel',
+ 'isAnInstagramChannel',
+ 'isAVoiceChannel',
+ ];
+
+ expectedProperties.forEach(prop => {
+ expect(wrapper.vm).toHaveProperty(prop);
+ });
+ });
+ });
+});
diff --git a/app/javascript/dashboard/composables/useFileUpload.js b/app/javascript/dashboard/composables/useFileUpload.js
index 423462fda..c0105d321 100644
--- a/app/javascript/dashboard/composables/useFileUpload.js
+++ b/app/javascript/dashboard/composables/useFileUpload.js
@@ -4,14 +4,16 @@ import { useI18n } from 'vue-i18n';
import { DirectUpload } from 'activestorage';
import { checkFileSizeLimit } from 'shared/helpers/FileHelper';
import { getMaxUploadSizeByChannel } from '@chatwoot/utils';
+import { MAXIMUM_FILE_UPLOAD_SIZE } from 'shared/constants/messages';
/**
* Composable for handling file uploads in conversations
* @param {Object} options
* @param {Object} options.inbox - Current inbox object (has channel_type, medium, etc.)
* @param {Function} options.attachFile - Callback to handle file attachment
+ * @param {boolean} options.isPrivateNote - Whether the upload is for a private note
*/
-export const useFileUpload = ({ inbox, attachFile }) => {
+export const useFileUpload = ({ inbox, attachFile, isPrivateNote = false }) => {
const { t } = useI18n();
const accountId = useMapGetter('getCurrentAccountId');
@@ -20,12 +22,18 @@ export const useFileUpload = ({ inbox, attachFile }) => {
const globalConfig = useMapGetter('globalConfig/get');
// helper: compute max upload size for a given file's mime
- const maxSizeFor = mime =>
- getMaxUploadSizeByChannel({
+ const maxSizeFor = mime => {
+ // Use default file size limit for private notes
+ if (isPrivateNote) {
+ return MAXIMUM_FILE_UPLOAD_SIZE;
+ }
+
+ return getMaxUploadSizeByChannel({
channelType: inbox?.channel_type,
medium: inbox?.medium, // e.g. 'sms' | 'whatsapp' | etc.
mime, // e.g. 'image/png'
});
+ };
const alertOverLimit = maxSizeMB =>
useAlert(
diff --git a/app/javascript/dashboard/composables/useFontSize.js b/app/javascript/dashboard/composables/useFontSize.js
index d7177a5fb..92d6f9e72 100644
--- a/app/javascript/dashboard/composables/useFontSize.js
+++ b/app/javascript/dashboard/composables/useFontSize.js
@@ -77,8 +77,8 @@ export const useFontSize = () => {
* Font size options for select dropdown
* @type {Array<{value: string, label: string}>}
*/
- const fontSizeOptions = FONT_SIZE_NAMES.map(name =>
- createFontSizeOption(t, name)
+ const fontSizeOptions = computed(() =>
+ FONT_SIZE_NAMES.map(name => createFontSizeOption(t, name))
);
/**
diff --git a/app/javascript/dashboard/composables/useInbox.js b/app/javascript/dashboard/composables/useInbox.js
index 3ad308a39..ae9738dd6 100644
--- a/app/javascript/dashboard/composables/useInbox.js
+++ b/app/javascript/dashboard/composables/useInbox.js
@@ -29,21 +29,24 @@ export const INBOX_FEATURE_MAP = {
};
/**
- * Composable for handling macro-related functionality
- * @returns {Object} An object containing the getMacroDropdownValues function
+ * Composable for handling inbox-related functionality
+ * @param {string|null} inboxId - Optional inbox ID. If not provided, uses current chat's inbox
+ * @returns {Object} An object containing inbox type checking functions
*/
-export const useInbox = () => {
+export const useInbox = (inboxId = null) => {
const currentChat = useMapGetter('getSelectedChat');
const inboxGetter = useMapGetter('inboxes/getInboxById');
const inbox = computed(() => {
- const inboxId = currentChat.value.inbox_id;
+ const targetInboxId = inboxId || currentChat.value?.inbox_id;
- return useCamelCase(inboxGetter.value(inboxId), { deep: true });
+ if (!targetInboxId) return null;
+
+ return useCamelCase(inboxGetter.value(targetInboxId), { deep: true });
});
const channelType = computed(() => {
- return inbox.value.channelType;
+ return inbox.value?.channelType;
});
const isAPIInbox = computed(() => {
@@ -75,19 +78,19 @@ export const useInbox = () => {
});
const whatsAppAPIProvider = computed(() => {
- return inbox.value.provider || '';
+ return inbox.value?.provider || '';
});
const isAMicrosoftInbox = computed(() => {
- return isAnEmailChannel.value && inbox.value.provider === 'microsoft';
+ return isAnEmailChannel.value && inbox.value?.provider === 'microsoft';
});
const isAGoogleInbox = computed(() => {
- return isAnEmailChannel.value && inbox.value.provider === 'google';
+ return isAnEmailChannel.value && inbox.value?.provider === 'google';
});
const isATwilioSMSChannel = computed(() => {
- const { medium: medium = '' } = inbox.value;
+ const { medium: medium = '' } = inbox.value || {};
return isATwilioChannel.value && medium === 'sms';
});
@@ -96,7 +99,7 @@ export const useInbox = () => {
});
const isATwilioWhatsAppChannel = computed(() => {
- const { medium: medium = '' } = inbox.value;
+ const { medium: medium = '' } = inbox.value || {};
return isATwilioChannel.value && medium === 'whatsapp';
});
diff --git a/app/javascript/dashboard/composables/useVoiceCallStatus.js b/app/javascript/dashboard/composables/useVoiceCallStatus.js
new file mode 100644
index 000000000..111dab2ca
--- /dev/null
+++ b/app/javascript/dashboard/composables/useVoiceCallStatus.js
@@ -0,0 +1,161 @@
+import { computed, unref } from 'vue';
+
+const CALL_STATUSES = {
+ IN_PROGRESS: 'in-progress',
+ RINGING: 'ringing',
+ NO_ANSWER: 'no-answer',
+ BUSY: 'busy',
+ FAILED: 'failed',
+ COMPLETED: 'completed',
+ CANCELED: 'canceled',
+};
+
+const CALL_DIRECTIONS = {
+ INBOUND: 'inbound',
+ OUTBOUND: 'outbound',
+};
+
+/**
+ * Composable for handling voice call status display logic
+ * @param {Ref|string} statusRef - Call status (ringing, in-progress, etc.)
+ * @param {Ref|string} directionRef - Call direction (inbound, outbound)
+ * @returns {Object} UI properties for displaying call status
+ */
+export function useVoiceCallStatus(statusRef, directionRef) {
+ const status = computed(() => unref(statusRef)?.toString());
+ const direction = computed(() => unref(directionRef)?.toString());
+
+ // Status group helpers
+ const isFailedStatus = computed(() =>
+ [
+ CALL_STATUSES.NO_ANSWER,
+ CALL_STATUSES.BUSY,
+ CALL_STATUSES.FAILED,
+ ].includes(status.value)
+ );
+ const isEndedStatus = computed(() =>
+ [CALL_STATUSES.COMPLETED, CALL_STATUSES.CANCELED].includes(status.value)
+ );
+ const isOutbound = computed(
+ () => direction.value === CALL_DIRECTIONS.OUTBOUND
+ );
+
+ const labelKey = computed(() => {
+ const s = status.value;
+
+ if (s === CALL_STATUSES.IN_PROGRESS) {
+ return isOutbound.value
+ ? 'CONVERSATION.VOICE_CALL.OUTGOING_CALL'
+ : 'CONVERSATION.VOICE_CALL.CALL_IN_PROGRESS';
+ }
+
+ if (s === CALL_STATUSES.RINGING) {
+ return isOutbound.value
+ ? 'CONVERSATION.VOICE_CALL.OUTGOING_CALL'
+ : 'CONVERSATION.VOICE_CALL.INCOMING_CALL';
+ }
+
+ if (s === CALL_STATUSES.NO_ANSWER) {
+ return 'CONVERSATION.VOICE_CALL.MISSED_CALL';
+ }
+
+ if (isFailedStatus.value) {
+ return 'CONVERSATION.VOICE_CALL.NO_ANSWER';
+ }
+
+ if (isEndedStatus.value) {
+ return 'CONVERSATION.VOICE_CALL.CALL_ENDED';
+ }
+
+ return 'CONVERSATION.VOICE_CALL.INCOMING_CALL';
+ });
+
+ const subtextKey = computed(() => {
+ const s = status.value;
+
+ if (s === CALL_STATUSES.RINGING) {
+ return 'CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET';
+ }
+
+ if (s === CALL_STATUSES.IN_PROGRESS) {
+ return isOutbound.value
+ ? 'CONVERSATION.VOICE_CALL.THEY_ANSWERED'
+ : 'CONVERSATION.VOICE_CALL.YOU_ANSWERED';
+ }
+
+ if (isFailedStatus.value) {
+ return 'CONVERSATION.VOICE_CALL.NO_ANSWER';
+ }
+
+ if (isEndedStatus.value) {
+ return 'CONVERSATION.VOICE_CALL.CALL_ENDED';
+ }
+
+ return 'CONVERSATION.VOICE_CALL.NOT_ANSWERED_YET';
+ });
+
+ const bubbleIconName = computed(() => {
+ const s = status.value;
+
+ if (s === CALL_STATUSES.IN_PROGRESS) {
+ return isOutbound.value
+ ? 'i-ph-phone-outgoing-fill'
+ : 'i-ph-phone-incoming-fill';
+ }
+
+ if (isFailedStatus.value) {
+ return 'i-ph-phone-x-fill';
+ }
+
+ // For ringing/completed/canceled show direction when possible
+ return isOutbound.value
+ ? 'i-ph-phone-outgoing-fill'
+ : 'i-ph-phone-incoming-fill';
+ });
+
+ const bubbleIconBg = computed(() => {
+ const s = status.value;
+
+ if (s === CALL_STATUSES.IN_PROGRESS) {
+ return 'bg-n-teal-9';
+ }
+
+ if (isFailedStatus.value) {
+ return 'bg-n-ruby-9';
+ }
+
+ if (isEndedStatus.value) {
+ return 'bg-n-slate-11';
+ }
+
+ // default (e.g., ringing)
+ return 'bg-n-teal-9 animate-pulse';
+ });
+
+ const listIconColor = computed(() => {
+ const s = status.value;
+
+ if (s === CALL_STATUSES.IN_PROGRESS || s === CALL_STATUSES.RINGING) {
+ return 'text-n-teal-9';
+ }
+
+ if (isFailedStatus.value) {
+ return 'text-n-ruby-9';
+ }
+
+ if (isEndedStatus.value) {
+ return 'text-n-slate-11';
+ }
+
+ return 'text-n-teal-9';
+ });
+
+ return {
+ status,
+ labelKey,
+ subtextKey,
+ bubbleIconName,
+ bubbleIconBg,
+ listIconColor,
+ };
+}
diff --git a/app/javascript/dashboard/featureFlags.js b/app/javascript/dashboard/featureFlags.js
index 28b6b09b7..143094ae5 100644
--- a/app/javascript/dashboard/featureFlags.js
+++ b/app/javascript/dashboard/featureFlags.js
@@ -1,6 +1,7 @@
export const FEATURE_FLAGS = {
AGENT_BOTS: 'agent_bots',
AGENT_MANAGEMENT: 'agent_management',
+ ASSIGNMENT_V2: 'assignment_v2',
AUTO_RESOLVE_CONVERSATIONS: 'auto_resolve_conversations',
AUTOMATIONS: 'automations',
CAMPAIGNS: 'campaigns',
diff --git a/app/javascript/dashboard/helper/URLHelper.js b/app/javascript/dashboard/helper/URLHelper.js
index bc0322e50..84e2a9b91 100644
--- a/app/javascript/dashboard/helper/URLHelper.js
+++ b/app/javascript/dashboard/helper/URLHelper.js
@@ -125,3 +125,23 @@ export const getHostNameFromURL = url => {
return null;
}
};
+
+/**
+ * Extracts filename from a URL
+ * @param {string} url - The URL to extract filename from
+ * @returns {string} - The extracted filename or original URL if extraction fails
+ */
+export const extractFilenameFromUrl = url => {
+ if (!url || typeof url !== 'string') return url;
+
+ try {
+ const urlObj = new URL(url);
+ const pathname = urlObj.pathname;
+ const filename = pathname.split('/').pop();
+ return filename || url;
+ } catch (error) {
+ // If URL parsing fails, try to extract filename using regex
+ const match = url.match(/\/([^/?#]+)(?:[?#]|$)/);
+ return match ? match[1] : url;
+ }
+};
diff --git a/app/javascript/dashboard/helper/commons.js b/app/javascript/dashboard/helper/commons.js
index b12d1aa3d..3be7538bb 100644
--- a/app/javascript/dashboard/helper/commons.js
+++ b/app/javascript/dashboard/helper/commons.js
@@ -96,3 +96,18 @@ export const sanitizeVariableSearchKey = (searchKey = '') => {
.replace(/,/g, '') // remove commas
.trim();
};
+
+/**
+ * Convert underscore-separated string to title case.
+ * Eg. "round_robin" => "Round Robin"
+ * @param {string} str
+ * @returns {string}
+ */
+export const formatToTitleCase = str => {
+ return (
+ str
+ ?.replace(/_/g, ' ')
+ .replace(/\b\w/g, l => l.toUpperCase())
+ .trim() || ''
+ );
+};
diff --git a/app/javascript/dashboard/helper/specs/URLHelper.spec.js b/app/javascript/dashboard/helper/specs/URLHelper.spec.js
index 0f6d631b1..3a286d8af 100644
--- a/app/javascript/dashboard/helper/specs/URLHelper.spec.js
+++ b/app/javascript/dashboard/helper/specs/URLHelper.spec.js
@@ -7,6 +7,7 @@ import {
hasValidAvatarUrl,
timeStampAppendedURL,
getHostNameFromURL,
+ extractFilenameFromUrl,
} from '../URLHelper';
describe('#URL Helpers', () => {
@@ -263,4 +264,58 @@ describe('#URL Helpers', () => {
expect(getHostNameFromURL('https://chatwoot.help')).toBe('chatwoot.help');
});
});
+
+ describe('extractFilenameFromUrl', () => {
+ it('should extract filename from a valid URL', () => {
+ expect(
+ extractFilenameFromUrl('https://example.com/path/to/file.jpg')
+ ).toBe('file.jpg');
+ expect(extractFilenameFromUrl('https://example.com/image.png')).toBe(
+ 'image.png'
+ );
+ expect(
+ extractFilenameFromUrl(
+ 'https://example.com/folder/document.pdf?query=1'
+ )
+ ).toBe('document.pdf');
+ expect(
+ extractFilenameFromUrl('https://example.com/file.txt#section')
+ ).toBe('file.txt');
+ });
+
+ it('should handle URLs without filename', () => {
+ expect(extractFilenameFromUrl('https://example.com/')).toBe(
+ 'https://example.com/'
+ );
+ expect(extractFilenameFromUrl('https://example.com')).toBe(
+ 'https://example.com'
+ );
+ });
+
+ it('should handle invalid URLs gracefully', () => {
+ expect(extractFilenameFromUrl('not-a-url/file.txt')).toBe('file.txt');
+ expect(extractFilenameFromUrl('invalid-url')).toBe('invalid-url');
+ });
+
+ it('should handle edge cases', () => {
+ expect(extractFilenameFromUrl('')).toBe('');
+ expect(extractFilenameFromUrl(null)).toBe(null);
+ expect(extractFilenameFromUrl(undefined)).toBe(undefined);
+ expect(extractFilenameFromUrl(123)).toBe(123);
+ });
+
+ it('should handle URLs with query parameters and fragments', () => {
+ expect(
+ extractFilenameFromUrl(
+ 'https://example.com/file.jpg?size=large&format=png'
+ )
+ ).toBe('file.jpg');
+ expect(
+ extractFilenameFromUrl('https://example.com/file.pdf#page=1')
+ ).toBe('file.pdf');
+ expect(
+ extractFilenameFromUrl('https://example.com/file.doc?v=1#section')
+ ).toBe('file.doc');
+ });
+ });
});
diff --git a/app/javascript/dashboard/helper/specs/commons.spec.js b/app/javascript/dashboard/helper/specs/commons.spec.js
index 466cdcf45..d892d3a94 100644
--- a/app/javascript/dashboard/helper/specs/commons.spec.js
+++ b/app/javascript/dashboard/helper/specs/commons.spec.js
@@ -5,6 +5,7 @@ import {
convertToCategorySlug,
convertToPortalSlug,
sanitizeVariableSearchKey,
+ formatToTitleCase,
} from '../commons';
describe('#getTypingUsersText', () => {
@@ -142,3 +143,51 @@ describe('sanitizeVariableSearchKey', () => {
expect(sanitizeVariableSearchKey()).toBe('');
});
});
+
+describe('formatToTitleCase', () => {
+ it('converts underscore-separated string to title case', () => {
+ expect(formatToTitleCase('round_robin')).toBe('Round Robin');
+ });
+
+ it('converts single word to title case', () => {
+ expect(formatToTitleCase('priority')).toBe('Priority');
+ });
+
+ it('converts multiple underscores to title case', () => {
+ expect(formatToTitleCase('auto_assignment_policy')).toBe(
+ 'Auto Assignment Policy'
+ );
+ });
+
+ it('handles already capitalized words', () => {
+ expect(formatToTitleCase('HIGH_PRIORITY')).toBe('HIGH PRIORITY');
+ });
+
+ it('handles mixed case with underscores', () => {
+ expect(formatToTitleCase('first_Name_last')).toBe('First Name Last');
+ });
+
+ it('handles empty string', () => {
+ expect(formatToTitleCase('')).toBe('');
+ });
+
+ it('handles null input', () => {
+ expect(formatToTitleCase(null)).toBe('');
+ });
+
+ it('handles undefined input', () => {
+ expect(formatToTitleCase(undefined)).toBe('');
+ });
+
+ it('handles string without underscores', () => {
+ expect(formatToTitleCase('hello')).toBe('Hello');
+ });
+
+ it('handles string with numbers', () => {
+ expect(formatToTitleCase('priority_1_high')).toBe('Priority 1 High');
+ });
+
+ it('handles leading and trailing underscores', () => {
+ expect(formatToTitleCase('_leading_trailing_')).toBe('Leading Trailing');
+ });
+});
diff --git a/app/javascript/dashboard/i18n/locale/am/contact.json b/app/javascript/dashboard/i18n/locale/am/contact.json
index b4d640f7f..84f4f0b58 100644
--- a/app/javascript/dashboard/i18n/locale/am/contact.json
+++ b/app/javascript/dashboard/i18n/locale/am/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "ደውል",
+ "CALL_UNDER_DEVELOPMENT": "መደወል በልማት ላይ ነው",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "የድምፅ ኢንቦክስ ይምረጡ"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -285,7 +290,7 @@
"HEADER": {
"TITLE": "Contacts",
"SEARCH_TITLE": "Search contacts",
- "ACTIVE_TITLE": "Active contacts",
+ "ACTIVE_TITLE": "ንቁ እውቂያዎች",
"SEARCH_PLACEHOLDER": "Search...",
"MESSAGE_BUTTON": "Message",
"SEND_MESSAGE": "Send message",
@@ -460,8 +465,8 @@
}
},
"DELETE_CONTACT": {
- "MESSAGE": "This action is permanent and irreversible.",
- "BUTTON": "Delete now"
+ "MESSAGE": "ይህ እርምጃ ቋሚ ነው እና መመለስ አይቻልም።",
+ "BUTTON": "አሁን ሰርዝ"
}
},
"DETAILS": {
@@ -471,7 +476,7 @@
"DELETE_CONTACT": "Delete contact",
"DELETE_DIALOG": {
"TITLE": "Confirm Deletion",
- "DESCRIPTION": "Are you sure you want to delete this contact?",
+ "DESCRIPTION": "ይህን እውቂያ ማጥፋት እርግጠኛ ነዎት?",
"CONFIRM": "Yes, Delete",
"API": {
"SUCCESS_MESSAGE": "Contact deleted successfully",
@@ -550,8 +555,8 @@
"YOU": "You",
"SAVE": "Save note",
"EXPAND": "Expand",
- "COLLAPSE": "Collapse",
- "NO_NOTES": "No notes, you can add notes from the contact details page.",
+ "COLLAPSE": "ሰብስብ",
+ "NO_NOTES": "ማስታወሻዎች የሉም፣ ከእውቂያው ዝርዝር ገፅ ላይ ማስታወሻዎችን መጨመር ይችላሉ።",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
}
},
@@ -561,7 +566,7 @@
"BUTTON_LABEL": "Add contact",
"SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍",
"LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋",
- "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙"
+ "ACTIVE_EMPTY_STATE_TITLE": "በአሁኑ ጊዜ ንቁ እውቂያዎች የሉም 🌙"
}
},
"COMPOSE_NEW_CONVERSATION": {
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/am/contactFilters.json b/app/javascript/dashboard/i18n/locale/am/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/am/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/am/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/am/contentTemplates.json b/app/javascript/dashboard/i18n/locale/am/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/am/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/am/conversation.json b/app/javascript/dashboard/i18n/locale/am/conversation.json
index 308f24f51..5814cac96 100644
--- a/app/javascript/dashboard/i18n/locale/am/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/am/conversation.json
@@ -32,12 +32,17 @@
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
- "API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
+ "API_HOURS_WINDOW": "ለዚህ ውይይት መመለስ በ{hours} ሰአታት ውስጥ ብቻ ይቻላል",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
- "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
+ "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "ይህ የInstagram መለያ ወደ አዲሱ የInstagram ቻናል ገቢ ሳጥን ተዛውሯል። ሁሉም አዲስ መልዕክቶች በዚያ ይታያሉ። ከአሁን ጀምሮ ከዚህ ውይይት መልዕክቶች መላክ አትችሉም።",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
@@ -70,7 +75,7 @@
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
- "MORE_ACTIONS": "More actions",
+ "MORE_ACTIONS": "ተጨማሪ እርምጃዎች",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
@@ -123,8 +128,8 @@
}
},
"DELETE_CONVERSATION": {
- "TITLE": "Delete conversation #{conversationId}",
- "DESCRIPTION": "Are you sure you want to delete this conversation?",
+ "TITLE": "ውይይት #{conversationId}ን ሰርዝ",
+ "DESCRIPTION": "ይህን ውይይት ለመሰረዝ እርግጠኛ ነዎት?",
"CONFIRM": "Delete"
},
"CARD_CONTEXT_MENU": {
@@ -143,10 +148,10 @@
"ASSIGN_LABEL": "Assign label",
"AGENTS_LOADING": "Loading agents...",
"ASSIGN_TEAM": "Assign team",
- "DELETE": "Delete conversation",
- "OPEN_IN_NEW_TAB": "Open in new tab",
- "COPY_LINK": "Copy conversation link",
- "COPY_LINK_SUCCESS": "Conversation link copied to clipboard",
+ "DELETE": "ውይይት ሰርዝ",
+ "OPEN_IN_NEW_TAB": "በአዲስ ታብ ክፈት",
+ "COPY_LINK": "የውይይት አገናኝን ኮፒ አድርግ",
+ "COPY_LINK_SUCCESS": "የውይይት አገናኝ ወደ ቅጂ ሰሌዳ ኮፒ ተደረገ",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "Conversation id {conversationId} assigned to \"{agentName}\"",
@@ -221,8 +226,8 @@
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "Label assignment failed",
"CHANGE_TEAM": "Conversation team changed",
- "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully",
- "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again",
+ "SUCCESS_DELETE_CONVERSATION": "ውይይት በተሳካ ሁኔታ ተሰርዟል",
+ "FAIL_DELETE_CONVERSATION": "ውይይትን መሰረዝ አልተቻለም! እንደገና ይሞክሩ",
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "Sent by:",
@@ -311,11 +316,11 @@
"CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information",
- "CONTACT_NOTES": "Contact Notes",
+ "CONTACT_NOTES": "የእውቂያ ማስታወሻዎች",
"CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros",
- "LINEAR_ISSUES": "Linked Linear Issues",
+ "LINEAR_ISSUES": "የተገናኙ የLinear ጉዳዮች",
"SHOPIFY_ORDERS": "Shopify Orders"
},
"SHOPIFY": {
diff --git a/app/javascript/dashboard/i18n/locale/am/helpCenter.json b/app/javascript/dashboard/i18n/locale/am/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/am/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/am/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json
index 4006212a3..f171914db 100644
--- a/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/am/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/am/integrations.json b/app/javascript/dashboard/i18n/locale/am/integrations.json
index be9281284..e444fe270 100644
--- a/app/javascript/dashboard/i18n/locale/am/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/am/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/am/settings.json b/app/javascript/dashboard/i18n/locale/am/settings.json
index fde198c92..d547538db 100644
--- a/app/javascript/dashboard/i18n/locale/am/settings.json
+++ b/app/javascript/dashboard/i18n/locale/am/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ar/contact.json b/app/javascript/dashboard/i18n/locale/ar/contact.json
index bfea55276..d9588349d 100644
--- a/app/javascript/dashboard/i18n/locale/ar/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ar/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "عنوان IP",
"CREATED_AT_LABEL": "تم إنشاؤها",
"NEW_MESSAGE": "رسالة جديدة",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "لا توجد محادثات سابقة مرتبطة بجهة الاتصال هذه.",
"TITLE": "المحادثات السابقة"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "إرسال الرسالة"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "العودة للخلف",
+ "SEND_MESSAGE": "إرسال الرسالة"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ar/contactFilters.json b/app/javascript/dashboard/i18n/locale/ar/contactFilters.json
index b2a38da02..eb18cc456 100644
--- a/app/javascript/dashboard/i18n/locale/ar/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ar/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "تم إنشاؤها في",
"LAST_ACTIVITY": "آخر نشاط",
"REFERER_LINK": "رابط المرجع",
- "BLOCKED": "محظور"
+ "BLOCKED": "محظور",
+ "LABELS": "الوسوم"
},
"GROUPS": {
"STANDARD_FILTERS": "الفلاتر القياسية",
diff --git a/app/javascript/dashboard/i18n/locale/ar/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ar/contentTemplates.json
new file mode 100644
index 000000000..cdb8b3968
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ar/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "نماذج البحث",
+ "NO_TEMPLATES_FOUND": "لم يتم العثور على قوالب",
+ "NO_CONTENT": "لا يوجد محتوى",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "الفئة",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "اللغة",
+ "TEMPLATE_BODY": "نص القالب",
+ "CATEGORY": "الفئة"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "النص"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "المتغيرات",
+ "LANGUAGE": "اللغة",
+ "CATEGORY": "الفئة",
+ "VARIABLE_PLACEHOLDER": "أدخل قيمة {variable}",
+ "GO_BACK_LABEL": "العودة للخلف",
+ "SEND_MESSAGE_LABEL": "إرسال الرسالة",
+ "FORM_ERROR_MESSAGE": "يرجى ملء جميع المتغيرات قبل الإرسال",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "العودة",
+ "SEND_MESSAGE_BUTTON": "إرسال الرسالة"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ar/conversation.json b/app/javascript/dashboard/i18n/locale/ar/conversation.json
index 45a488aaf..5271e58d0 100644
--- a/app/javascript/dashboard/i18n/locale/ar/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ar/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "لم يتم تعيين هذه المحادثة لك. هل ترغب في تعيين هذه المحادثة لنفسك؟",
"ASSIGN_TO_ME": "إسناد لي",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "يمكنك فقط الرد على هذه المحادثة باستخدام رسالة قالب بسبب",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "قيد نافذة الـ 24 ساعة",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
index 8c1495aba..7613b398c 100644
--- a/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ar/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "جاري الرفع...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "إلغاء",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "مكتمل",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json
index 05b9ab278..325f31c13 100644
--- a/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ar/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "مفتاح سر API",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "اختر قناة",
- "DESC": "يدعم أدوات الدردشة الحية، والميسنجر الفيسبوك، وملفات التويتر الشخصية، و WhatsApp، ورسائل البريد الإلكتروني، إلخ، كقنوات. إذا كنت ترغب في إنشاء قناة مخصصة، يمكنك إنشاءها باستخدام قناة API. للبدء، اختر إحدى القنوات أدناه."
+ "DESC": "يدعم أدوات الدردشة الحية، والميسنجر الفيسبوك، وملفات التويتر الشخصية، و WhatsApp، ورسائل البريد الإلكتروني، إلخ، كقنوات. إذا كنت ترغب في إنشاء قناة مخصصة، يمكنك إنشاءها باستخدام قناة API. للبدء، اختر إحدى القنوات أدناه.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "الموقع الإلكتروني",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "فيسبوك",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "واتساب",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "البريد الإلكتروني",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "تيليجرام",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "وكيل الدعم",
@@ -477,7 +522,10 @@
"MESSAGE": "يمكنك الآن التواصل مع عملائك من خلال قناتك الجديدة",
"BUTTON_TEXT": "خذني إلى هناك",
"MORE_SETTINGS": "المزيد من الإعدادات",
- "WEBSITE_SUCCESS": "لقد انتهيت بنجاح من إنشاء قناة دردشة مباشرة لموقعك. انسخ الرمز الموضح أدناه وقم بإضافته إلى موقع الويب الخاص بك. في المرة القادمة التي يستخدم فيها العميل الدردشة المباشرة، ستظهر المحادثة تلقائياً على صندوق الوارد الخاص بك."
+ "WEBSITE_SUCCESS": "لقد انتهيت بنجاح من إنشاء قناة دردشة مباشرة لموقعك. انسخ الرمز الموضح أدناه وقم بإضافته إلى موقع الويب الخاص بك. في المرة القادمة التي يستخدم فيها العميل الدردشة المباشرة، ستظهر المحادثة تلقائياً على صندوق الوارد الخاص بك.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "إعادة التصريح",
"VIEW": "عرض",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ar/integrations.json b/app/javascript/dashboard/i18n/locale/ar/integrations.json
index bc17130c1..24a799d4d 100644
--- a/app/javascript/dashboard/i18n/locale/ar/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ar/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "الرابط",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "الرابط",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ar/settings.json b/app/javascript/dashboard/i18n/locale/ar/settings.json
index 18e34f097..f0990ffe6 100644
--- a/app/javascript/dashboard/i18n/locale/ar/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ar/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/az/contact.json b/app/javascript/dashboard/i18n/locale/az/contact.json
index b4d640f7f..12b2d097e 100644
--- a/app/javascript/dashboard/i18n/locale/az/contact.json
+++ b/app/javascript/dashboard/i18n/locale/az/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/az/contactFilters.json b/app/javascript/dashboard/i18n/locale/az/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/az/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/az/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/az/contentTemplates.json b/app/javascript/dashboard/i18n/locale/az/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/az/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/az/conversation.json b/app/javascript/dashboard/i18n/locale/az/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/az/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/az/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/az/helpCenter.json b/app/javascript/dashboard/i18n/locale/az/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/az/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/az/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json
index 4006212a3..f171914db 100644
--- a/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/az/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/az/integrations.json b/app/javascript/dashboard/i18n/locale/az/integrations.json
index be9281284..e444fe270 100644
--- a/app/javascript/dashboard/i18n/locale/az/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/az/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/az/settings.json b/app/javascript/dashboard/i18n/locale/az/settings.json
index fde198c92..d547538db 100644
--- a/app/javascript/dashboard/i18n/locale/az/settings.json
+++ b/app/javascript/dashboard/i18n/locale/az/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/bg/contact.json b/app/javascript/dashboard/i18n/locale/bg/contact.json
index cf08ef7e7..b29aa05b9 100644
--- a/app/javascript/dashboard/i18n/locale/bg/contact.json
+++ b/app/javascript/dashboard/i18n/locale/bg/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP адрес",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Ново съобщение",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Няма предишни разговори асоцирани с този контакт.",
"TITLE": "Предишни разговори"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Изпрати съобщение"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Изпрати съобщение"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/bg/contactFilters.json b/app/javascript/dashboard/i18n/locale/bg/contactFilters.json
index 4597c469c..052867d95 100644
--- a/app/javascript/dashboard/i18n/locale/bg/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/bg/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Последна активност",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/bg/contentTemplates.json b/app/javascript/dashboard/i18n/locale/bg/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/bg/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/bg/conversation.json b/app/javascript/dashboard/i18n/locale/bg/conversation.json
index ec7189e4c..5f18c37f3 100644
--- a/app/javascript/dashboard/i18n/locale/bg/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/bg/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
index 3a6ee3cfe..620781f7d 100644
--- a/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/bg/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Качване...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Отмени",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Завършено",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json
index 3f41b6692..250f30ffc 100644
--- a/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/bg/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Агенти",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/bg/integrations.json b/app/javascript/dashboard/i18n/locale/bg/integrations.json
index 1069559a6..037ce244c 100644
--- a/app/javascript/dashboard/i18n/locale/bg/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/bg/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/bg/settings.json b/app/javascript/dashboard/i18n/locale/bg/settings.json
index 58c8bf75f..1d0eae470 100644
--- a/app/javascript/dashboard/i18n/locale/bg/settings.json
+++ b/app/javascript/dashboard/i18n/locale/bg/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json
index 995fabd0a..421b1717f 100644
--- a/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ca/agentMgmt.json
@@ -3,7 +3,7 @@
"HEADER": "Agents",
"HEADER_BTN_TXT": "Afegir Agent",
"LOADING": "S'està recollint la llista d'agents",
- "DESCRIPTION": "",
+ "DESCRIPTION": "Un agent és un membre del vostre equip d'atenció al client que pot veure i respondre als missatges dels usuaris. La llista següent mostra tots els agents del vostre compte.",
"LEARN_MORE": "Rakibkazi",
"AGENT_TYPES": {
"ADMINISTRATOR": "Administrador/a",
diff --git a/app/javascript/dashboard/i18n/locale/ca/contact.json b/app/javascript/dashboard/i18n/locale/ca/contact.json
index ee6bef2ca..7e67256b7 100644
--- a/app/javascript/dashboard/i18n/locale/ca/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ca/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Adreça IP",
"CREATED_AT_LABEL": "Creat",
"NEW_MESSAGE": "Nou missatge",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "No hi han converses prèvies associades a aquest contacte.",
"TITLE": "Converses prèvies"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Envia missatge"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Torna",
+ "SEND_MESSAGE": "Envia missatge"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ca/contactFilters.json b/app/javascript/dashboard/i18n/locale/ca/contactFilters.json
index 5cafccbdf..92eea6e1c 100644
--- a/app/javascript/dashboard/i18n/locale/ca/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ca/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Creat per",
"LAST_ACTIVITY": "Darrera activitat",
"REFERER_LINK": "Enllaç de referència",
- "BLOCKED": "Blocat"
+ "BLOCKED": "Blocat",
+ "LABELS": "Etiquetes"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtres estàndard",
diff --git a/app/javascript/dashboard/i18n/locale/ca/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ca/contentTemplates.json
new file mode 100644
index 000000000..51522c0ac
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ca/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Cerca plantilles",
+ "NO_TEMPLATES_FOUND": "No s'han trobat plantilles per a",
+ "NO_CONTENT": "Sense contingut",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categoria",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Idioma",
+ "TEMPLATE_BODY": "Cos de la plantilla",
+ "CATEGORY": "Categoria"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Llista"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Idioma",
+ "CATEGORY": "Categoria",
+ "VARIABLE_PLACEHOLDER": "Introdueix el valor {variable}",
+ "GO_BACK_LABEL": "Torna enrere",
+ "SEND_MESSAGE_LABEL": "Envia missatge",
+ "FORM_ERROR_MESSAGE": "Omple totes les variables abans d'enviar-les",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Enrere",
+ "SEND_MESSAGE_BUTTON": "Envia missatge"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ca/conversation.json b/app/javascript/dashboard/i18n/locale/ca/conversation.json
index 220cafc46..93aef2f09 100644
--- a/app/javascript/dashboard/i18n/locale/ca/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ca/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Aquesta conversa no està assignada a tu. Vols assignar-te-la?",
"ASSIGN_TO_ME": "Assigna'm",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Només pots respondre a aquesta conversa mitjançant una plantilla de missatge a causa de",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restricció de finestra de missatges de 24 hores",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
index fd66b6abd..536f3925b 100644
--- a/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ca/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "S'està carregant...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel·la",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generant...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completat",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json
index 6ca31f720..e18b7855f 100644
--- a/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ca/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Escull un canal",
- "DESC": "Chatwoot admet widgets de xat en directe, Facebook Messenger, WhatsApp, correus electrònics, etc., com a canals. Si voleu crear un canal personalitzat, podeu crear-lo mitjançant el canal API. Per començar, tria un dels canals següents."
+ "DESC": "Chatwoot admet widgets de xat en directe, Facebook Messenger, WhatsApp, correus electrònics, etc., com a canals. Si voleu crear un canal personalitzat, podeu crear-lo mitjançant el canal API. Per començar, tria un dels canals següents.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Lloc web",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Correu electrònic",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "Ja podeu interactuar amb els vostres clients a través del vostre canal nou. Feliç suport",
"BUTTON_TEXT": "Porta'm allà",
"MORE_SETTINGS": "Més configuracions",
- "WEBSITE_SUCCESS": "Heu finalitzat amb èxit la creació d'un canal web. Copieu el codi que es mostra a continuació i enganxeu-lo al lloc web. La propera vegada que un client utilitzi el xat en directe, la conversa apareixerà automàticament a la safata d'entrada."
+ "WEBSITE_SUCCESS": "Heu finalitzat amb èxit la creació d'un canal web. Copieu el codi que es mostra a continuació i enganxeu-lo al lloc web. La propera vegada que un client utilitzi el xat en directe, la conversa apareixerà automàticament a la safata d'entrada.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautoritza",
"VIEW": "Veure",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Altres proveïdors"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Altres proveïdors",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ca/integrations.json b/app/javascript/dashboard/i18n/locale/ca/integrations.json
index 2668ce217..556b2e41c 100644
--- a/app/javascript/dashboard/i18n/locale/ca/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ca/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ca/settings.json b/app/javascript/dashboard/i18n/locale/ca/settings.json
index 1ac0ff3d0..dbd5f5cad 100644
--- a/app/javascript/dashboard/i18n/locale/ca/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ca/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/cs/contact.json b/app/javascript/dashboard/i18n/locale/cs/contact.json
index c18736ba5..c339338ad 100644
--- a/app/javascript/dashboard/i18n/locale/cs/contact.json
+++ b/app/javascript/dashboard/i18n/locale/cs/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP adresa",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "K tomuto kontaktu nejsou přiřazeny žádné předchozí konverzace.",
"TITLE": "Předchozí konverzace"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/cs/contactFilters.json b/app/javascript/dashboard/i18n/locale/cs/contactFilters.json
index 255ba36a6..715ff8a7a 100644
--- a/app/javascript/dashboard/i18n/locale/cs/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/cs/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Vytvořeno",
"LAST_ACTIVITY": "Poslední aktivita",
"REFERER_LINK": "Odkazující odkaz",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Štítky"
},
"GROUPS": {
"STANDARD_FILTERS": "Standardní filtry",
diff --git a/app/javascript/dashboard/i18n/locale/cs/contentTemplates.json b/app/javascript/dashboard/i18n/locale/cs/contentTemplates.json
new file mode 100644
index 000000000..f98c668d2
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/cs/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Zpět",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/cs/conversation.json b/app/javascript/dashboard/i18n/locale/cs/conversation.json
index c9ab4282a..91e8a12d8 100644
--- a/app/javascript/dashboard/i18n/locale/cs/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/cs/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Tato konverzace vám není přiřazena. Chcete si přiřadit tuto konverzaci?",
"ASSIGN_TO_ME": "Přiřadit mi",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Na tuto konverzaci můžete odpovědět pouze pomocí šablony zprávy z důvodu",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hodinové omezení okna",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
index a414a6773..d1775271f 100644
--- a/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/cs/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Nahrávání...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Zrušit",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json
index 7f3585287..4c564681c 100644
--- a/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/cs/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mailová adresa",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenti",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Vezmi mě tam",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "Úspěšně jste dokončili vytvoření webového kanálu. Zkopírujte kód zobrazený níže a vložte jej na vaše webové stránky. Když zákazník příště použije živý chat, konverzace se automaticky objeví ve vaší doručené poště."
+ "WEBSITE_SUCCESS": "Úspěšně jste dokončili vytvoření webového kanálu. Zkopírujte kód zobrazený níže a vložte jej na vaše webové stránky. Když zákazník příště použije živý chat, konverzace se automaticky objeví ve vaší doručené poště.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Znovu autorizovat",
"VIEW": "Zobrazit",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/cs/integrations.json b/app/javascript/dashboard/i18n/locale/cs/integrations.json
index 26bc11c0c..5f89819ac 100644
--- a/app/javascript/dashboard/i18n/locale/cs/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/cs/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/cs/settings.json b/app/javascript/dashboard/i18n/locale/cs/settings.json
index 38ef743f7..e143bc911 100644
--- a/app/javascript/dashboard/i18n/locale/cs/settings.json
+++ b/app/javascript/dashboard/i18n/locale/cs/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/da/contact.json b/app/javascript/dashboard/i18n/locale/da/contact.json
index 974bd97c3..25b040fa0 100644
--- a/app/javascript/dashboard/i18n/locale/da/contact.json
+++ b/app/javascript/dashboard/i18n/locale/da/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Ip Adresse",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Ny besked",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Der er ingen tidligere samtaler tilknyttet denne kontakt.",
"TITLE": "Tidligere Samtaler"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send besked"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Gå tilbage",
+ "SEND_MESSAGE": "Send besked"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/da/contactFilters.json b/app/javascript/dashboard/i18n/locale/da/contactFilters.json
index 87f8cecff..47167bda8 100644
--- a/app/javascript/dashboard/i18n/locale/da/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/da/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Oprettet Den",
"LAST_ACTIVITY": "Sidste Aktivitet",
"REFERER_LINK": "Link til reference",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etiketter"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filtre",
diff --git a/app/javascript/dashboard/i18n/locale/da/contentTemplates.json b/app/javascript/dashboard/i18n/locale/da/contentTemplates.json
new file mode 100644
index 000000000..398a507c6
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/da/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Søg Skabeloner",
+ "NO_TEMPLATES_FOUND": "Ingen skabeloner fundet for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategori",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Sprog",
+ "TEMPLATE_BODY": "Skabelon Krop",
+ "CATEGORY": "Kategori"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variabler",
+ "LANGUAGE": "Sprog",
+ "CATEGORY": "Kategori",
+ "VARIABLE_PLACEHOLDER": "Indtast {variable} værdi",
+ "GO_BACK_LABEL": "Gå Tilbage",
+ "SEND_MESSAGE_LABEL": "Send Besked",
+ "FORM_ERROR_MESSAGE": "Udfyld venligst alle variabler før afsendelse",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Tilbage",
+ "SEND_MESSAGE_BUTTON": "Send Besked"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/da/conversation.json b/app/javascript/dashboard/i18n/locale/da/conversation.json
index 54de51b46..c0d707582 100644
--- a/app/javascript/dashboard/i18n/locale/da/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/da/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Denne samtale er ikke tildelt dig. Vil du tildele denne samtale til dig selv?",
"ASSIGN_TO_ME": "Tildel til mig",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Du kan kun svare på denne samtale ved hjælp af en skabelon besked på grund af",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 timers beskedvindue begrænsning",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/da/helpCenter.json b/app/javascript/dashboard/i18n/locale/da/helpCenter.json
index 0d9d71d63..cdbfefa91 100644
--- a/app/javascript/dashboard/i18n/locale/da/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/da/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploader...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Annuller",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Afsluttet",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json
index 08105a3bd..63fff2bf4 100644
--- a/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/da/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Vælg en kanal",
- "DESC": "Chatwoot understøtter live-chat-widgets, Facebook Messenger, Twitter-profiler, WhatsApp, E-mails, osv., som kanaler. Hvis du ønsker at bygge en brugerdefineret kanal, kan du oprette den ved hjælp af API-kanalen. For at komme i gang, vælg en af kanalerne nedenfor."
+ "DESC": "Chatwoot understøtter live-chat-widgets, Facebook Messenger, Twitter-profiler, WhatsApp, E-mails, osv., som kanaler. Hvis du ønsker at bygge en brugerdefineret kanal, kan du oprette den ved hjælp af API-kanalen. For at komme i gang, vælg en af kanalerne nedenfor.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenter",
@@ -477,7 +522,10 @@
"MESSAGE": "Du kan nu engagere dig med dine kunder gennem din nye kanal. Glædelig supportering",
"BUTTON_TEXT": "Tag mig med dertil",
"MORE_SETTINGS": "Flere indstillinger",
- "WEBSITE_SUCCESS": "Du er færdig med at oprette en hjemmeside kanal. Kopier koden vist nedenfor og indsæt den på din hjemmeside. Næste gang en kunde bruger live chat, vil samtalen automatisk vises i din indbakke."
+ "WEBSITE_SUCCESS": "Du er færdig med at oprette en hjemmeside kanal. Kopier koden vist nedenfor og indsæt den på din hjemmeside. Næste gang en kunde bruger live chat, vil samtalen automatisk vises i din indbakke.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Genautorisér",
"VIEW": "Vis",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/da/integrations.json b/app/javascript/dashboard/i18n/locale/da/integrations.json
index c4b498a3a..bca3caafb 100644
--- a/app/javascript/dashboard/i18n/locale/da/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/da/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/da/settings.json b/app/javascript/dashboard/i18n/locale/da/settings.json
index 32fd1228b..e1a930e5b 100644
--- a/app/javascript/dashboard/i18n/locale/da/settings.json
+++ b/app/javascript/dashboard/i18n/locale/da/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/de/contact.json b/app/javascript/dashboard/i18n/locale/de/contact.json
index 3db34b141..1424656ee 100644
--- a/app/javascript/dashboard/i18n/locale/de/contact.json
+++ b/app/javascript/dashboard/i18n/locale/de/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP-Adresse",
"CREATED_AT_LABEL": "Erstellt",
"NEW_MESSAGE": "Neue Nachricht",
+ "CALL": "Anruf",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Es sind keine vorherigen Gespräche mit diesem Kontakt verbunden.",
"TITLE": "Vorherige Gespräche"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Nachricht senden"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Vorlage auswählen",
+ "SEARCH_PLACEHOLDER": "Vorlagen suchen",
+ "EMPTY_STATE": "Keine Vorlagen gefunden",
+ "TEMPLATE_PARSER": {
+ "BACK": "Zurück",
+ "SEND_MESSAGE": "Nachricht senden"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Verwerfen",
"SEND": "Senden ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/de/contactFilters.json b/app/javascript/dashboard/i18n/locale/de/contactFilters.json
index 778edb21f..acfd8a6e1 100644
--- a/app/javascript/dashboard/i18n/locale/de/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/de/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Erstellt am",
"LAST_ACTIVITY": "Letzte Aktivität",
"REFERER_LINK": "Verweis-Link",
- "BLOCKED": "Blockiert"
+ "BLOCKED": "Blockiert",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standardfilter",
diff --git a/app/javascript/dashboard/i18n/locale/de/contentTemplates.json b/app/javascript/dashboard/i18n/locale/de/contentTemplates.json
new file mode 100644
index 000000000..95f4163f0
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/de/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Vorlagen suchen",
+ "NO_TEMPLATES_FOUND": "Keine Vorlagen gefunden für",
+ "NO_CONTENT": "Kein Inhalt",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorie",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Sprache",
+ "TEMPLATE_BODY": "Vorlagenbody",
+ "CATEGORY": "Kategorie"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variablen",
+ "LANGUAGE": "Sprache",
+ "CATEGORY": "Kategorie",
+ "VARIABLE_PLACEHOLDER": "Geben Sie den Wert {variable} ein",
+ "GO_BACK_LABEL": "Zurück",
+ "SEND_MESSAGE_LABEL": "Nachricht senden",
+ "FORM_ERROR_MESSAGE": "Bitte füllen Sie vor dem Absenden alle Variablen aus",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Zurück",
+ "SEND_MESSAGE_BUTTON": "Nachricht senden"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/de/conversation.json b/app/javascript/dashboard/i18n/locale/de/conversation.json
index ca1e2033d..1a64e5820 100644
--- a/app/javascript/dashboard/i18n/locale/de/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/de/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Sie können auf diese Unterhaltung nur innerhalb von {hours} Stunden antworten",
"NOT_ASSIGNED_TO_YOU": "Diese Konversation ist Ihnen nicht zugeordnet. Möchten Sie dieses Gespräch sich selbst zuordnen?",
"ASSIGN_TO_ME": "Mir zuweisen",
+ "BOT_HANDOFF_MESSAGE": "Sie antworten auf eine Unterhaltung, die derzeit von einem Assistenten oder einem Bot bearbeitet wird.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Sie können auf diese Konversation nur mit einer Nachrichtenvorlage antworten wegen",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-Stunden-Nachrichtenfenster-Beschränkung",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Dieser Instagram-Account wurde in den neuen Instagram-Kanal übertragen. Alle neuen Nachrichten werden dort erscheinen. Sie werden keine Nachrichten mehr von dieser Unterhaltung senden können.",
diff --git a/app/javascript/dashboard/i18n/locale/de/generalSettings.json b/app/javascript/dashboard/i18n/locale/de/generalSettings.json
index e029c0157..bf67ac1b0 100644
--- a/app/javascript/dashboard/i18n/locale/de/generalSettings.json
+++ b/app/javascript/dashboard/i18n/locale/de/generalSettings.json
@@ -59,7 +59,7 @@
},
"MESSAGE": {
"LABEL": "Custom auto-resolution message",
- "PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity",
+ "PLACEHOLDER": "Die Unterhaltung wurde durch das System aufgrund von 15 Tagen Inaktivität geschlossen",
"HELP": "Message sent to the customer after conversation is auto-resolved"
},
"PREFERENCES": "Einstellungen",
@@ -115,7 +115,7 @@
},
"UPDATE_BUTTON": "Aktualisieren",
"MESSAGE_LABEL": "Custom resolution message",
- "MESSAGE_PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity",
+ "MESSAGE_PLACEHOLDER": "Die Unterhaltung wurde durch das System aufgrund von 15 Tagen Inaktivität geschlossen",
"MESSAGE_HELP": "This message is sent to the customer when a conversation is automatically resolved by the system due to inactivity."
},
"FEATURES": {
diff --git a/app/javascript/dashboard/i18n/locale/de/helpCenter.json b/app/javascript/dashboard/i18n/locale/de/helpCenter.json
index 6e94dd832..0684e8d1c 100644
--- a/app/javascript/dashboard/i18n/locale/de/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/de/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Hochladen...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Stornieren",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generieren...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Erledigt",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json
index 26a8fa753..36d582549 100644
--- a/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/de/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API-Schlüssel-Geheimnis",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Wählen Sie einen Kanal",
- "DESC": "Chatwoot unterstützt Live-Chat-Widgets, Facebook Messenger, Twitter-Profile, WhatsApp, E-Mails usw. als Kanäle. Wenn Sie einen benutzerdefinierten Kanal erstellen möchten, können Sie ihn mithilfe des API-Kanals erstellen. Wählen Sie zunächst einen der folgenden Kanäle aus."
+ "DESC": "Chatwoot unterstützt Live-Chat-Widgets, Facebook Messenger, Twitter-Profile, WhatsApp, E-Mails usw. als Kanäle. Wenn Sie einen benutzerdefinierten Kanal erstellen möchten, können Sie ihn mithilfe des API-Kanals erstellen. Wählen Sie zunächst einen der folgenden Kanäle aus.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Webseite",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-Mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegramm",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenten",
@@ -477,7 +522,10 @@
"MESSAGE": "Sie können jetzt über Ihren neuen Kanal mit Ihren Kunden in Kontakt treten. Fröhliches Unterstützen",
"BUTTON_TEXT": "Bring mich dahin",
"MORE_SETTINGS": "Weitere Einstellungen",
- "WEBSITE_SUCCESS": "Sie haben die Erstellung eines Website-Kanals erfolgreich abgeschlossen. Kopieren Sie den unten gezeigten Code und fügen Sie ihn in Ihre Website ein. Wenn ein Kunde das nächste Mal den Live-Chat verwendet, wird die Konversation automatisch in Ihrem Posteingang angezeigt."
+ "WEBSITE_SUCCESS": "Sie haben die Erstellung eines Website-Kanals erfolgreich abgeschlossen. Kopieren Sie den unten gezeigten Code und fügen Sie ihn in Ihre Website ein. Wenn ein Kunde das nächste Mal den Live-Chat verwendet, wird die Konversation automatisch in Ihrem Posteingang angezeigt.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Neu autorisieren",
"VIEW": "Aussicht",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Andere Anbieter"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Andere Anbieter",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/de/integrations.json b/app/javascript/dashboard/i18n/locale/de/integrations.json
index 060389c52..4c586c743 100644
--- a/app/javascript/dashboard/i18n/locale/de/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/de/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/de/settings.json b/app/javascript/dashboard/i18n/locale/de/settings.json
index 8afed9cbd..71c12b477 100644
--- a/app/javascript/dashboard/i18n/locale/de/settings.json
+++ b/app/javascript/dashboard/i18n/locale/de/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/el/contact.json b/app/javascript/dashboard/i18n/locale/el/contact.json
index 7cb18c39f..12f297962 100644
--- a/app/javascript/dashboard/i18n/locale/el/contact.json
+++ b/app/javascript/dashboard/i18n/locale/el/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Διεύθυνση IP",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Νέο Μήνυμα",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Δεν υπάρχουν προηγούμενες συνομιλίες που σχετίζονται με αυτήν την επαφή.",
"TITLE": "Προηγούμενες συνομιλίες"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Αποστολή μηνύματος"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Πίσω",
+ "SEND_MESSAGE": "Αποστολή μηνύματος"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/el/contactFilters.json b/app/javascript/dashboard/i18n/locale/el/contactFilters.json
index 8a43cb6b0..cc2bb6234 100644
--- a/app/javascript/dashboard/i18n/locale/el/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/el/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Δημιουργήθηκε στις",
"LAST_ACTIVITY": "Τελευταία Δραστηριότητα",
"REFERER_LINK": "Σύνδεσμος αναφοράς",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Ετικέτες"
},
"GROUPS": {
"STANDARD_FILTERS": "Τυπικά Φίλτρα",
diff --git a/app/javascript/dashboard/i18n/locale/el/contentTemplates.json b/app/javascript/dashboard/i18n/locale/el/contentTemplates.json
new file mode 100644
index 000000000..af5f698fd
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/el/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Αναζήτηση Προτύπων",
+ "NO_TEMPLATES_FOUND": "Δεν βρέθηκαν πρότυπα για",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Κατηγορία",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Γλώσσα",
+ "TEMPLATE_BODY": "Σώμα Προτύπου",
+ "CATEGORY": "Κατηγορία"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Κείμενο"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Μεταβλητές",
+ "LANGUAGE": "Γλώσσα",
+ "CATEGORY": "Κατηγορία",
+ "VARIABLE_PLACEHOLDER": "Εισάγετε τιμή για {variable}",
+ "GO_BACK_LABEL": "Πίσω",
+ "SEND_MESSAGE_LABEL": "Αποστολή μηνύματος",
+ "FORM_ERROR_MESSAGE": "Παρακαλώ συμπληρώστε όλες τις μεταβλητές πριν την αποστολή",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Πίσω",
+ "SEND_MESSAGE_BUTTON": "Αποστολή μηνύματος"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/el/conversation.json b/app/javascript/dashboard/i18n/locale/el/conversation.json
index c68a26a96..148b038e6 100644
--- a/app/javascript/dashboard/i18n/locale/el/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/el/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Αυτή η συνομιλία δεν έχει ανατεθεί σε εσάς. Θα θέλατε να αντιστοιχίσετε αυτή τη συνομιλία στον εαυτό σας;",
"ASSIGN_TO_ME": "Ανάθεση σε μένα",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Μπορείτε να απαντήσετε μόνο σε αυτή τη συνομιλία χρησιμοποιώντας ένα πρότυπο μήνυμα επειδή",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "του περιορισμού των 24 ωρών",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/el/helpCenter.json b/app/javascript/dashboard/i18n/locale/el/helpCenter.json
index b7ddaf650..416075dc3 100644
--- a/app/javascript/dashboard/i18n/locale/el/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/el/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Ανέβασμα...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Άκυρο",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Ολοκληρώθηκε",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json
index f53c3c19f..a0db57a19 100644
--- a/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/el/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Επιλογή Καναλιού",
- "DESC": "Το Chatwoot υποστηρίζει widget live-chat, σελίδα Facebook, προφίλ Twitter, Whatsapp, Email κλπ., ως κανάλια. Αν θέλετε να δημιουργήσετε ένα προσαρμοσμένο κανάλι, μπορείτε να το δημιουργήσετε χρησιμοποιώντας το κανάλι API. Επιλέξτε ένα κανάλι από τις παρακάτω επιλογές για να συνεχίσετε."
+ "DESC": "Το Chatwoot υποστηρίζει widget live-chat, σελίδα Facebook, προφίλ Twitter, Whatsapp, Email κλπ., ως κανάλια. Αν θέλετε να δημιουργήσετε ένα προσαρμοσμένο κανάλι, μπορείτε να το δημιουργήσετε χρησιμοποιώντας το κανάλι API. Επιλέξτε ένα κανάλι από τις παρακάτω επιλογές για να συνεχίσετε.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Πράκτορες",
@@ -477,7 +522,10 @@
"MESSAGE": "Μπορείτε να συνομιλείτε με τους πελάτες σας από το νέο κανάλι. Καλή υποστήριξη",
"BUTTON_TEXT": "Μετάβαση",
"MORE_SETTINGS": "Περισσότερες ρυθμίσεις",
- "WEBSITE_SUCCESS": "Επιτυχής δημιουργία του καναλιού ιστοσελίδας. Αντιγράψτε τον κώδικα που παρουσιάζεται παρακάτω, και τοποθετήστε τον στην ιστοσελίδα σας. Την επόμενη φορά που κάποιος πελάτης χρησιμοποιήσει το 'live chat', η συνομιλία θα εμφανιστεί στο κιβώτιο εισερχομένων σας."
+ "WEBSITE_SUCCESS": "Επιτυχής δημιουργία του καναλιού ιστοσελίδας. Αντιγράψτε τον κώδικα που παρουσιάζεται παρακάτω, και τοποθετήστε τον στην ιστοσελίδα σας. Την επόμενη φορά που κάποιος πελάτης χρησιμοποιήσει το 'live chat', η συνομιλία θα εμφανιστεί στο κιβώτιο εισερχομένων σας.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Εκ νέου εξουσιοδότηση",
"VIEW": "Προβολή",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/el/integrations.json b/app/javascript/dashboard/i18n/locale/el/integrations.json
index 488107d41..21b97dbd0 100644
--- a/app/javascript/dashboard/i18n/locale/el/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/el/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/el/settings.json b/app/javascript/dashboard/i18n/locale/el/settings.json
index b69e25146..336e96111 100644
--- a/app/javascript/dashboard/i18n/locale/el/settings.json
+++ b/app/javascript/dashboard/i18n/locale/el/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/en/contact.json b/app/javascript/dashboard/i18n/locale/en/contact.json
index a5c9549f1..a7db8480f 100644
--- a/app/javascript/dashboard/i18n/locale/en/contact.json
+++ b/app/javascript/dashboard/i18n/locale/en/contact.json
@@ -612,6 +612,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/en/contactFilters.json b/app/javascript/dashboard/i18n/locale/en/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/en/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/en/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/en/contentTemplates.json b/app/javascript/dashboard/i18n/locale/en/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/en/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/en/conversation.json b/app/javascript/dashboard/i18n/locale/en/conversation.json
index 308f24f51..9fd39b70f 100644
--- a/app/javascript/dashboard/i18n/locale/en/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/en/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
@@ -66,6 +71,17 @@
"SHOW_LABELS": "Show labels",
"HIDE_LABELS": "Hide labels"
},
+ "VOICE_CALL": {
+ "INCOMING_CALL": "Incoming call",
+ "OUTGOING_CALL": "Outgoing call",
+ "CALL_IN_PROGRESS": "Call in progress",
+ "NO_ANSWER": "No answer",
+ "MISSED_CALL": "Missed call",
+ "CALL_ENDED": "Call ended",
+ "NOT_ANSWERED_YET": "Not answered yet",
+ "THEY_ANSWERED": "They answered",
+ "YOU_ANSWERED": "You answered"
+ },
"HEADER": {
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
diff --git a/app/javascript/dashboard/i18n/locale/en/helpCenter.json b/app/javascript/dashboard/i18n/locale/en/helpCenter.json
index fd2b1a788..16f108c0e 100644
--- a/app/javascript/dashboard/i18n/locale/en/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/en/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json
index 6f44ec046..f171914db 100644
--- a/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/en/inboxMgmt.json
@@ -424,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -478,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -868,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/en/index.js b/app/javascript/dashboard/i18n/locale/en/index.js
index 213387d0c..bc4a8312a 100644
--- a/app/javascript/dashboard/i18n/locale/en/index.js
+++ b/app/javascript/dashboard/i18n/locale/en/index.js
@@ -35,6 +35,7 @@ import signup from './signup.json';
import sla from './sla.json';
import teamsSettings from './teamsSettings.json';
import whatsappTemplates from './whatsappTemplates.json';
+import contentTemplates from './contentTemplates.json';
export default {
...advancedFilters,
@@ -74,4 +75,5 @@ export default {
...sla,
...teamsSettings,
...whatsappTemplates,
+ ...contentTemplates,
};
diff --git a/app/javascript/dashboard/i18n/locale/en/integrations.json b/app/javascript/dashboard/i18n/locale/en/integrations.json
index 97a141cb1..d36263b43 100644
--- a/app/javascript/dashboard/i18n/locale/en/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/en/integrations.json
@@ -716,11 +716,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/en/settings.json b/app/javascript/dashboard/i18n/locale/en/settings.json
index d547538db..dd2fdc904 100644
--- a/app/javascript/dashboard/i18n/locale/en/settings.json
+++ b/app/javascript/dashboard/i18n/locale/en/settings.json
@@ -51,6 +51,13 @@
"LARGER": "Larger",
"EXTRA_LARGE": "Extra Large"
}
+ },
+ "LANGUAGE": {
+ "TITLE": "Preferred Language",
+ "NOTE": "Choose the language you want to use.",
+ "UPDATE_SUCCESS": "Your Language settings have been updated successfully",
+ "UPDATE_ERROR": "There is an error while updating the language settings, please try again",
+ "USE_ACCOUNT_DEFAULT": "Use account default"
}
},
"MESSAGE_SIGNATURE_SECTION": {
@@ -330,6 +337,7 @@
"REPORTS_LABEL": "Labels",
"REPORTS_INBOX": "Inbox",
"REPORTS_TEAM": "Team",
+ "AGENT_ASSIGNMENT": "Agent Assignment",
"SET_AVAILABILITY_TITLE": "Set yourself as",
"SET_YOUR_AVAILABILITY": "Set your availability",
"SLA": "SLA",
@@ -418,5 +426,169 @@
"SWITCH_TO_REPLY": "Switch to Reply",
"TOGGLE_SNOOZE_DROPDOWN": "Toggle snooze dropdown"
}
+ },
+ "ASSIGNMENT_POLICY": {
+ "INDEX": {
+ "HEADER": {
+ "TITLE": "Agent assignment",
+ "DESCRIPTION": "Define policies to effectively manage workload and route conversations based on the needs of inboxes and agents. Learn more here"
+ },
+ "ASSIGNMENT_POLICY": {
+ "TITLE": "Assignment policy",
+ "DESCRIPTION": "Manage how conversations get assigned in inboxes.",
+ "FEATURES": [
+ "Assign by conversations evenly or by available capacity",
+ "Add fair distribution rules to avoid overloading any agent",
+ "Add inboxes to a policy - one policy per inbox"
+ ]
+ },
+ "AGENT_CAPACITY_POLICY": {
+ "TITLE": "Agent capacity policy",
+ "DESCRIPTION": "Manage workload for agents.",
+ "FEATURES": [
+ "Define maximum conversations per inbox",
+ "Create exceptions based on labels and time",
+ "Add agents to a policy - one policy per agent"
+ ]
+ }
+ },
+ "AGENT_ASSIGNMENT_POLICY": {
+ "INDEX": {
+ "HEADER": {
+ "TITLE": "Assignment policy",
+ "CREATE_POLICY": "New policy"
+ },
+ "CARD": {
+ "ORDER": "Order",
+ "PRIORITY": "Priority",
+ "ACTIVE": "Active",
+ "INACTIVE": "Inactive",
+ "POPOVER": "Added inboxes",
+ "EDIT": "Edit"
+ },
+ "NO_RECORDS_FOUND": "No assignment policies found"
+ },
+ "CREATE": {
+ "HEADER": {
+ "TITLE": "Create assignment policy"
+ },
+ "CREATE_BUTTON": "Create policy",
+ "API": {
+ "SUCCESS_MESSAGE": "Assignment policy created successfully",
+ "ERROR_MESSAGE": "Failed to create assignment policy"
+ }
+ },
+ "EDIT": {
+ "HEADER": {
+ "TITLE": "Edit assignment policy"
+ },
+ "EDIT_BUTTON": "Update policy",
+ "CONFIRM_ADD_INBOX_DIALOG": {
+ "TITLE": "Add inbox",
+ "DESCRIPTION": "{inboxName} inbox is already linked to another policy. Are you sure you want to link it to this policy? It will be unlinked from the other policy.",
+ "CONFIRM_BUTTON_LABEL": "Continue",
+ "CANCEL_BUTTON_LABEL": "Cancel"
+ },
+ "API": {
+ "SUCCESS_MESSAGE": "Assignment policy updated successfully",
+ "ERROR_MESSAGE": "Failed to update assignment policy"
+ },
+ "INBOX_API": {
+ "ADD": {
+ "SUCCESS_MESSAGE": "Inbox added to policy successfully",
+ "ERROR_MESSAGE": "Failed to add inbox to policy"
+ },
+ "REMOVE": {
+ "SUCCESS_MESSAGE": "Inbox removed from policy successfully",
+ "ERROR_MESSAGE": "Failed to remove inbox from policy"
+ }
+ }
+ },
+ "FORM": {
+ "NAME": {
+ "LABEL": "Policy name:",
+ "PLACEHOLDER": "Enter policy name"
+ },
+ "DESCRIPTION": {
+ "LABEL": "Description:",
+ "PLACEHOLDER": "Enter description"
+ },
+ "STATUS": {
+ "LABEL": "Status:",
+ "PLACEHOLDER": "Select status",
+ "ACTIVE": "Policy is active",
+ "INACTIVE": "Policy is inactive"
+ },
+ "ASSIGNMENT_ORDER": {
+ "LABEL": "Assignment order",
+ "ROUND_ROBIN": {
+ "LABEL": "Round robin",
+ "DESCRIPTION": "Assign conversations evenly among agents."
+ },
+ "BALANCED": {
+ "LABEL": "Balanced",
+ "DESCRIPTION": "Assign conversations based on available capacity."
+ }
+ },
+ "ASSIGNMENT_PRIORITY": {
+ "LABEL": "Assignment priority",
+ "EARLIEST_CREATED": {
+ "LABEL": "Earliest created",
+ "DESCRIPTION": "The conversation that was created first gets assigned first."
+ },
+ "LONGEST_WAITING": {
+ "LABEL": "Longest waiting",
+ "DESCRIPTION": "The conversation waiting the longest gets assigned first."
+ }
+ },
+ "FAIR_DISTRIBUTION": {
+ "LABEL": "Fair distribution policy",
+ "DESCRIPTION": "Set the maximum number of conversations that can be assigned per agent within a time window to avoid overloading any one agent. This required field defaults to 100 conversations per hour.",
+ "INPUT_MAX": "Assign max",
+ "DURATION": "Conversations per agent in every"
+ },
+ "INBOXES": {
+ "LABEL": "Added inboxes",
+ "DESCRIPTION": "Add inboxes for which this policy will be applicable.",
+ "ADD_BUTTON": "Add inbox",
+ "DROPDOWN": {
+ "SEARCH_PLACEHOLDER": "Search and select inboxes to add",
+ "ADD_BUTTON": "Add"
+ },
+ "EMPTY_STATE": "No inboxes added to this policy, add an inbox to get started",
+ "API": {
+ "SUCCESS_MESSAGE": "Inbox successfully added to policy",
+ "ERROR_MESSAGE": "Failed to add inbox to policy"
+ }
+ }
+ },
+ "DELETE_POLICY": {
+ "SUCCESS_MESSAGE": "Assignment policy deleted successfully",
+ "ERROR_MESSAGE": "Failed to delete assignment policy"
+ }
+ },
+ "AGENT_CAPACITY_POLICY": {
+ "INDEX": {
+ "HEADER": {
+ "TITLE": "Agent capacity",
+ "CREATE_POLICY": "New policy"
+ },
+ "CARD": {
+ "POPOVER": "Added agents",
+ "EDIT": "Edit"
+ },
+ "NO_RECORDS_FOUND": "No agent capacity policies found"
+ },
+ "DELETE_POLICY": {
+ "SUCCESS_MESSAGE": "Agent capacity policy deleted successfully",
+ "ERROR_MESSAGE": "Failed to delete agent capacity policy"
+ }
+ },
+ "DELETE_POLICY": {
+ "TITLE": "Delete policy",
+ "DESCRIPTION": "Are you sure you want to delete this policy? This action cannot be undone.",
+ "CONFIRM_BUTTON_LABEL": "Delete",
+ "CANCEL_BUTTON_LABEL": "Cancel"
+ }
}
}
diff --git a/app/javascript/dashboard/i18n/locale/es/agentBots.json b/app/javascript/dashboard/i18n/locale/es/agentBots.json
index 512bbf7dd..747570e05 100644
--- a/app/javascript/dashboard/i18n/locale/es/agentBots.json
+++ b/app/javascript/dashboard/i18n/locale/es/agentBots.json
@@ -2,13 +2,13 @@
"AGENT_BOTS": {
"HEADER": "Bots",
"LOADING_EDITOR": "Cargando el editor...",
- "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
+ "DESCRIPTION": "Los bots de agentes son como los miembros más fabulosos de tu equipo. Ellos pueden manejar las cosas pequeñas, así que usted puede centrarse en las cosas que importan. Inténtalos. Puedes administrar tus bots desde esta página o crear nuevos usando el botón 'Configurar un nuevo bot'.",
"LEARN_MORE": "Learn about agent bots",
- "GLOBAL_BOT": "System bot",
+ "GLOBAL_BOT": "Bot del sistema",
"GLOBAL_BOT_BADGE": "Sistema",
"AVATAR": {
- "SUCCESS_DELETE": "Bot avatar deleted successfully",
- "ERROR_DELETE": "Error deleting bot avatar, please try again"
+ "SUCCESS_DELETE": "Avatar del bot eliminado correctamente",
+ "ERROR_DELETE": "Error al borrar el bot, por favor intentar más tarde"
},
"BOT_CONFIGURATION": {
"TITLE": "Seleccione un bot de agente",
@@ -22,7 +22,7 @@
"SELECT_PLACEHOLDER": "Seleccionar bot"
},
"ADD": {
- "TITLE": "Add Bot",
+ "TITLE": "Agregar Bot",
"CANCEL_BUTTON_TEXT": "Cancelar",
"API": {
"SUCCESS_MESSAGE": "Bot añadido correctamente.",
@@ -30,10 +30,10 @@
}
},
"LIST": {
- "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
+ "404": "No sé encontró ningún bot. Puedes crear uno haciendo clic en 'crear un Bot'.",
"LOADING": "Obteniendo bots...",
"TABLE_HEADER": {
- "DETAILS": "Bot Details",
+ "DETAILS": "Detalles del Bot",
"URL": "URL de Webhook"
}
},
@@ -42,7 +42,7 @@
"TITLE": "Eliminar bot",
"CONFIRM": {
"TITLE": "Confirmar eliminación",
- "MESSAGE": "Are you sure you want to delete {name}?",
+ "MESSAGE": "¿Está seguro que desea borrar {name}?",
"YES": "Sí, eliminar",
"NO": "No, mantenerlo"
},
@@ -61,18 +61,18 @@
},
"ACCESS_TOKEN": {
"TITLE": "Token de acceso",
- "DESCRIPTION": "Copy the access token and save it securely",
- "COPY_SUCCESSFUL": "Access token copied to clipboard",
- "RESET_SUCCESS": "Access token regenerated successfully",
- "RESET_ERROR": "Unable to regenerate access token. Please try again"
+ "DESCRIPTION": "Copie el código de acceso y guardarlo seguro",
+ "COPY_SUCCESSFUL": "Código de acceso copiado en el portapapeles",
+ "RESET_SUCCESS": "Código de acceso regenerado exitosamente",
+ "RESET_ERROR": "Dirección del webhook es requerida"
},
"FORM": {
"AVATAR": {
- "LABEL": "Bot avatar"
+ "LABEL": "Avatar del Bot"
},
"NAME": {
"LABEL": "Nombre del bot",
- "PLACEHOLDER": "Enter bot name",
+ "PLACEHOLDER": "Nombre del Bot",
"REQUIRED": "El nombre del bot es obligatorio"
},
"DESCRIPTION": {
@@ -82,19 +82,19 @@
"WEBHOOK_URL": {
"LABEL": "URL de Webhook",
"PLACEHOLDER": "https://example.com/webhook",
- "REQUIRED": "Webhook URL is required"
+ "REQUIRED": "Dirección del webhook es requerida"
},
"ERRORS": {
"NAME": "El nombre del bot es obligatorio",
- "URL": "Webhook URL is required",
- "VALID_URL": "Please enter a valid URL starting with http:// or https://"
+ "URL": "Dirección del webhook es requerida",
+ "VALID_URL": "Por favor, introduzca una URL válida comenzando con http:// o https://"
},
"CANCEL": "Cancelar",
- "CREATE": "Create Bot",
- "UPDATE": "Update Bot"
+ "CREATE": "Crear Bot",
+ "UPDATE": "Actualizar Bot"
},
"WEBHOOK": {
- "DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
+ "DESCRIPTION": "Configure el webhook del bot para integrarse con sus servicios personalizados. El bot recibirá y procesará eventos de conversaciones y podrá responder a ellos."
},
"TYPES": {
"WEBHOOK": "Webhook Bot"
diff --git a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json
index 8b70b2a6c..1c3138821 100644
--- a/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/es/attributesMgmt.json
@@ -13,7 +13,7 @@
"TEXT": "Texto",
"NUMBER": "Número",
"LINK": "Enlace",
- "DATE": "Date",
+ "DATE": "Fecha",
"LIST": "Lista",
"CHECKBOX": "Casilla"
},
diff --git a/app/javascript/dashboard/i18n/locale/es/automation.json b/app/javascript/dashboard/i18n/locale/es/automation.json
index 63b529aee..33bec1729 100644
--- a/app/javascript/dashboard/i18n/locale/es/automation.json
+++ b/app/javascript/dashboard/i18n/locale/es/automation.json
@@ -131,7 +131,7 @@
"CONVERSATION_CREATED": "Conversación creada",
"CONVERSATION_UPDATED": "Conversación actualizada",
"MESSAGE_CREATED": "Mensaje creado",
- "CONVERSATION_RESOLVED": "Conversation Resolved",
+ "CONVERSATION_RESOLVED": "Conversación Resuelta",
"CONVERSATION_OPENED": "Conversación abierta"
},
"ACTIONS": {
@@ -147,14 +147,14 @@
"SEND_WEBHOOK_EVENT": "Enviar Evento de Webhook",
"SEND_ATTACHMENT": "Enviar archivo adjunto",
"SEND_MESSAGE": "Enviar mensaje",
- "ADD_PRIVATE_NOTE": "Add a Private Note",
+ "ADD_PRIVATE_NOTE": "Añadir una nota privada",
"CHANGE_PRIORITY": "Cambiar prioridad",
"ADD_SLA": "Añadir SLA",
"OPEN_CONVERSATION": "Abrir conversación"
},
"MESSAGE_TYPES": {
- "INCOMING": "Incoming Message",
- "OUTGOING": "Outgoing Message"
+ "INCOMING": "Mensaje entrante",
+ "OUTGOING": "Mensaje saliente"
},
"PRIORITY_TYPES": {
"NONE": "Ninguna",
@@ -175,7 +175,7 @@
"MAIL_SUBJECT": "Asunto de Email",
"COUNTRY_NAME": "País",
"REFERER_LINK": "Enlace de referencia",
- "ASSIGNEE_NAME": "Cesionario",
+ "ASSIGNEE_NAME": "Asignado a",
"TEAM_NAME": "Equipo",
"PRIORITY": "Prioridad"
}
diff --git a/app/javascript/dashboard/i18n/locale/es/contact.json b/app/javascript/dashboard/i18n/locale/es/contact.json
index 859de8246..939c0a7be 100644
--- a/app/javascript/dashboard/i18n/locale/es/contact.json
+++ b/app/javascript/dashboard/i18n/locale/es/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Dirección IP",
"CREATED_AT_LABEL": "Creado",
"NEW_MESSAGE": "Nuevo mensaje",
+ "CALL": "Llamar",
+ "CALL_UNDER_DEVELOPMENT": "Llamar está bajo desarrollo",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Seleccionar un buzón de entrada"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "No hay conversaciones previas asociadas a este contacto.",
"TITLE": "Conversaciones anteriores"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Enviar mensaje"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Seleccionar plantilla",
+ "SEARCH_PLACEHOLDER": "Buscar plantillas",
+ "EMPTY_STATE": "No se encontraron plantillas",
+ "TEMPLATE_PARSER": {
+ "BACK": "Volver",
+ "SEND_MESSAGE": "Enviar mensaje"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Descartar",
"SEND": "Enviar ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/es/contactFilters.json b/app/javascript/dashboard/i18n/locale/es/contactFilters.json
index 64cacd968..f291692bc 100644
--- a/app/javascript/dashboard/i18n/locale/es/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/es/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Creado el",
"LAST_ACTIVITY": "Última actividad",
"REFERER_LINK": "Enlace de referencia",
- "BLOCKED": "Bloqueado"
+ "BLOCKED": "Bloqueado",
+ "LABELS": "Etiquetas"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtros estándar",
diff --git a/app/javascript/dashboard/i18n/locale/es/contentTemplates.json b/app/javascript/dashboard/i18n/locale/es/contentTemplates.json
new file mode 100644
index 000000000..7f1ecd4c7
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/es/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Buscar plantillas",
+ "NO_TEMPLATES_FOUND": "No se encontraron plantillas para",
+ "NO_CONTENT": "Sin contenido",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categoría",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Idioma",
+ "TEMPLATE_BODY": "Cuerpo de plantilla",
+ "CATEGORY": "Categoría"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Texto"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Idioma",
+ "CATEGORY": "Categoría",
+ "VARIABLE_PLACEHOLDER": "Introduzca el valor de {variable}",
+ "GO_BACK_LABEL": "Volver",
+ "SEND_MESSAGE_LABEL": "Enviar mensaje",
+ "FORM_ERROR_MESSAGE": "Por favor, rellene todas las variables antes de enviar",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Atrás",
+ "SEND_MESSAGE_BUTTON": "Enviar mensaje"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/es/conversation.json b/app/javascript/dashboard/i18n/locale/es/conversation.json
index 851f237bb..d27f1e019 100644
--- a/app/javascript/dashboard/i18n/locale/es/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/es/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Solo puedes responder a esta conversación dentro de {hours} horas",
"NOT_ASSIGNED_TO_YOU": "Esta conversación no te está asignada. ¿Quieres asignarla a ti mismo?",
"ASSIGN_TO_ME": "Asignar a mi",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Sólo puede responder a esta conversación usando una plantilla de mensaje debido a",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restricción de la ventana de mensajes de 24 horas",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Esta cuenta de Instagram fue migrada a la nueva bandeja de entrada del canal Instagram. Todos los nuevos mensajes aparecerán allí. Ya no podrás enviar mensajes de esta conversación.",
@@ -144,9 +149,9 @@
"AGENTS_LOADING": "Cargando agentes...",
"ASSIGN_TEAM": "Asignar equipo",
"DELETE": "Eliminar conversación",
- "OPEN_IN_NEW_TAB": "Open in new tab",
- "COPY_LINK": "Copy conversation link",
- "COPY_LINK_SUCCESS": "Conversation link copied to clipboard",
+ "OPEN_IN_NEW_TAB": "Abrir en nueva pestaña",
+ "COPY_LINK": "Copiar enlace de conversación",
+ "COPY_LINK_SUCCESS": "Enlace de conversación copiado en portapapeles",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "ID de conversación {conversationId} asignado a \"{agentName}\"",
diff --git a/app/javascript/dashboard/i18n/locale/es/generalSettings.json b/app/javascript/dashboard/i18n/locale/es/generalSettings.json
index 579c0b275..36a71c6be 100644
--- a/app/javascript/dashboard/i18n/locale/es/generalSettings.json
+++ b/app/javascript/dashboard/i18n/locale/es/generalSettings.json
@@ -3,7 +3,7 @@
"LIMIT_MESSAGES": {
"CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
"INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
- "AGENTS": "You have exceeded the agent limit. Your plan only allows {allowedAgents} agents.",
+ "AGENTS": "Has superado el límite de agentes. Tu plan solo permite {allowedAgents} agentes.",
"NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
},
"TITLE": "Configuración de la cuenta",
@@ -30,7 +30,7 @@
"SCHEDULED_DELETION": {
"TITLE": "Account Scheduled for Deletion",
"MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
- "MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
+ "MESSAGE_INACTIVITY": "Esta cuenta se eliminará el {deletionDate} debido a inactividad. Puedes cancelar la eliminación antes de esta fecha.",
"CLEAR_BUTTON": "Cancel Scheduled Deletion"
}
},
@@ -134,7 +134,7 @@
"MULTISELECT": {
"ENTER_TO_SELECT": "Pulse Enter para seleccionar",
"ENTER_TO_REMOVE": "Presione Enter para eliminar",
- "NO_OPTIONS": "List is empty",
+ "NO_OPTIONS": "La lista está vacía",
"SELECT_ONE": "Seleccione uno",
"SELECT": "Seleccionar"
}
diff --git a/app/javascript/dashboard/i18n/locale/es/helpCenter.json b/app/javascript/dashboard/i18n/locale/es/helpCenter.json
index 0a7039883..2da767af1 100644
--- a/app/javascript/dashboard/i18n/locale/es/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/es/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Subiendo...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancelar",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generando...",
+ "CONFIRM_DELETE": "¿Está seguro que desea borrar {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completado",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json
index 750fa3a9b..ec9249658 100644
--- a/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/es/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Clave API secreta",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Elija un canal",
- "DESC": "Chatwoot soporta widgets de Live Chat, Facebook Messenger, perfiles de Twitter, WhatsApp, correos electrónicos, etc., como canales. Si quieres construir un canal personalizado, puedes crearlo usando el canal API. Para empezar, elige uno de los canales a continuación."
+ "DESC": "Chatwoot soporta widgets de Live Chat, Facebook Messenger, perfiles de Twitter, WhatsApp, correos electrónicos, etc., como canales. Si quieres construir un canal personalizado, puedes crearlo usando el canal API. Para empezar, elige uno de los canales a continuación.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Sitio web",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agentes",
@@ -477,7 +522,10 @@
"MESSAGE": "Ahora puedes colaborar con tus clientes a través de tu nuevo canal. Feliz soporte",
"BUTTON_TEXT": "Llévame allí",
"MORE_SETTINGS": "Más ajustes",
- "WEBSITE_SUCCESS": "Has terminado de crear un canal del sitio web. Copia el código que se muestra a continuación y pégalo en tu sitio web. La próxima vez que un cliente use el chat en vivo, la conversación aparecerá automáticamente en su bandeja de entrada."
+ "WEBSITE_SUCCESS": "Has terminado de crear un canal del sitio web. Copia el código que se muestra a continuación y pégalo en tu sitio web. La próxima vez que un cliente use el chat en vivo, la conversación aparecerá automáticamente en su bandeja de entrada.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautorizar",
"VIEW": "Ver",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Otros proveedores"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Otros proveedores",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/es/integrations.json b/app/javascript/dashboard/i18n/locale/es/integrations.json
index ee297c2f8..f4c5adcf4 100644
--- a/app/javascript/dashboard/i18n/locale/es/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/es/integrations.json
@@ -487,12 +487,12 @@
"ASSISTANT": "Assistant"
},
"BASIC_SETTINGS": {
- "TITLE": "Basic settings",
- "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human."
+ "TITLE": "Configuraciones básicas",
+ "DESCRIPTION": ""
},
"SYSTEM_SETTINGS": {
"TITLE": "System settings",
- "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human."
+ "DESCRIPTION": ""
},
"CONTROL_ITEMS": {
"TITLE": "The Fun Stuff",
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/es/settings.json b/app/javascript/dashboard/i18n/locale/es/settings.json
index 42a3df59a..f2662bc72 100644
--- a/app/javascript/dashboard/i18n/locale/es/settings.json
+++ b/app/javascript/dashboard/i18n/locale/es/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Cambiar apariencia",
"SUPER_ADMIN_CONSOLE": "Consola SuperAdmin",
"DOCS": "Leer la documentación",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Cerrar sesión"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/fa/contact.json b/app/javascript/dashboard/i18n/locale/fa/contact.json
index 3f8940c0e..0f17989e5 100644
--- a/app/javascript/dashboard/i18n/locale/fa/contact.json
+++ b/app/javascript/dashboard/i18n/locale/fa/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "آدرس آیپی",
"CREATED_AT_LABEL": "ایجاد شده",
"NEW_MESSAGE": "پیام جدید",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "این اولین گفتگوی این کاربر است.",
"TITLE": "گفتگوهای قبلی"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "ارسال پیام"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "بازگشت",
+ "SEND_MESSAGE": "ارسال پیام"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/fa/contactFilters.json b/app/javascript/dashboard/i18n/locale/fa/contactFilters.json
index 5e92d6ae6..0587542e7 100644
--- a/app/javascript/dashboard/i18n/locale/fa/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/fa/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "ایجاد شده در",
"LAST_ACTIVITY": "آخرین فعالیت",
"REFERER_LINK": "پیوند ارجاعدهنده",
- "BLOCKED": "مسدود شده"
+ "BLOCKED": "مسدود شده",
+ "LABELS": "برچسبها"
},
"GROUPS": {
"STANDARD_FILTERS": "فیلترهای استاندارد",
diff --git a/app/javascript/dashboard/i18n/locale/fa/contentTemplates.json b/app/javascript/dashboard/i18n/locale/fa/contentTemplates.json
new file mode 100644
index 000000000..a14569c18
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/fa/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "جستجوی الگوها",
+ "NO_TEMPLATES_FOUND": "هیچ قالبی برای",
+ "NO_CONTENT": "فاقد محتوا",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "دستهبندی",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "زبان",
+ "TEMPLATE_BODY": "بدنه الگو",
+ "CATEGORY": "دستهبندی"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "متن"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "متغیرها",
+ "LANGUAGE": "زبان",
+ "CATEGORY": "دستهبندی",
+ "VARIABLE_PLACEHOLDER": "مقدار {variable} را وارد کنید",
+ "GO_BACK_LABEL": "بازگشت",
+ "SEND_MESSAGE_LABEL": "ارسال پیام",
+ "FORM_ERROR_MESSAGE": "لطفا قبل از ارسال همه متغیرها را پر کنید",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "بازگشت",
+ "SEND_MESSAGE_BUTTON": "ارسال پیام"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/fa/conversation.json b/app/javascript/dashboard/i18n/locale/fa/conversation.json
index bc1afdefb..a9ff16b7e 100644
--- a/app/javascript/dashboard/i18n/locale/fa/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/fa/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "این گفتگو به شما اختصاص داده نشده است. آیا می خواهید این گفتگو را به خودتان اختصاص دهید؟",
"ASSIGN_TO_ME": "اختصاص به من",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "شما فقط می توانید با استفاده از یک پیام الگو به این مکالمه پاسخ دهید",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "محدودیت ۲۴ ساعته پنجره پیام",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
index 244e35243..01f1ff514 100644
--- a/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fa/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "در حال آپلود...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "انصراف",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "در حال تولید...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "تکمیل شد",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json
index c8070216e..808203095 100644
--- a/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/fa/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "کانالی را انتخاب کنید",
- "DESC": "Chatwoot از ویجت های چت زنده، فیس بوک مسنجر، پروفایل های توییتر، واتساپ، ایمیل ها و غیره به عنوان کانال پشتیبانی می کند. اگر می خواهید یک کانال سفارشی بسازید، می توانید آن را با استفاده از کانال API ایجاد کنید. برای شروع، یکی از کانال های زیر را انتخاب کنید."
+ "DESC": "Chatwoot از ویجت های چت زنده، فیس بوک مسنجر، پروفایل های توییتر، واتساپ، ایمیل ها و غیره به عنوان کانال پشتیبانی می کند. اگر می خواهید یک کانال سفارشی بسازید، می توانید آن را با استفاده از کانال API ایجاد کنید. برای شروع، یکی از کانال های زیر را انتخاب کنید.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "وب سایت",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "فیسبوک",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "ایمیل",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "ایجنت ها",
@@ -477,7 +522,10 @@
"MESSAGE": "حالا از طریق این کانال جدید میتوانید با مشتریان صحبت کنید. به امید موفقیت",
"BUTTON_TEXT": "نشانم بده",
"MORE_SETTINGS": "تنظیمات بیشتر",
- "WEBSITE_SUCCESS": "ساختن کانال وب سایت با موفقیت انجام شد. قطعه کد زیر را کپی کرده و در سایت خود قرار دهید. در صورتیکه مشتری از ویجت پشتیبانی آنلاین استفاده کند گفتگوی شما در این صندوق ورودی ظاهر میشود."
+ "WEBSITE_SUCCESS": "ساختن کانال وب سایت با موفقیت انجام شد. قطعه کد زیر را کپی کرده و در سایت خود قرار دهید. در صورتیکه مشتری از ویجت پشتیبانی آنلاین استفاده کند گفتگوی شما در این صندوق ورودی ظاهر میشود.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "احراز هویت مجدد",
"VIEW": "نمایش",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "مایکروسافت",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "سایر ارائه دهندگان"
+ "MICROSOFT": {
+ "TITLE": "مایکروسافت",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "سایر ارائه دهندگان",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/fa/integrations.json b/app/javascript/dashboard/i18n/locale/fa/integrations.json
index 18c95d245..387f44548 100644
--- a/app/javascript/dashboard/i18n/locale/fa/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/fa/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/fa/settings.json b/app/javascript/dashboard/i18n/locale/fa/settings.json
index a41a39890..32f54fdfe 100644
--- a/app/javascript/dashboard/i18n/locale/fa/settings.json
+++ b/app/javascript/dashboard/i18n/locale/fa/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/fi/contact.json b/app/javascript/dashboard/i18n/locale/fi/contact.json
index 969c21162..d12b53b9f 100644
--- a/app/javascript/dashboard/i18n/locale/fi/contact.json
+++ b/app/javascript/dashboard/i18n/locale/fi/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP-osoite",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Uusi viesti",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Tähän yhteystietoon ei liity aikaisempia keskusteluja.",
"TITLE": "Edelliset keskustelut"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Lähetä viesti"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Mene takaisin",
+ "SEND_MESSAGE": "Lähetä viesti"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/fi/contactFilters.json b/app/javascript/dashboard/i18n/locale/fi/contactFilters.json
index ff4f63919..1455520ce 100644
--- a/app/javascript/dashboard/i18n/locale/fi/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/fi/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Tunnisteet"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/fi/contentTemplates.json b/app/javascript/dashboard/i18n/locale/fi/contentTemplates.json
new file mode 100644
index 000000000..d9509a6a6
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/fi/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Etsi Pohjia",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Muuttujat",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Mene Takaisin",
+ "SEND_MESSAGE_LABEL": "Lähetä Viesti",
+ "FORM_ERROR_MESSAGE": "Täytä kaikki muuttujat ennen lähettämistä",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Takaisin",
+ "SEND_MESSAGE_BUTTON": "Lähetä Viesti"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/fi/conversation.json b/app/javascript/dashboard/i18n/locale/fi/conversation.json
index 0d18260ef..cb581498b 100644
--- a/app/javascript/dashboard/i18n/locale/fi/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/fi/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Tätä keskustelua ei ole määritetty sinulle. Haluatko siirtää tämän keskustelun itsellesi?",
"ASSIGN_TO_ME": "Siirrä minulle",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24h vastausikkuna",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
index af4621aea..ce1a3edb3 100644
--- a/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fi/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Lähetetään...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Peruuta",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json
index d14c63f1b..4f46c7c89 100644
--- a/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/fi/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot tukee live-chat-widgetejä, Facebook Messenger, WhatsApp, sähköpostit jne. kanavina. Jos haluat rakentaa mukautetun kanavan, voit luoda sen API-kanavalla. Päästäksesi alkuun, valitse jokin kanava alta."
+ "DESC": "Chatwoot tukee live-chat-widgetejä, Facebook Messenger, WhatsApp, sähköpostit jne. kanavina. Jos haluat rakentaa mukautetun kanavan, voit luoda sen API-kanavalla. Päästäksesi alkuun, valitse jokin kanava alta.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Sähköposti",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Edustajat",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Vie minut sinne",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "Olet onnistuneesti lisännyt sivuston chat-widgetin. Kopioi alla näkyvä koodi ja liitä se verkkosivuillesi. Seuraavalla kerralla kun asiakas käyttää live-keskustelua, keskustelu ilmestyy automaattisesti saapuneet-kansioon."
+ "WEBSITE_SUCCESS": "Olet onnistuneesti lisännyt sivuston chat-widgetin. Kopioi alla näkyvä koodi ja liitä se verkkosivuillesi. Seuraavalla kerralla kun asiakas käyttää live-keskustelua, keskustelu ilmestyy automaattisesti saapuneet-kansioon.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Uudelleenvaltuuta",
"VIEW": "Näytä",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/fi/integrations.json b/app/javascript/dashboard/i18n/locale/fi/integrations.json
index 378242517..a696f91af 100644
--- a/app/javascript/dashboard/i18n/locale/fi/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/fi/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/fi/settings.json b/app/javascript/dashboard/i18n/locale/fi/settings.json
index 4647727d3..99faa10bd 100644
--- a/app/javascript/dashboard/i18n/locale/fi/settings.json
+++ b/app/javascript/dashboard/i18n/locale/fi/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/fr/contact.json b/app/javascript/dashboard/i18n/locale/fr/contact.json
index c41f004b0..41daa558d 100644
--- a/app/javascript/dashboard/i18n/locale/fr/contact.json
+++ b/app/javascript/dashboard/i18n/locale/fr/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Adresse IP",
"CREATED_AT_LABEL": "Créé",
"NEW_MESSAGE": "Nouveau message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Il n'y a aucune conversation précédente associée à ce contact.",
"TITLE": "Conversations précédentes"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Envoyer un message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Retour",
+ "SEND_MESSAGE": "Envoyer un message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/fr/contactFilters.json b/app/javascript/dashboard/i18n/locale/fr/contactFilters.json
index d5789e05c..414ea9414 100644
--- a/app/javascript/dashboard/i18n/locale/fr/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/fr/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Créé le",
"LAST_ACTIVITY": "Dernière activité",
"REFERER_LINK": "Lien de référence",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Étiquettes"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtres standards",
diff --git a/app/javascript/dashboard/i18n/locale/fr/contentTemplates.json b/app/javascript/dashboard/i18n/locale/fr/contentTemplates.json
new file mode 100644
index 000000000..208e741ea
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/fr/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Rechercher des modèles",
+ "NO_TEMPLATES_FOUND": "Aucun modèle trouvé pour",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Catégorie",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Langue",
+ "TEMPLATE_BODY": "Corps du modèle",
+ "CATEGORY": "Catégorie"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Texte"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Langue",
+ "CATEGORY": "Catégorie",
+ "VARIABLE_PLACEHOLDER": "Entrez la valeur de {variable}",
+ "GO_BACK_LABEL": "Retour",
+ "SEND_MESSAGE_LABEL": "Envoyer un message",
+ "FORM_ERROR_MESSAGE": "Veuillez remplir toutes les variables avant d'envoyer",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Précédent",
+ "SEND_MESSAGE_BUTTON": "Envoyer un message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/fr/conversation.json b/app/javascript/dashboard/i18n/locale/fr/conversation.json
index e9057cb6e..d478d3485 100644
--- a/app/javascript/dashboard/i18n/locale/fr/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/fr/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Vous ne pouvez répondre à cette conversation que dans un délai de {hours} heures",
"NOT_ASSIGNED_TO_YOU": "Cette conversation ne vous est pas assignée. Voulez-vous vous assigner cette conversation ?",
"ASSIGN_TO_ME": "M’assigner la conversation",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Vous pouvez seulement répondre à cette conversation en utilisant un modèle de message en raison de",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restriction de fenêtre de message de 24 heures",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Ce compte Instagram a été migré vers la nouvelle boîte de réception du canal Instagram. Tous les nouveaux messages y apparaîtront. Vous ne pourrez plus envoyer de messages depuis cette conversation.",
@@ -315,7 +320,7 @@
"CONTACT_ATTRIBUTES": "Attributs du contact",
"PREVIOUS_CONVERSATION": "Conversations précédentes",
"MACROS": "Macros",
- "LINEAR_ISSUES": "Linked Linear Issues",
+ "LINEAR_ISSUES": "Problèmes Linear liés",
"SHOPIFY_ORDERS": "Shopify Orders"
},
"SHOPIFY": {
diff --git a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
index fb49a6786..729da9d28 100644
--- a/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/fr/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Téléversement...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Annuler",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Génération en cours...",
+ "CONFIRM_DELETE": "Êtes-vous sûr de vouloir supprimer {filename} ?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Terminé",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json
index 85bec42c6..99edac544 100644
--- a/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/fr/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Secret de la clé API",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choisir un canal",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Site internet",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Courriel",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "Vous pouvez maintenant vous impliquer auprès de vos clients par le biais de votre nouveau canal. Bonne assistance",
"BUTTON_TEXT": "Emmenez-moi là",
"MORE_SETTINGS": "Plus de paramètres",
- "WEBSITE_SUCCESS": "Vous avez terminé avec succès la création d'un canal Web. Copiez le code affiché ci-dessous et collez-le sur votre site web. La prochaine fois qu'un client utilisera le chat en direct, la conversation apparaîtra automatiquement dans votre boîte de réception."
+ "WEBSITE_SUCCESS": "Vous avez terminé avec succès la création d'un canal Web. Copiez le code affiché ci-dessous et collez-le sur votre site web. La prochaine fois qu'un client utilisera le chat en direct, la conversation apparaîtra automatiquement dans votre boîte de réception.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Réautoriser",
"VIEW": "Voir",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Autres fournisseurs"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Autres fournisseurs",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/fr/integrations.json b/app/javascript/dashboard/i18n/locale/fr/integrations.json
index 9ad0fb8fd..238f6027a 100644
--- a/app/javascript/dashboard/i18n/locale/fr/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/fr/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/fr/settings.json b/app/javascript/dashboard/i18n/locale/fr/settings.json
index a66cd9871..96ac90636 100644
--- a/app/javascript/dashboard/i18n/locale/fr/settings.json
+++ b/app/javascript/dashboard/i18n/locale/fr/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/he/contact.json b/app/javascript/dashboard/i18n/locale/he/contact.json
index b18a83ef9..7a5d98cdc 100644
--- a/app/javascript/dashboard/i18n/locale/he/contact.json
+++ b/app/javascript/dashboard/i18n/locale/he/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "כתובת IP",
"CREATED_AT_LABEL": "נוצר",
"NEW_MESSAGE": "הודעה חדשה",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "לא קיימות שיחות קודמות המשויכות לאיש קשר זה.",
"TITLE": "שיחות קודמות"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "שלח הודעה"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "חזור",
+ "SEND_MESSAGE": "שלח הודעה"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/he/contactFilters.json b/app/javascript/dashboard/i18n/locale/he/contactFilters.json
index d135ffe04..b91a602a0 100644
--- a/app/javascript/dashboard/i18n/locale/he/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/he/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "הוקם ב",
"LAST_ACTIVITY": "פעילות אחרונה",
"REFERER_LINK": "קישור מפנה",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "תוויות"
},
"GROUPS": {
"STANDARD_FILTERS": "סננים סטנדרטיים",
diff --git a/app/javascript/dashboard/i18n/locale/he/contentTemplates.json b/app/javascript/dashboard/i18n/locale/he/contentTemplates.json
new file mode 100644
index 000000000..cb297885b
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/he/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "חפש תבניות",
+ "NO_TEMPLATES_FOUND": "לא נמצאו תבניות עבור",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "קטגוריה",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "שפה",
+ "TEMPLATE_BODY": "גוף התבנית",
+ "CATEGORY": "קטגוריה"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "טקסט"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "משתנים",
+ "LANGUAGE": "שפה",
+ "CATEGORY": "קטגוריה",
+ "VARIABLE_PLACEHOLDER": "הזן ערך {variable}",
+ "GO_BACK_LABEL": "חזור",
+ "SEND_MESSAGE_LABEL": "לשלוח הודעה",
+ "FORM_ERROR_MESSAGE": "נא למלא את כל המשתנים לפני השליחה",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "חזור",
+ "SEND_MESSAGE_BUTTON": "לשלוח הודעה"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/he/conversation.json b/app/javascript/dashboard/i18n/locale/he/conversation.json
index 866086a59..507d64074 100644
--- a/app/javascript/dashboard/i18n/locale/he/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/he/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "השיחה לא שייכת לך, האם תרצה לשייך אותה אליך?",
"ASSIGN_TO_ME": "שייך לעצמך",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "אתה יכול להשיב לשיחה זו רק באמצעות הודעת תבנית בשל",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "הגבלת חלון הודעות של 24 שעות",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/he/helpCenter.json b/app/javascript/dashboard/i18n/locale/he/helpCenter.json
index 6e3c181a9..8354fcf41 100644
--- a/app/javascript/dashboard/i18n/locale/he/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/he/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "מעלה...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "ביטול",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "הושלם",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json
index 7f4785f75..90ce617ed 100644
--- a/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/he/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "בחר ערוץ",
- "DESC": "אנו תומכים בווידג'ט של צ'אט חי, עמוד פייסבוק, פרופיל טוויטר, WhatsApp, דוא\"ל וכו', כערוצי תקשורת. אם אתה רוצה לבנות ערוץ מותאם אישית, אתה יכול ליצור אותו באמצעות ערוץ ה-API. בחר ערוץ אחד מהאפשרויות מטה כדי להמשיך."
+ "DESC": "אנו תומכים בווידג'ט של צ'אט חי, עמוד פייסבוק, פרופיל טוויטר, WhatsApp, דוא\"ל וכו', כערוצי תקשורת. אם אתה רוצה לבנות ערוץ מותאם אישית, אתה יכול ליצור אותו באמצעות ערוץ ה-API. בחר ערוץ אחד מהאפשרויות מטה כדי להמשיך.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "פייסבוק",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "אימייל",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "סוכנים",
@@ -477,7 +522,10 @@
"MESSAGE": "כעת תוכל ליצור קשר עם הלקוחות שלך דרך הערוץ החדש שלך. תמיכה שמחה",
"BUTTON_TEXT": "קח אותי לשם",
"MORE_SETTINGS": "הגדרות נוספות",
- "WEBSITE_SUCCESS": "סיימת בהצלחה ליצור ערוץ אתר אינטרנט. העתק את הקוד המוצג למטה והדבק אותו באתר שלך. בפעם הבאה שלקוח ישתמש בצ'אט החי, השיחה תופיע אוטומטית בתיבת הדואר הנכנס שלך."
+ "WEBSITE_SUCCESS": "סיימת בהצלחה ליצור ערוץ אתר אינטרנט. העתק את הקוד המוצג למטה והדבק אותו באתר שלך. בפעם הבאה שלקוח ישתמש בצ'אט החי, השיחה תופיע אוטומטית בתיבת הדואר הנכנס שלך.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "הרשאה מחדש",
"VIEW": "צפה",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "מיקרוסופט",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "ספקים אחרים"
+ "MICROSOFT": {
+ "TITLE": "מיקרוסופט",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "ספקים אחרים",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/he/integrations.json b/app/javascript/dashboard/i18n/locale/he/integrations.json
index 37388725a..aed9c49ec 100644
--- a/app/javascript/dashboard/i18n/locale/he/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/he/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/he/settings.json b/app/javascript/dashboard/i18n/locale/he/settings.json
index 2ce59feeb..d6c5fe90f 100644
--- a/app/javascript/dashboard/i18n/locale/he/settings.json
+++ b/app/javascript/dashboard/i18n/locale/he/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/hi/contact.json b/app/javascript/dashboard/i18n/locale/hi/contact.json
index d50af43d7..89cae2e68 100644
--- a/app/javascript/dashboard/i18n/locale/hi/contact.json
+++ b/app/javascript/dashboard/i18n/locale/hi/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/hi/contactFilters.json b/app/javascript/dashboard/i18n/locale/hi/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/hi/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/hi/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/hi/contentTemplates.json b/app/javascript/dashboard/i18n/locale/hi/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/hi/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/hi/conversation.json b/app/javascript/dashboard/i18n/locale/hi/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/hi/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/hi/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
index 133d87369..e89ef8ba6 100644
--- a/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hi/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json
index a19105738..71acb7248 100644
--- a/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/hi/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/hi/integrations.json b/app/javascript/dashboard/i18n/locale/hi/integrations.json
index cab231d7d..22f2d0c8d 100644
--- a/app/javascript/dashboard/i18n/locale/hi/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/hi/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/hi/settings.json b/app/javascript/dashboard/i18n/locale/hi/settings.json
index 469dfe4ac..98c3f559b 100644
--- a/app/javascript/dashboard/i18n/locale/hi/settings.json
+++ b/app/javascript/dashboard/i18n/locale/hi/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/hr/contact.json b/app/javascript/dashboard/i18n/locale/hr/contact.json
index 01094d599..dcd7a88fe 100644
--- a/app/javascript/dashboard/i18n/locale/hr/contact.json
+++ b/app/javascript/dashboard/i18n/locale/hr/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/hr/contactFilters.json b/app/javascript/dashboard/i18n/locale/hr/contactFilters.json
index cc3ac65e2..7ebd11837 100644
--- a/app/javascript/dashboard/i18n/locale/hr/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/hr/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/hr/contentTemplates.json b/app/javascript/dashboard/i18n/locale/hr/contentTemplates.json
new file mode 100644
index 000000000..d923b0254
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/hr/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Pretraži Predloške",
+ "NO_TEMPLATES_FOUND": "Nije pronađen predložak za",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorija",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Jezik",
+ "TEMPLATE_BODY": "Tijelo predloška",
+ "CATEGORY": "Kategorija"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Varijable",
+ "LANGUAGE": "Jezik",
+ "CATEGORY": "Kategorija",
+ "VARIABLE_PLACEHOLDER": "Unesi {variable} vrijednost",
+ "GO_BACK_LABEL": "Nazad",
+ "SEND_MESSAGE_LABEL": "Šalji poruku",
+ "FORM_ERROR_MESSAGE": "Popuniti sve varijable prije slanja",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Šalji poruku"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/hr/conversation.json b/app/javascript/dashboard/i18n/locale/hr/conversation.json
index 95bbd6f14..fcbf5637b 100644
--- a/app/javascript/dashboard/i18n/locale/hr/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/hr/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
index 68c6c40f1..4c6caa2c1 100644
--- a/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hr/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Prenosim...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Odustani",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generiranje...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json
index 192ee849a..4da22235f 100644
--- a/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/hr/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenti",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/hr/integrations.json b/app/javascript/dashboard/i18n/locale/hr/integrations.json
index 09eb8edaa..63eaf4733 100644
--- a/app/javascript/dashboard/i18n/locale/hr/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/hr/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/hr/settings.json b/app/javascript/dashboard/i18n/locale/hr/settings.json
index e4a5de5a1..03ff834ba 100644
--- a/app/javascript/dashboard/i18n/locale/hr/settings.json
+++ b/app/javascript/dashboard/i18n/locale/hr/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/hu/contact.json b/app/javascript/dashboard/i18n/locale/hu/contact.json
index 5da9fe661..55d5c8271 100644
--- a/app/javascript/dashboard/i18n/locale/hu/contact.json
+++ b/app/javascript/dashboard/i18n/locale/hu/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP cím",
"CREATED_AT_LABEL": "Létrehozva",
"NEW_MESSAGE": "Új üzenet",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Nincs megelőző beszélgetés ezzel a kontakttal.",
"TITLE": "Korábbi beszélgetések"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Üzenet elküldése"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Visszaugrás",
+ "SEND_MESSAGE": "Üzenet elküldése"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/hu/contactFilters.json b/app/javascript/dashboard/i18n/locale/hu/contactFilters.json
index 6838b2a96..d3f6309a2 100644
--- a/app/javascript/dashboard/i18n/locale/hu/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/hu/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Létrehozva",
"LAST_ACTIVITY": "Utolsó aktivitás",
"REFERER_LINK": "Hivatkozás link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Cimkék"
},
"GROUPS": {
"STANDARD_FILTERS": "Alap szűrők",
diff --git a/app/javascript/dashboard/i18n/locale/hu/contentTemplates.json b/app/javascript/dashboard/i18n/locale/hu/contentTemplates.json
new file mode 100644
index 000000000..6a1956151
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/hu/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Sablon keresése",
+ "NO_TEMPLATES_FOUND": "Nem található sablon erre:",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategória",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Nyelv",
+ "TEMPLATE_BODY": "Sablon törzse",
+ "CATEGORY": "Kategória"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Szöveg"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Változók",
+ "LANGUAGE": "Nyelv",
+ "CATEGORY": "Kategória",
+ "VARIABLE_PLACEHOLDER": "Add meg a {variable} értékét",
+ "GO_BACK_LABEL": "Vissza",
+ "SEND_MESSAGE_LABEL": "Üzenet küldése",
+ "FORM_ERROR_MESSAGE": "Kérlek add meg az összes változó értékét küldés előtt",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Vissza",
+ "SEND_MESSAGE_BUTTON": "Üzenet küldése"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/hu/conversation.json b/app/javascript/dashboard/i18n/locale/hu/conversation.json
index 21336a73e..a4bd4ce42 100644
--- a/app/javascript/dashboard/i18n/locale/hu/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/hu/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Ez a beszélgetés nincs hozzádrendelve. Szeretnéd magadhoz rendelni?",
"ASSIGN_TO_ME": "Hozzárendelés magamhoz",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Erre a beszélgetésre csak konzerv válasszal válaszolhatsz, mert",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 órás üzeneti ablak megkötés",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
index dcd6d853c..bda94ffb9 100644
--- a/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hu/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Frissítés...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Mégse",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generálás...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Lezárt",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json
index b348a6903..2de9e79de 100644
--- a/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/hu/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API titkos kulcs",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Csatorna kiválasztása",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Honlap",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Ügynökök",
@@ -477,7 +522,10 @@
"MESSAGE": "Most már tudsz egyeztetni az ügyfeleiddel az új csatornán. Boldog támgoatást",
"BUTTON_TEXT": "Vigyél oda",
"MORE_SETTINGS": "További beállítások",
- "WEBSITE_SUCCESS": "Sikeresen létrehoztad a website csatornát. Másold az itt látható kódot és helyezd el a weboldaladon. Legközelebb, mikor egy ügyfél az élő chatben van, a beszélgetés automatikusan megjelenik az inboxodban."
+ "WEBSITE_SUCCESS": "Sikeresen létrehoztad a website csatornát. Másold az itt látható kódot és helyezd el a weboldaladon. Legközelebb, mikor egy ügyfél az élő chatben van, a beszélgetés automatikusan megjelenik az inboxodban.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Újraengedélyezés",
"VIEW": "Megtekintés",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\nwindow.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "360Dialog",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Más szolgáltató"
+ "MICROSOFT": {
+ "TITLE": "360Dialog",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Más szolgáltató",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/hu/integrations.json b/app/javascript/dashboard/i18n/locale/hu/integrations.json
index 33904dde3..615e1b308 100644
--- a/app/javascript/dashboard/i18n/locale/hu/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/hu/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/hu/settings.json b/app/javascript/dashboard/i18n/locale/hu/settings.json
index ebba10ced..41dd9b73e 100644
--- a/app/javascript/dashboard/i18n/locale/hu/settings.json
+++ b/app/javascript/dashboard/i18n/locale/hu/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/hy/contact.json b/app/javascript/dashboard/i18n/locale/hy/contact.json
index b4bb1c13a..b147164ec 100644
--- a/app/javascript/dashboard/i18n/locale/hy/contact.json
+++ b/app/javascript/dashboard/i18n/locale/hy/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/hy/contactFilters.json b/app/javascript/dashboard/i18n/locale/hy/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/hy/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/hy/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/hy/contentTemplates.json b/app/javascript/dashboard/i18n/locale/hy/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/hy/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/hy/conversation.json b/app/javascript/dashboard/i18n/locale/hy/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/hy/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/hy/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/hy/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json
index 585e5c510..d90de2e0b 100644
--- a/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/hy/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/hy/integrations.json b/app/javascript/dashboard/i18n/locale/hy/integrations.json
index f0c7abbd3..727ee453a 100644
--- a/app/javascript/dashboard/i18n/locale/hy/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/hy/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/hy/settings.json b/app/javascript/dashboard/i18n/locale/hy/settings.json
index fde198c92..d547538db 100644
--- a/app/javascript/dashboard/i18n/locale/hy/settings.json
+++ b/app/javascript/dashboard/i18n/locale/hy/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/id/contact.json b/app/javascript/dashboard/i18n/locale/id/contact.json
index 212bde087..14e25926f 100644
--- a/app/javascript/dashboard/i18n/locale/id/contact.json
+++ b/app/javascript/dashboard/i18n/locale/id/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Alamat IP",
"CREATED_AT_LABEL": "Dibuat",
"NEW_MESSAGE": "Pesan baru",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Tidak ada percakapan sebelumnya yang terkait dengan kontak ini.",
"TITLE": "Percakapan Sebelumnya"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Kirim Pesan"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Kembali",
+ "SEND_MESSAGE": "Kirim Pesan"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/id/contactFilters.json b/app/javascript/dashboard/i18n/locale/id/contactFilters.json
index 202e264c6..8360a0639 100644
--- a/app/javascript/dashboard/i18n/locale/id/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/id/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Dibuat pada",
"LAST_ACTIVITY": "Aktivitas Terakhir",
"REFERER_LINK": "Tautan Referrer",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Label"
},
"GROUPS": {
"STANDARD_FILTERS": "Filter Standar",
diff --git a/app/javascript/dashboard/i18n/locale/id/contentTemplates.json b/app/javascript/dashboard/i18n/locale/id/contentTemplates.json
new file mode 100644
index 000000000..82385d2de
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/id/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Cari Templat",
+ "NO_TEMPLATES_FOUND": "Tidak ditemukan templat untuk",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategori",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Bahasa",
+ "TEMPLATE_BODY": "Isi Templat",
+ "CATEGORY": "Kategori"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Teks"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variabel",
+ "LANGUAGE": "Bahasa",
+ "CATEGORY": "Kategori",
+ "VARIABLE_PLACEHOLDER": "Masukkan nilai {variable}",
+ "GO_BACK_LABEL": "Kembali",
+ "SEND_MESSAGE_LABEL": "Kirim Pesan",
+ "FORM_ERROR_MESSAGE": "Harap isi semua variabel sebelum mengirim",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Kembali",
+ "SEND_MESSAGE_BUTTON": "Kirim Pesan"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/id/conversation.json b/app/javascript/dashboard/i18n/locale/id/conversation.json
index 3b5b1eaa4..c5ea0097e 100644
--- a/app/javascript/dashboard/i18n/locale/id/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/id/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Percakapan ini tidak ditugaskan kepada Anda. Apakah Anda ingin menugaskan percakapan ini kepada diri Anda?",
"ASSIGN_TO_ME": "Tugaskan kepada saya",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Anda hanya dapat membalas percakapan ini menggunakan pesan template karena",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Pembatasan jendela pesan 24 jam",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/id/helpCenter.json b/app/javascript/dashboard/i18n/locale/id/helpCenter.json
index c063f8900..b89166931 100644
--- a/app/javascript/dashboard/i18n/locale/id/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/id/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Mengunggah...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Batalkan",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Menghasilkan...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Selesai",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json
index 2c0f9ba33..a50bde604 100644
--- a/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/id/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Pilih sebuah channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agen",
@@ -477,7 +522,10 @@
"MESSAGE": "Anda sekarang dapat menangani pelanggan Anda melalui Channel baru Anda. Selamat mendukung",
"BUTTON_TEXT": "Pergi ke Kotak Masuk",
"MORE_SETTINGS": "Pengaturan lebih lengkap",
- "WEBSITE_SUCCESS": "Anda telah berhasil menyelesaikan pembuatan channel website. Salin kode yang ditunjukkan di bawah ini dan tempelkan di website Anda. Saat pelanggan menggunakan live chat, percakapan tersebut secara otomatis akan muncul di kotak masuk Anda."
+ "WEBSITE_SUCCESS": "Anda telah berhasil menyelesaikan pembuatan channel website. Salin kode yang ditunjukkan di bawah ini dan tempelkan di website Anda. Saat pelanggan menggunakan live chat, percakapan tersebut secara otomatis akan muncul di kotak masuk Anda.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Otorisasi ulang",
"VIEW": "Lihat",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Penyedia Lain"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Penyedia Lain",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/id/integrations.json b/app/javascript/dashboard/i18n/locale/id/integrations.json
index 98e186693..370f6776c 100644
--- a/app/javascript/dashboard/i18n/locale/id/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/id/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/id/settings.json b/app/javascript/dashboard/i18n/locale/id/settings.json
index db6fa1002..916b9cc6e 100644
--- a/app/javascript/dashboard/i18n/locale/id/settings.json
+++ b/app/javascript/dashboard/i18n/locale/id/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/is/contact.json b/app/javascript/dashboard/i18n/locale/is/contact.json
index de2b1fdb5..4317dad6b 100644
--- a/app/javascript/dashboard/i18n/locale/is/contact.json
+++ b/app/javascript/dashboard/i18n/locale/is/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP tala",
"CREATED_AT_LABEL": "Skráð",
"NEW_MESSAGE": "Ný skilaboð",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Engin fyrri samtöl eru tengd þessum tengilið.",
"TITLE": "Fyrri samtöl"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Senda skilaboð"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Senda skilaboð"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/is/contactFilters.json b/app/javascript/dashboard/i18n/locale/is/contactFilters.json
index f78ec4906..3231afa4c 100644
--- a/app/javascript/dashboard/i18n/locale/is/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/is/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Seinasta virkni",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/is/contentTemplates.json b/app/javascript/dashboard/i18n/locale/is/contentTemplates.json
new file mode 100644
index 000000000..ce5ab5aad
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/is/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Til baka",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/is/conversation.json b/app/javascript/dashboard/i18n/locale/is/conversation.json
index ba6ff5c9d..fddb11d67 100644
--- a/app/javascript/dashboard/i18n/locale/is/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/is/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Þetta samtal er ekki úthlutað á þig. Viltu úthluta þessu samtali á þig?",
"ASSIGN_TO_ME": "Úthluta á mig",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Þú getur aðeins svarað þessu samtali með því að nota sniðmátskilaboð vegna þess að",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/is/helpCenter.json b/app/javascript/dashboard/i18n/locale/is/helpCenter.json
index 02e72d4f9..fab30388a 100644
--- a/app/javascript/dashboard/i18n/locale/is/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/is/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Hleður upp...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Hætta við",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json
index 6521bbc3e..03d7bbd50 100644
--- a/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/is/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Veldu rás",
- "DESC": "Chatwoot styður vefspjall, Facebook Messenger, Twitter prófíla, WhatsApp, tölvupóst osfrv., Sem rásir. Ef þú vilt búa til sérsniðna rás geturðu búið hana til með því að nota API rásina. Til að byrja skaltu velja eina af rásunum hér að neðan."
+ "DESC": "Chatwoot styður vefspjall, Facebook Messenger, Twitter prófíla, WhatsApp, tölvupóst osfrv., Sem rásir. Ef þú vilt búa til sérsniðna rás geturðu búið hana til með því að nota API rásina. Til að byrja skaltu velja eina af rásunum hér að neðan.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Tölvupóstfang",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Þjónustufulltrúar",
@@ -477,7 +522,10 @@
"MESSAGE": "Þú getur nú átt samskipti við viðskiptavini þína í gegnum nýju rásina þína. Gangi þér vel við þjónustuna",
"BUTTON_TEXT": "Taktu mig þangað",
"MORE_SETTINGS": "Fleiri stillingar",
- "WEBSITE_SUCCESS": "Þú hefur lokið við að búa til vefsíðurás. Afritaðu kóðann sem sýndur er hér að neðan og límdu hann á vefsíðuna þína. Næst þegar viðskiptavinur notar spjallið birtist samtalið sjálfkrafa í innhólfinu þínu."
+ "WEBSITE_SUCCESS": "Þú hefur lokið við að búa til vefsíðurás. Afritaðu kóðann sem sýndur er hér að neðan og límdu hann á vefsíðuna þína. Næst þegar viðskiptavinur notar spjallið birtist samtalið sjálfkrafa í innhólfinu þínu.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Endurauðkenna",
"VIEW": "Skoða",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/is/integrations.json b/app/javascript/dashboard/i18n/locale/is/integrations.json
index 620ce70cf..78b3eb992 100644
--- a/app/javascript/dashboard/i18n/locale/is/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/is/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/is/settings.json b/app/javascript/dashboard/i18n/locale/is/settings.json
index 0b5a3a08c..380695607 100644
--- a/app/javascript/dashboard/i18n/locale/is/settings.json
+++ b/app/javascript/dashboard/i18n/locale/is/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/it/contact.json b/app/javascript/dashboard/i18n/locale/it/contact.json
index 7acdb3426..e8d127c37 100644
--- a/app/javascript/dashboard/i18n/locale/it/contact.json
+++ b/app/javascript/dashboard/i18n/locale/it/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Indirizzo IP",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Nuovo messaggio",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Non ci sono precedenti conversazioni associate a questo contatto.",
"TITLE": "Conversazioni precedenti"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Invia messaggio"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Torna indietro",
+ "SEND_MESSAGE": "Invia messaggio"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/it/contactFilters.json b/app/javascript/dashboard/i18n/locale/it/contactFilters.json
index 5ff43bcaa..df937f137 100644
--- a/app/javascript/dashboard/i18n/locale/it/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/it/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Creato il",
"LAST_ACTIVITY": "Ultima attività",
"REFERER_LINK": "Link di riferimento",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etichette"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtri standard",
diff --git a/app/javascript/dashboard/i18n/locale/it/contentTemplates.json b/app/javascript/dashboard/i18n/locale/it/contentTemplates.json
new file mode 100644
index 000000000..f67da5e73
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/it/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Cerca modelli",
+ "NO_TEMPLATES_FOUND": "Nessun modello trovato per",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categoria",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Lingua",
+ "TEMPLATE_BODY": "Corpo modello",
+ "CATEGORY": "Categoria"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Testo"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variabili",
+ "LANGUAGE": "Lingua",
+ "CATEGORY": "Categoria",
+ "VARIABLE_PLACEHOLDER": "Inserisci il valore di {variable}",
+ "GO_BACK_LABEL": "Torna indietro",
+ "SEND_MESSAGE_LABEL": "Invia messaggio",
+ "FORM_ERROR_MESSAGE": "Si prega di compilare tutte le variabili prima di inviare",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Indietro",
+ "SEND_MESSAGE_BUTTON": "Invia messaggio"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/it/conversation.json b/app/javascript/dashboard/i18n/locale/it/conversation.json
index 5cf0c76e1..14f51f7d8 100644
--- a/app/javascript/dashboard/i18n/locale/it/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/it/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Puoi rispondere a questa conversazione solo entro {hours} ore",
"NOT_ASSIGNED_TO_YOU": "Questa conversazione non è assegnata. Vuoi assegnare questa conversazione a te stesso?",
"ASSIGN_TO_ME": "Assegna a me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "È possibile rispondere a questa conversazione solo utilizzando un messaggio modello a causa di",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restrizione della finestra del messaggio a 24 ore",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Questo account Instagram è stato migrato alla nuova casella di posta del canale Instagram. Tutti i nuovi messaggi verranno visualizzati lì. Non sarà più possibile inviare messaggi da questa conversazione.",
diff --git a/app/javascript/dashboard/i18n/locale/it/helpCenter.json b/app/javascript/dashboard/i18n/locale/it/helpCenter.json
index 9adeee19f..9eb0ee049 100644
--- a/app/javascript/dashboard/i18n/locale/it/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/it/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Caricamento...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "annulla",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completato",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json
index 3cf0220c2..2d817e877 100644
--- a/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/it/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Inserisci il tuo API Key Secret Twilio",
"REQUIRED": "API Key Secret richiesto"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Scegli un canale",
- "DESC": "Chatwoot supporta i widget di chat live, Facebook Messenger, profili Twitter, WhatsApp, Email, ecc., come canali. Se vuoi costruire un canale personalizzato, puoi crearlo usando il canale API. Per iniziare, scegli uno dei canali qui sotto."
+ "DESC": "Chatwoot supporta i widget di chat live, Facebook Messenger, profili Twitter, WhatsApp, Email, ecc., come canali. Se vuoi costruire un canale personalizzato, puoi crearlo usando il canale API. Per iniziare, scegli uno dei canali qui sotto.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenti",
@@ -477,7 +522,10 @@
"MESSAGE": "Ora puoi interagire con i tuoi clienti attraverso il nuovo canale. Buona assistenza",
"BUTTON_TEXT": "Portami lì",
"MORE_SETTINGS": "Altre impostazioni",
- "WEBSITE_SUCCESS": "Hai completato la creazione di un canale sito web. Copia il codice mostrato qui sotto e incollalo sul tuo sito. La prossima volta che un cliente usa la live chat, la conversazione apparirà automaticamente nella tua casella."
+ "WEBSITE_SUCCESS": "Hai completato la creazione di un canale sito web. Copia il codice mostrato qui sotto e incollalo sul tuo sito. La prossima volta che un cliente usa la live chat, la conversazione apparirà automaticamente nella tua casella.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Riautorizza",
"VIEW": "Visualizza",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/it/integrations.json b/app/javascript/dashboard/i18n/locale/it/integrations.json
index 102539b29..615a95d3b 100644
--- a/app/javascript/dashboard/i18n/locale/it/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/it/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/it/settings.json b/app/javascript/dashboard/i18n/locale/it/settings.json
index e8760cba4..443bf1c47 100644
--- a/app/javascript/dashboard/i18n/locale/it/settings.json
+++ b/app/javascript/dashboard/i18n/locale/it/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ja/contact.json b/app/javascript/dashboard/i18n/locale/ja/contact.json
index a37e63f54..bbeb2fb65 100644
--- a/app/javascript/dashboard/i18n/locale/ja/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ja/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IPアドレス",
"CREATED_AT_LABEL": "作成日時",
"NEW_MESSAGE": "新しいメッセージ",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "この連絡先に関連付けられている以前の会話はありません。",
"TITLE": "以前の会話"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "メッセージを送信"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "テンプレートを選択",
+ "SEARCH_PLACEHOLDER": "テンプレートを検索",
+ "EMPTY_STATE": "テンプレートが見つかりません。",
+ "TEMPLATE_PARSER": {
+ "BACK": "戻る",
+ "SEND_MESSAGE": "メッセージを送信"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "破棄",
"SEND": "送信 ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ja/contactFilters.json b/app/javascript/dashboard/i18n/locale/ja/contactFilters.json
index 07679ee78..58a0963ff 100644
--- a/app/javascript/dashboard/i18n/locale/ja/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ja/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "作成日",
"LAST_ACTIVITY": "最終アクティビティ",
"REFERER_LINK": "リファラーリンク",
- "BLOCKED": "ブロック済み"
+ "BLOCKED": "ブロック済み",
+ "LABELS": "ラベル"
},
"GROUPS": {
"STANDARD_FILTERS": "標準フィルター",
diff --git a/app/javascript/dashboard/i18n/locale/ja/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ja/contentTemplates.json
new file mode 100644
index 000000000..2cbbf06de
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ja/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "テンプレートを検索",
+ "NO_TEMPLATES_FOUND": "該当するテンプレートが見つかりません:",
+ "NO_CONTENT": "コンテンツなし",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "カテゴリ",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "言語",
+ "TEMPLATE_BODY": "テンプレート本文",
+ "CATEGORY": "カテゴリ"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "テキスト"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "変数",
+ "LANGUAGE": "言語",
+ "CATEGORY": "カテゴリ",
+ "VARIABLE_PLACEHOLDER": "{variable} の値を入力",
+ "GO_BACK_LABEL": "戻る",
+ "SEND_MESSAGE_LABEL": "メッセージを送信",
+ "FORM_ERROR_MESSAGE": "送信前に全ての変数を入力してください",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "戻る",
+ "SEND_MESSAGE_BUTTON": "メッセージを送信"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ja/conversation.json b/app/javascript/dashboard/i18n/locale/ja/conversation.json
index 7e234c123..c6b250858 100644
--- a/app/javascript/dashboard/i18n/locale/ja/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ja/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "この会話はあなたに割り当てられていません。自分に割り当てますか?",
"ASSIGN_TO_ME": "自分に割り当て",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "この会話にはテンプレートメッセージでしか返信できません。",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24時間以内のメッセージウィンドウの制限",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
index a9a135289..6e56ba2c4 100644
--- a/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ja/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "ポータルを更新できませんでした"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "アップロード中...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "キャンセル",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "生成中...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "完了",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json
index 837c73c13..3b83ba520 100644
--- a/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ja/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "APIキーシークレット",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "チャンネルを選択",
- "DESC": "Chatwootは、ライブチャットウィジェット、Facebook Messenger、Twitterプロフィール、WhatsApp、Eメールなどのチャンネルをサポートしています。カスタムチャンネルを作成したい場合は、APIチャンネルを使用して作成できます。開始するには、以下のチャンネルのいずれかを選択してください。"
+ "DESC": "Chatwootは、ライブチャットウィジェット、Facebook Messenger、Twitterプロフィール、WhatsApp、Eメールなどのチャンネルをサポートしています。カスタムチャンネルを作成したい場合は、APIチャンネルを使用して作成できます。開始するには、以下のチャンネルのいずれかを選択してください。",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "ウェブサイト",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Eメール",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "担当者",
@@ -477,7 +522,10 @@
"MESSAGE": "新しいチャンネルを通じて顧客と交流できます。サポートを楽しんでください",
"BUTTON_TEXT": "受信トレイに移動",
"MORE_SETTINGS": "その他の設定",
- "WEBSITE_SUCCESS": "ウェブサイトチャンネルの作成が正常に完了しました。以下のコードをコピーしてウェブサイトに貼り付けてください。次回、お客様がライブチャットを使用すると、会話は自動的に受信トレイに表示されます。"
+ "WEBSITE_SUCCESS": "ウェブサイトチャンネルの作成が正常に完了しました。以下のコードをコピーしてウェブサイトに貼り付けてください。次回、お客様がライブチャットを使用すると、会話は自動的に受信トレイに表示されます。",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "再認証",
"VIEW": "表示",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ja/integrations.json b/app/javascript/dashboard/i18n/locale/ja/integrations.json
index 65c471f3e..75939d44a 100644
--- a/app/javascript/dashboard/i18n/locale/ja/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ja/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "ドキュメントの作成中にエラーが発生しました。もう一度お試しください。"
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "ドキュメントのURLを入力",
"ERROR": "有効なURLを入力してください"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "アシスタント",
"PLACEHOLDER": "アシスタントを選択",
diff --git a/app/javascript/dashboard/i18n/locale/ja/settings.json b/app/javascript/dashboard/i18n/locale/ja/settings.json
index 914e7cfc3..c938f7793 100644
--- a/app/javascript/dashboard/i18n/locale/ja/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ja/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "外観を変更",
"SUPER_ADMIN_CONSOLE": "SuperAdminコンソール",
"DOCS": "ドキュメントを読む",
+ "CHANGELOG": "Changelog",
"LOGOUT": "ログアウト"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ka/contact.json b/app/javascript/dashboard/i18n/locale/ka/contact.json
index b4bb1c13a..b147164ec 100644
--- a/app/javascript/dashboard/i18n/locale/ka/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ka/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ka/contactFilters.json b/app/javascript/dashboard/i18n/locale/ka/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/ka/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ka/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ka/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ka/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ka/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ka/conversation.json b/app/javascript/dashboard/i18n/locale/ka/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/ka/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ka/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ka/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json
index a19105738..71acb7248 100644
--- a/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ka/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ka/integrations.json b/app/javascript/dashboard/i18n/locale/ka/integrations.json
index f0c7abbd3..727ee453a 100644
--- a/app/javascript/dashboard/i18n/locale/ka/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ka/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ka/settings.json b/app/javascript/dashboard/i18n/locale/ka/settings.json
index 469dfe4ac..98c3f559b 100644
--- a/app/javascript/dashboard/i18n/locale/ka/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ka/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ko/agentBots.json b/app/javascript/dashboard/i18n/locale/ko/agentBots.json
index 86664d128..e07da4507 100644
--- a/app/javascript/dashboard/i18n/locale/ko/agentBots.json
+++ b/app/javascript/dashboard/i18n/locale/ko/agentBots.json
@@ -22,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot"
},
"ADD": {
- "TITLE": "Add Bot",
+ "TITLE": "Agregar Bot",
"CANCEL_BUTTON_TEXT": "취소",
"API": {
"SUCCESS_MESSAGE": "Bot added successfully.",
@@ -30,10 +30,10 @@
}
},
"LIST": {
- "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
+ "404": "Bot no encontrado. Puedes crear uno haciendo click en el botón 'Agregar Bot'.",
"LOADING": "Fetching bots...",
"TABLE_HEADER": {
- "DETAILS": "Bot Details",
+ "DETAILS": "Detalles del Bot",
"URL": "웹훅 URL"
}
},
diff --git a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json
index 15cb28d31..d73b5c8ab 100644
--- a/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ko/agentMgmt.json
@@ -78,7 +78,7 @@
},
"AGENT_AVAILABILITY": {
"LABEL": "유용성",
- "PLACEHOLDER": "",
+ "PLACEHOLDER": "가용성 상태를 선택하세요",
"ERROR": "Availability is required"
},
"SUBMIT": "에이전트 수정"
diff --git a/app/javascript/dashboard/i18n/locale/ko/contact.json b/app/javascript/dashboard/i18n/locale/ko/contact.json
index faaa14ccc..ba15dabee 100644
--- a/app/javascript/dashboard/i18n/locale/ko/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ko/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP 주소",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "새 메시지",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "이 연락처와 관련된 이전 대화가 없습니다.",
"TITLE": "이전 대화"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "메시지 보내기"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "메시지 보내기"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ko/contactFilters.json b/app/javascript/dashboard/i18n/locale/ko/contactFilters.json
index e6c452d61..4ba7ee034 100644
--- a/app/javascript/dashboard/i18n/locale/ko/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ko/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "에 만들어짐",
"LAST_ACTIVITY": "지난 활동",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "라벨"
},
"GROUPS": {
"STANDARD_FILTERS": "기본 필터",
diff --git a/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json
new file mode 100644
index 000000000..913d8b537
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ko/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "언어",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "텍스트"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "언어",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "뒤로",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ko/conversation.json b/app/javascript/dashboard/i18n/locale/ko/conversation.json
index aef2e04e1..83e102572 100644
--- a/app/javascript/dashboard/i18n/locale/ko/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ko/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24시간 메시지 창 제한",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
index 6c6057807..ead5dd0eb 100644
--- a/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ko/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "업로드 중...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "취소",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json
index 277e39c0e..afc32dea0 100644
--- a/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ko/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "홈페이지",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "페이스북",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "이메일",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "에이전트",
@@ -477,7 +522,10 @@
"MESSAGE": "이제 새로운 채널을 통해 고객과 대화할 수 있습니다. 행복한 지원",
"BUTTON_TEXT": "나를 그곳으로 데려주세요.",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "웹사이트 채널 만들기를 완료하셨습니다. 아래 표시된 코드를 복사하여 웹사이트에 붙여 넣으십시오. 다음에 고객이 라이브 채팅을 사용할 때 대화는 받은 편지함에 자동으로 표시됩니다."
+ "WEBSITE_SUCCESS": "웹사이트 채널 만들기를 완료하셨습니다. 아래 표시된 코드를 복사하여 웹사이트에 붙여 넣으십시오. 다음에 고객이 라이브 채팅을 사용할 때 대화는 받은 편지함에 자동으로 표시됩니다.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "재승인",
"VIEW": "보기",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ko/integrations.json b/app/javascript/dashboard/i18n/locale/ko/integrations.json
index e5935505e..114f77c6e 100644
--- a/app/javascript/dashboard/i18n/locale/ko/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ko/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ko/settings.json b/app/javascript/dashboard/i18n/locale/ko/settings.json
index e2e8f1231..2dcbcd532 100644
--- a/app/javascript/dashboard/i18n/locale/ko/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ko/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/lt/contact.json b/app/javascript/dashboard/i18n/locale/lt/contact.json
index 305f66b23..f449e741f 100644
--- a/app/javascript/dashboard/i18n/locale/lt/contact.json
+++ b/app/javascript/dashboard/i18n/locale/lt/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Adresas",
"CREATED_AT_LABEL": "Sukurta",
"NEW_MESSAGE": "Naujas pranešimas",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Su šiuo kontaktu nėra susietų ankstesnių pokalbių.",
"TITLE": "Ankstesni pokalbiai"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Išsiųsti pranešimą"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Grįžti",
+ "SEND_MESSAGE": "Išsiųsti pranešimą"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/lt/contactFilters.json b/app/javascript/dashboard/i18n/locale/lt/contactFilters.json
index ddd031c73..75f48b586 100644
--- a/app/javascript/dashboard/i18n/locale/lt/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/lt/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Sukūrimo data",
"LAST_ACTIVITY": "Paskutiniai veiksmai",
"REFERER_LINK": "Rekomendacijos nuoroda",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etiketės"
},
"GROUPS": {
"STANDARD_FILTERS": "Standartinis Filtras",
diff --git a/app/javascript/dashboard/i18n/locale/lt/contentTemplates.json b/app/javascript/dashboard/i18n/locale/lt/contentTemplates.json
new file mode 100644
index 000000000..159e33d62
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/lt/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Ieškoti šablonų",
+ "NO_TEMPLATES_FOUND": "Šablonų nerasta",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorija",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Kalba",
+ "TEMPLATE_BODY": "Šablono tekstas",
+ "CATEGORY": "Kategorija"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekstas"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Kintamieji",
+ "LANGUAGE": "Kalba",
+ "CATEGORY": "Kategorija",
+ "VARIABLE_PLACEHOLDER": "Įveskite {variable} reikšmę",
+ "GO_BACK_LABEL": "Grįžti",
+ "SEND_MESSAGE_LABEL": "Išsiųsti pranešimą",
+ "FORM_ERROR_MESSAGE": "Prieš siųsdami užpildykite visus kintamuosius",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Atgal",
+ "SEND_MESSAGE_BUTTON": "Išsiųsti pranešimą"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/lt/conversation.json b/app/javascript/dashboard/i18n/locale/lt/conversation.json
index 79e26b3ad..cd3d7451d 100644
--- a/app/javascript/dashboard/i18n/locale/lt/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/lt/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Šis pokalbis jums nepriskirtas. Ar norėtumėte priskirti šį pokalbį sau?",
"ASSIGN_TO_ME": "Priskirti man",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Į šį pokalbį galite atsakyti tik naudodami šablono pranešimą, nes",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Pranešimų apribojimas 24 valandoms",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
index a90cecbdd..9d41c9e4a 100644
--- a/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/lt/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Įkeliama...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Atšaukti",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Sukurti...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Užbaigta",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json
index 5aed6b37d..071337596 100644
--- a/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/lt/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Pasirinkti Kanalą",
- "DESC": "Chatwoot palaiko tiesioginio pokalbio valdiklius, Facebook Messenger, Twitter profilius, WhatsApp, el. laiškus ir kt. kaip kanalus. Jei norite sukurti personalizuotą kanalą, galite jį sukurti naudodami API kanalą. Norėdami pradėti, pasirinkite vieną iš toliau pateiktų kanalų."
+ "DESC": "Chatwoot palaiko tiesioginio pokalbio valdiklius, Facebook Messenger, Twitter profilius, WhatsApp, el. laiškus ir kt. kaip kanalus. Jei norite sukurti personalizuotą kanalą, galite jį sukurti naudodami API kanalą. Norėdami pradėti, pasirinkite vieną iš toliau pateiktų kanalų.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Internetinis puslapis",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "El. paštas",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agentai",
@@ -477,7 +522,10 @@
"MESSAGE": "Dabar galite bendrauti su klientais naudodami naująjį kanalą. Gero naudojimo",
"BUTTON_TEXT": "Nuvesk mane ten",
"MORE_SETTINGS": "Daugiau nustatymų",
- "WEBSITE_SUCCESS": "Sėkmingai baigėte kurti svetainės kanalą. Nukopijuokite toliau pateiktą kodą ir įdėkite jį į savo svetainę. Kai kitą kartą klientas naudosis tiesioginiu pokalbiu, pokalbis bus automatiškai rodomas jūsų gautų pranešimų aplanke."
+ "WEBSITE_SUCCESS": "Sėkmingai baigėte kurti svetainės kanalą. Nukopijuokite toliau pateiktą kodą ir įdėkite jį į savo svetainę. Kai kitą kartą klientas naudosis tiesioginiu pokalbiu, pokalbis bus automatiškai rodomas jūsų gautų pranešimų aplanke.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Pakartotinai autorizuoti",
"VIEW": "Paržiūra",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Kiti Tiekėjai"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Kiti Tiekėjai",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/lt/integrations.json b/app/javascript/dashboard/i18n/locale/lt/integrations.json
index 81cba5fee..5823d1041 100644
--- a/app/javascript/dashboard/i18n/locale/lt/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/lt/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/lt/settings.json b/app/javascript/dashboard/i18n/locale/lt/settings.json
index 7feed76ec..b80a711de 100644
--- a/app/javascript/dashboard/i18n/locale/lt/settings.json
+++ b/app/javascript/dashboard/i18n/locale/lt/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/lv/contact.json b/app/javascript/dashboard/i18n/locale/lv/contact.json
index 3697015a0..82c483357 100644
--- a/app/javascript/dashboard/i18n/locale/lv/contact.json
+++ b/app/javascript/dashboard/i18n/locale/lv/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP adrese",
"CREATED_AT_LABEL": "Izveidots",
"NEW_MESSAGE": "Jauns ziņojums",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Ar šo kontaktpersonu nav saistītas iepriekšējās sarunas.",
"TITLE": "Iepriekšējās Sarunas"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Sūtīt ziņojumu"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Izvēlieties veidni",
+ "SEARCH_PLACEHOLDER": "Meklēt veidnes",
+ "EMPTY_STATE": "Nav atrasta neviena veidne",
+ "TEMPLATE_PARSER": {
+ "BACK": "Atgriezties",
+ "SEND_MESSAGE": "Sūtīt ziņojumu"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Izmest",
"SEND": "Sūtīt ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/lv/contactFilters.json b/app/javascript/dashboard/i18n/locale/lv/contactFilters.json
index cbe1d9604..ebfb7d407 100644
--- a/app/javascript/dashboard/i18n/locale/lv/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/lv/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Izveidots",
"LAST_ACTIVITY": "Pēdējās Darbības",
"REFERER_LINK": "Atsauces sniedzēja saite",
- "BLOCKED": "Bloķēts"
+ "BLOCKED": "Bloķēts",
+ "LABELS": "Etiķetes"
},
"GROUPS": {
"STANDARD_FILTERS": "Standarta Filtri",
diff --git a/app/javascript/dashboard/i18n/locale/lv/contentTemplates.json b/app/javascript/dashboard/i18n/locale/lv/contentTemplates.json
new file mode 100644
index 000000000..b4a712b09
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/lv/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Meklēt Veidnes",
+ "NO_TEMPLATES_FOUND": "Veidnes nav atrastas",
+ "NO_CONTENT": "Nav satura",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorija",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Valoda",
+ "TEMPLATE_BODY": "Veidnes Pamatteksts",
+ "CATEGORY": "Kategorija"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Teksts"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Mainīgie",
+ "LANGUAGE": "Valoda",
+ "CATEGORY": "Kategorija",
+ "VARIABLE_PLACEHOLDER": "Ievadiet {variable} vērtību",
+ "GO_BACK_LABEL": "Atgriezties",
+ "SEND_MESSAGE_LABEL": "Sūtīt Ziņojumu",
+ "FORM_ERROR_MESSAGE": "Lūdzu, pirms nosūtīšanas aizpildiet visus mainīgos",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Atpakaļ",
+ "SEND_MESSAGE_BUTTON": "Sūtīt Ziņojumu"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/lv/conversation.json b/app/javascript/dashboard/i18n/locale/lv/conversation.json
index 634821b17..819402e5a 100644
--- a/app/javascript/dashboard/i18n/locale/lv/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/lv/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Šī saruna nav Jums piešķirta. Vai vēlaties piešķirt šo sarunu sev?",
"ASSIGN_TO_ME": "Piešķirt sev",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Jūs varat atbildēt uz šo sarunu, tikai izmantojot veidnes ziņojumu, jo",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 stundu ziņojuma loga ierobežojums",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
index 3b76723e4..66b3a9808 100644
--- a/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/lv/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Nevar atjaunināt portālu"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Notiek Augšupielāde...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Atcelt",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Notiek ģenerēšana...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Pabeigts",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json
index d7de66c22..93aca6921 100644
--- a/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/lv/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Atslēgas Noslēpums",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Izvēlieties kanālu",
- "DESC": "Chatwoot atbalsta tiešraides tērzēšanas logrīkus, Facebook Messenger, Twitter profilus, WhatsApp, e-pastus kā kanālus. Ja vēlaties izveidot pielāgotu kanālu, varat to izveidot, izmantojot API kanālu. Lai sāktu, izvēlieties vienu no tālāk norādītajiem kanāliem."
+ "DESC": "Chatwoot atbalsta tiešraides tērzēšanas logrīkus, Facebook Messenger, Twitter profilus, WhatsApp, e-pastus kā kanālus. Ja vēlaties izveidot pielāgotu kanālu, varat to izveidot, izmantojot API kanālu. Lai sāktu, izvēlieties vienu no tālāk norādītajiem kanāliem.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Gatavs!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Tīmekļa vietne",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-pasts",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Aģenti",
@@ -477,7 +522,10 @@
"MESSAGE": "Tagad Jūs varat izmantot savu jauno Kanālu lai sazinātos ar saviem klientiem. Priecīgu atbalstīšanu",
"BUTTON_TEXT": "Iet uz",
"MORE_SETTINGS": "Papildu iestatījumi",
- "WEBSITE_SUCCESS": "Jūs esat veiksmīgi pabeidzis tīmekļa vietnes kanāla izveidi. Nokopējiet tālāk redzamo kodu un ievietojiet to savā tīmekļa vietnē. Nākamreiz, kad klients izmantos tiešsaistes tērzēšanu, saruna automātiski tiks parādīta Jūsu iesūtnē."
+ "WEBSITE_SUCCESS": "Jūs esat veiksmīgi pabeidzis tīmekļa vietnes kanāla izveidi. Nokopējiet tālāk redzamo kodu un ievietojiet to savā tīmekļa vietnē. Nākamreiz, kad klients izmantos tiešsaistes tērzēšanu, saruna automātiski tiks parādīta Jūsu iesūtnē.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Atkārtoti autorizēties",
"VIEW": "Apskatīt",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\nwindow.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Citi Pakalpojuma Sniedzēji"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Citi Pakalpojuma Sniedzēji",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/lv/integrations.json b/app/javascript/dashboard/i18n/locale/lv/integrations.json
index b8f109f61..8e4a041b5 100644
--- a/app/javascript/dashboard/i18n/locale/lv/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/lv/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "Veidojot dokumentu, radās kļūda. Lūdzu, mēģiniet vēlreiz."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Ievadiet dokumenta URL",
"ERROR": "Lūdzu, norādiet pareizu dokumenta URL"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Asistents",
"PLACEHOLDER": "Izvēlēties asistentu",
diff --git a/app/javascript/dashboard/i18n/locale/lv/settings.json b/app/javascript/dashboard/i18n/locale/lv/settings.json
index c70aff35c..9caf8de0b 100644
--- a/app/javascript/dashboard/i18n/locale/lv/settings.json
+++ b/app/javascript/dashboard/i18n/locale/lv/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Mainīt izskatu",
"SUPER_ADMIN_CONSOLE": "SuperAdmin konsole",
"DOCS": "Lasīt dokumentāciju",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Izrakstīties"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ml/contact.json b/app/javascript/dashboard/i18n/locale/ml/contact.json
index 0fcc576f1..0acae5317 100644
--- a/app/javascript/dashboard/i18n/locale/ml/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ml/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP വിലാസം",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "പുതിയ സന്ദേശം",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "ഈ കോൺടാക്റ്റുമായി മുമ്പത്തെ സംഭാഷണങ്ങളൊന്നും ബന്ധപ്പെടുത്തിയിട്ടില്ല.",
"TITLE": "മുമ്പത്തെ സംഭാഷണങ്ങൾ"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "സന്ദേശം അയയ്ക്കുക"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "സന്ദേശം അയയ്ക്കുക"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ml/contactFilters.json b/app/javascript/dashboard/i18n/locale/ml/contactFilters.json
index 2f7f281bf..3b89f3a5d 100644
--- a/app/javascript/dashboard/i18n/locale/ml/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ml/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "അവസാന പ്രവർത്തനം",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "ലേബലുകൾ"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ml/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ml/contentTemplates.json
new file mode 100644
index 000000000..5b34d0989
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ml/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "മടങ്ങിപ്പോവുക",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ml/conversation.json b/app/javascript/dashboard/i18n/locale/ml/conversation.json
index 269389e81..b224ba14b 100644
--- a/app/javascript/dashboard/i18n/locale/ml/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ml/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 മണിക്കൂർ സന്ദേശ വിൻഡോ നിയന്ത്രണം",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
index 83e11d51b..ba902e30e 100644
--- a/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ml/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "അപ്ലോഡുചെയ്യുന്നു...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "റദ്ദാക്കുക",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "പൂർത്തിയാക്കി",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json
index d14da0e83..459e76458 100644
--- a/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ml/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "ഇമെയിൽ",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "ഏജന്റുമാർ",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "എന്നെ അവിടേക്ക് കൊണ്ടുപോകുക",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "നിങ്ങൾ ഒരു വെബ്സൈറ്റ് ചാനൽ സൃഷ്ടിക്കുന്നത് വിജയകരമായി പൂർത്തിയാക്കി. ചുവടെ കാണിച്ചിരിക്കുന്ന കോഡ് പകർത്തി നിങ്ങളുടെ വെബ്സൈറ്റിൽ ചേർക്കുക. അടുത്ത തവണ ഒരു ഉപഭോക്താവ് തത്സമയ ചാറ്റ് ഉപയോഗിക്കുമ്പോൾ, സംഭാഷണം ഓട്ടോമാറ്റിക് ആയി നിങ്ങളുടെ ഇൻബോക്സിൽ ദൃശ്യമാകും."
+ "WEBSITE_SUCCESS": "നിങ്ങൾ ഒരു വെബ്സൈറ്റ് ചാനൽ സൃഷ്ടിക്കുന്നത് വിജയകരമായി പൂർത്തിയാക്കി. ചുവടെ കാണിച്ചിരിക്കുന്ന കോഡ് പകർത്തി നിങ്ങളുടെ വെബ്സൈറ്റിൽ ചേർക്കുക. അടുത്ത തവണ ഒരു ഉപഭോക്താവ് തത്സമയ ചാറ്റ് ഉപയോഗിക്കുമ്പോൾ, സംഭാഷണം ഓട്ടോമാറ്റിക് ആയി നിങ്ങളുടെ ഇൻബോക്സിൽ ദൃശ്യമാകും.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "വീണ്ടും അംഗീകാരം നൽകുക",
"VIEW": "കാണുക",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ml/integrations.json b/app/javascript/dashboard/i18n/locale/ml/integrations.json
index f375f9ff2..d23bfba35 100644
--- a/app/javascript/dashboard/i18n/locale/ml/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ml/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ml/settings.json b/app/javascript/dashboard/i18n/locale/ml/settings.json
index 4d6727f21..cd7eaaa4b 100644
--- a/app/javascript/dashboard/i18n/locale/ml/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ml/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ms/contact.json b/app/javascript/dashboard/i18n/locale/ms/contact.json
index 6373a8987..ce68540a7 100644
--- a/app/javascript/dashboard/i18n/locale/ms/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ms/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ms/contactFilters.json b/app/javascript/dashboard/i18n/locale/ms/contactFilters.json
index 63015071d..8bf0cb5fa 100644
--- a/app/javascript/dashboard/i18n/locale/ms/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ms/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Dicipta Pada",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Penapis Standard",
diff --git a/app/javascript/dashboard/i18n/locale/ms/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ms/contentTemplates.json
new file mode 100644
index 000000000..5368e202c
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ms/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Teks"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ms/conversation.json b/app/javascript/dashboard/i18n/locale/ms/conversation.json
index b1d271e8a..e8d7d8bab 100644
--- a/app/javascript/dashboard/i18n/locale/ms/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ms/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
index f6d9bd45e..3df9b6425 100644
--- a/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ms/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Batalkan",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json
index 46f46ece6..14dc675f1 100644
--- a/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ms/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Ejen",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ms/integrations.json b/app/javascript/dashboard/i18n/locale/ms/integrations.json
index cb2c4a677..cd2ff32e7 100644
--- a/app/javascript/dashboard/i18n/locale/ms/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ms/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ms/settings.json b/app/javascript/dashboard/i18n/locale/ms/settings.json
index 327fc9603..386fddf66 100644
--- a/app/javascript/dashboard/i18n/locale/ms/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ms/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ne/contact.json b/app/javascript/dashboard/i18n/locale/ne/contact.json
index ecf2e17ac..793bb8ae2 100644
--- a/app/javascript/dashboard/i18n/locale/ne/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ne/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ne/contactFilters.json b/app/javascript/dashboard/i18n/locale/ne/contactFilters.json
index e74d50ff0..4cc1fe59b 100644
--- a/app/javascript/dashboard/i18n/locale/ne/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ne/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ne/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ne/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ne/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ne/conversation.json b/app/javascript/dashboard/i18n/locale/ne/conversation.json
index fb4db1116..19601f8f3 100644
--- a/app/javascript/dashboard/i18n/locale/ne/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ne/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
index 2e8a9ba7d..d2c646153 100644
--- a/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ne/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "अपलोड गर्दै...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json
index f53e031d8..b2a02c141 100644
--- a/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ne/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ne/integrations.json b/app/javascript/dashboard/i18n/locale/ne/integrations.json
index 56a6766fc..49835419b 100644
--- a/app/javascript/dashboard/i18n/locale/ne/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ne/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ne/settings.json b/app/javascript/dashboard/i18n/locale/ne/settings.json
index 755426999..22ea8edd8 100644
--- a/app/javascript/dashboard/i18n/locale/ne/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ne/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/nl/contact.json b/app/javascript/dashboard/i18n/locale/nl/contact.json
index 1939b63b5..6d8c8336a 100644
--- a/app/javascript/dashboard/i18n/locale/nl/contact.json
+++ b/app/javascript/dashboard/i18n/locale/nl/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP-adres",
"CREATED_AT_LABEL": "Aangemaakt op",
"NEW_MESSAGE": "Nieuw bericht",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Er zijn geen eerdere gesprekken gekoppeld aan dit contact.",
"TITLE": "Vorige gesprekken"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Verstuur bericht"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Ga terug",
+ "SEND_MESSAGE": "Verstuur bericht"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/nl/contactFilters.json b/app/javascript/dashboard/i18n/locale/nl/contactFilters.json
index 8c677edf1..e3666f260 100644
--- a/app/javascript/dashboard/i18n/locale/nl/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/nl/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Aangemaakt op",
"LAST_ACTIVITY": "Laatste Activiteit",
"REFERER_LINK": "Verwijzer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labelen"
},
"GROUPS": {
"STANDARD_FILTERS": "Standaard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/nl/contentTemplates.json b/app/javascript/dashboard/i18n/locale/nl/contentTemplates.json
new file mode 100644
index 000000000..95c2b64ee
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/nl/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Templates zoeken",
+ "NO_TEMPLATES_FOUND": "Geen templates gevonden voor",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categorie",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Taal",
+ "TEMPLATE_BODY": "Template bericht",
+ "CATEGORY": "Categorie"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variabelen",
+ "LANGUAGE": "Taal",
+ "CATEGORY": "Categorie",
+ "VARIABLE_PLACEHOLDER": "Voer {variable} waarde in",
+ "GO_BACK_LABEL": "Ga terug",
+ "SEND_MESSAGE_LABEL": "Verstuur bericht",
+ "FORM_ERROR_MESSAGE": "Vul alstublieft alle variabelen in voordat u deze verzendt",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Terug",
+ "SEND_MESSAGE_BUTTON": "Verstuur bericht"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/nl/conversation.json b/app/javascript/dashboard/i18n/locale/nl/conversation.json
index 42d40749a..b4c9f07d1 100644
--- a/app/javascript/dashboard/i18n/locale/nl/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/nl/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Dit gesprek is niet aan je toegewezen. Wil je dit gesprek aan jezelf toewijzen?",
"ASSIGN_TO_ME": "Aan mij toewijzen",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Je kunt dit gesprek alleen beantwoorden met een sjabloon bericht vanwege",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Beperking van 24-uur berichtenvenster",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
index 22b503b2b..57cec91ad 100644
--- a/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/nl/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploaden...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Annuleren",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Genereren...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json
index fbc9511db..3b3cd3308 100644
--- a/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/nl/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Kies een kanaal",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mailadres",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenten",
@@ -477,7 +522,10 @@
"MESSAGE": "Je kunt nu contact opnemen met je klanten via het nieuwe Kanaal. Gelukkige ondersteuning",
"BUTTON_TEXT": "Breng me ernaar toe",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "Het aanmaken van een website kanaal is gelukt. Kopieer de code hieronder weergegeven en plak deze op uw website. De volgende keer dat een klant de live chat gebruikt, verschijnt het gesprek automatisch op uw inbox."
+ "WEBSITE_SUCCESS": "Het aanmaken van een website kanaal is gelukt. Kopieer de code hieronder weergegeven en plak deze op uw website. De volgende keer dat een klant de live chat gebruikt, verschijnt het gesprek automatisch op uw inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Autoriseer",
"VIEW": "Bekijken",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/nl/integrations.json b/app/javascript/dashboard/i18n/locale/nl/integrations.json
index cecc6fac0..e789632e8 100644
--- a/app/javascript/dashboard/i18n/locale/nl/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/nl/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/nl/settings.json b/app/javascript/dashboard/i18n/locale/nl/settings.json
index 8471e6e88..98ac5535b 100644
--- a/app/javascript/dashboard/i18n/locale/nl/settings.json
+++ b/app/javascript/dashboard/i18n/locale/nl/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/no/contact.json b/app/javascript/dashboard/i18n/locale/no/contact.json
index fccb77206..d7df11e1a 100644
--- a/app/javascript/dashboard/i18n/locale/no/contact.json
+++ b/app/javascript/dashboard/i18n/locale/no/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Adresse",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Det er ingen tidligere samtaler knyttet til denne kontakten.",
"TITLE": "Tidligere samtaler"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/no/contactFilters.json b/app/javascript/dashboard/i18n/locale/no/contactFilters.json
index ea34b19ec..028a0a71c 100644
--- a/app/javascript/dashboard/i18n/locale/no/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/no/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etiketter"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/no/contentTemplates.json b/app/javascript/dashboard/i18n/locale/no/contentTemplates.json
new file mode 100644
index 000000000..e754b6a7c
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/no/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "Ingen innhold",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Tilbake",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/no/conversation.json b/app/javascript/dashboard/i18n/locale/no/conversation.json
index f5b59e7ed..a4a46a90b 100644
--- a/app/javascript/dashboard/i18n/locale/no/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/no/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-timers meldingsrestriksjon",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/no/helpCenter.json b/app/javascript/dashboard/i18n/locale/no/helpCenter.json
index 736bb0e23..6494f7875 100644
--- a/app/javascript/dashboard/i18n/locale/no/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/no/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Laster opp...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Avbryt",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json
index 1f5826078..7a15e9077 100644
--- a/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/no/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-post",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenter",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Ta meg dit",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "Du har nå fullført opprettingen av nettstedskanalen. Kopier koden nedenfor og lim den inn på nettstedet. Neste gang en kunde bruker live-chatten vil samtalen vises automatisk i innboksen din."
+ "WEBSITE_SUCCESS": "Du har nå fullført opprettingen av nettstedskanalen. Kopier koden nedenfor og lim den inn på nettstedet. Neste gang en kunde bruker live-chatten vil samtalen vises automatisk i innboksen din.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautoriser",
"VIEW": "Vis",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/no/integrations.json b/app/javascript/dashboard/i18n/locale/no/integrations.json
index 033245b58..d92140a33 100644
--- a/app/javascript/dashboard/i18n/locale/no/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/no/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/no/settings.json b/app/javascript/dashboard/i18n/locale/no/settings.json
index 1107744e0..e2bffacc6 100644
--- a/app/javascript/dashboard/i18n/locale/no/settings.json
+++ b/app/javascript/dashboard/i18n/locale/no/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/pl/contact.json b/app/javascript/dashboard/i18n/locale/pl/contact.json
index 87f901eda..aabcc5ea7 100644
--- a/app/javascript/dashboard/i18n/locale/pl/contact.json
+++ b/app/javascript/dashboard/i18n/locale/pl/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Adres IP",
"CREATED_AT_LABEL": "Utworzono",
"NEW_MESSAGE": "Nowa wiadomość",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Brak wcześniejszych rozmów z tym kontaktem.",
"TITLE": "Poprzednie rozmowy"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Wyślij wiadomość"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Powróć",
+ "SEND_MESSAGE": "Wyślij wiadomość"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/pl/contactFilters.json b/app/javascript/dashboard/i18n/locale/pl/contactFilters.json
index a0286bf59..98765d1b3 100644
--- a/app/javascript/dashboard/i18n/locale/pl/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/pl/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Utworzono",
"LAST_ACTIVITY": "Ostatnia aktywność",
"REFERER_LINK": "Link referencyjny",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etykiety"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtry standardowe",
diff --git a/app/javascript/dashboard/i18n/locale/pl/contentTemplates.json b/app/javascript/dashboard/i18n/locale/pl/contentTemplates.json
new file mode 100644
index 000000000..e1b5509b6
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/pl/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Wyszukaj szablony",
+ "NO_TEMPLATES_FOUND": "Nie znaleziono szablonów dla",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategoria",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Język",
+ "TEMPLATE_BODY": "Treść szablonu",
+ "CATEGORY": "Kategoria"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Zmienne",
+ "LANGUAGE": "Język",
+ "CATEGORY": "Kategoria",
+ "VARIABLE_PLACEHOLDER": "Wprowadź wartość {variable}",
+ "GO_BACK_LABEL": "Powrót",
+ "SEND_MESSAGE_LABEL": "Wyślij wiadomość",
+ "FORM_ERROR_MESSAGE": "Proszę wypełnić wszystkie zmienne przed wysłaniem",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Powrót",
+ "SEND_MESSAGE_BUTTON": "Wyślij wiadomość"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/pl/conversation.json b/app/javascript/dashboard/i18n/locale/pl/conversation.json
index 546af5f1d..b3295ef79 100644
--- a/app/javascript/dashboard/i18n/locale/pl/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/pl/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Ta konwersacja nie jest Ci przypisana. Czy chcesz przypisać tę konwersację do siebie?",
"ASSIGN_TO_ME": "Przypisz do mnie",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Możesz odpowiedzieć na tę rozmowę tylko za pomocą szablonu wiadomości, ponieważ",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Ograniczenie 24-godzinnego okna wiadomości",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
index 518c73f81..3aaca9bdb 100644
--- a/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pl/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Przesyłanie...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Anuluj",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generowanie...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Zakończone",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json
index 7f5a62f96..f2a1fcaaf 100644
--- a/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/pl/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Wybierz kanał",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenci",
@@ -477,7 +522,10 @@
"MESSAGE": "Możesz teraz kontaktować się z klientami za pośrednictwem nowego kanału. Szczęśliwy wspierający",
"BUTTON_TEXT": "Zabierz mnie tam",
"MORE_SETTINGS": "Więcej ustawień",
- "WEBSITE_SUCCESS": "Pomyślnie zakończyłeś tworzenie kanału internetowego. Skopiuj poniższy kod i wklej go na swojej stronie. Następnym razem, gdy klient korzysta z czatu na żywo, konwersacja pojawi się automatycznie na twojej skrzynce odbiorczej."
+ "WEBSITE_SUCCESS": "Pomyślnie zakończyłeś tworzenie kanału internetowego. Skopiuj poniższy kod i wklej go na swojej stronie. Następnym razem, gdy klient korzysta z czatu na żywo, konwersacja pojawi się automatycznie na twojej skrzynce odbiorczej.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Ponowna autoryzacja",
"VIEW": "Widok",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Inni dostawcy"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Inni dostawcy",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/pl/integrations.json b/app/javascript/dashboard/i18n/locale/pl/integrations.json
index 7787df954..b46428a92 100644
--- a/app/javascript/dashboard/i18n/locale/pl/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/pl/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "Adres URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "Adres URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/pl/settings.json b/app/javascript/dashboard/i18n/locale/pl/settings.json
index 24fe6ab7d..5c6d7312b 100644
--- a/app/javascript/dashboard/i18n/locale/pl/settings.json
+++ b/app/javascript/dashboard/i18n/locale/pl/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/pt/contact.json b/app/javascript/dashboard/i18n/locale/pt/contact.json
index e84d74f78..16ad4872f 100644
--- a/app/javascript/dashboard/i18n/locale/pt/contact.json
+++ b/app/javascript/dashboard/i18n/locale/pt/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Endereço IP",
"CREATED_AT_LABEL": "Criado",
"NEW_MESSAGE": "Nova mensagem",
+ "CALL": "Chamada",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Não há conversas anteriores associadas a este contacto.",
"TITLE": "Conversas anteriores"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Enviar mensagem"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Voltar",
+ "SEND_MESSAGE": "Enviar mensagem"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/pt/contactFilters.json b/app/javascript/dashboard/i18n/locale/pt/contactFilters.json
index efdf0540d..ca6a363da 100644
--- a/app/javascript/dashboard/i18n/locale/pt/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/pt/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Criado em",
"LAST_ACTIVITY": "Última atividade",
"REFERER_LINK": "Link de referência",
- "BLOCKED": "Bloqueado"
+ "BLOCKED": "Bloqueado",
+ "LABELS": "Etiquetas"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtros padrão",
diff --git a/app/javascript/dashboard/i18n/locale/pt/contentTemplates.json b/app/javascript/dashboard/i18n/locale/pt/contentTemplates.json
new file mode 100644
index 000000000..0a24e2378
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/pt/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Buscar templates",
+ "NO_TEMPLATES_FOUND": "Nenhum template encontrado para",
+ "NO_CONTENT": "Sem conteúdo",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categoria",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Idioma",
+ "TEMPLATE_BODY": "Corpo do Template",
+ "CATEGORY": "Categoria"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Texto"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variáveis",
+ "LANGUAGE": "Idioma",
+ "CATEGORY": "Categoria",
+ "VARIABLE_PLACEHOLDER": "Digite o valor {variable}",
+ "GO_BACK_LABEL": "Voltar",
+ "SEND_MESSAGE_LABEL": "Enviar mensagem",
+ "FORM_ERROR_MESSAGE": "Preencha todas as variáveis antes de enviar",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Voltar",
+ "SEND_MESSAGE_BUTTON": "Enviar mensagem"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/pt/conversation.json b/app/javascript/dashboard/i18n/locale/pt/conversation.json
index fba7e5b09..6a3047cbb 100644
--- a/app/javascript/dashboard/i18n/locale/pt/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/pt/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Só pode responder a esta conversa dentro de {hours} horas",
"NOT_ASSIGNED_TO_YOU": "Esta conversa não está atribuída a si. Gostaria de atribuir esta conversa a si mesmo?",
"ASSIGN_TO_ME": "Atribuir a mim",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Só pode responder utilizando uma mensagem modelo, porque",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Mensagens bloqueadas durante 24 horas",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Esta conta do Instagram foi migrada para a nova caixa de entrada do canal Instagram. Todas as novas mensagens aparecerão lá. Já não poderá enviar mensagens a partir desta conversa.",
diff --git a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
index 1f4468d43..6740bbfc2 100644
--- a/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pt/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "A carregar...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancelar",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "A gerar...",
+ "CONFIRM_DELETE": "Tem a certeza que pretende apagar o {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Concluída",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json
index d698c6313..fc1bb9a9d 100644
--- a/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/pt/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Chave secreta da API",
"PLACEHOLDER": "Insira a chave secreta da API Twilio",
"REQUIRED": "A chave secreta da API é obrigatória"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Insira a sua Twilio TwiML App SID (começa por AP)",
- "REQUIRED": "TwiML App SID é obrigatória"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Criar canal de Voz",
"API": {
"ERROR_MESSAGE": "Não foi possível criar o canal de voz"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Escolher um canal",
- "DESC": "O Chatwoot suporta widgets de live-chat, Facebook Messenger, perfis do Twitter, WhatsApp, E-mails, etc., como canais. Se pretende criar um canal personalizado, pode fazê-lo usando o canal API. Para começar, escolha um dos canais abaixo."
+ "DESC": "O Chatwoot suporta widgets de live-chat, Facebook Messenger, perfis do Twitter, WhatsApp, E-mails, etc., como canais. Se pretende criar um canal personalizado, pode fazê-lo usando o canal API. Para começar, escolha um dos canais abaixo.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Pronto!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voz",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agentes",
@@ -477,7 +522,10 @@
"MESSAGE": "Agora, pode conectar-se com os seus clientes através do seu novo canal.",
"BUTTON_TEXT": "Ir para a caixa de entrada",
"MORE_SETTINGS": "Mais configurações",
- "WEBSITE_SUCCESS": "Acabou de criar um canal de site com sucesso. Copie o código mostrado abaixo e cole-o no seu site. Da próxima vez que um cliente usar o chat em tempo real, a conversa aparecerá automaticamente na sua caixa de entrada."
+ "WEBSITE_SUCCESS": "Acabou de criar um canal de site com sucesso. Copie o código mostrado abaixo e cole-o no seu site. Da próxima vez que um cliente usar o chat em tempo real, a conversa aparecerá automaticamente na sua caixa de entrada.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautorizar",
"VIEW": "Ver",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Outros fornecedores"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Outros fornecedores",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/pt/integrations.json b/app/javascript/dashboard/i18n/locale/pt/integrations.json
index 2a86bd97f..9a4f65d5c 100644
--- a/app/javascript/dashboard/i18n/locale/pt/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/pt/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/pt/settings.json b/app/javascript/dashboard/i18n/locale/pt/settings.json
index dffb4ff81..0f78e6469 100644
--- a/app/javascript/dashboard/i18n/locale/pt/settings.json
+++ b/app/javascript/dashboard/i18n/locale/pt/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/automation.json b/app/javascript/dashboard/i18n/locale/pt_BR/automation.json
index 294432a4c..43b39df61 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/automation.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/automation.json
@@ -131,7 +131,7 @@
"CONVERSATION_CREATED": "Conversa Criada",
"CONVERSATION_UPDATED": "Conversa Atualizada",
"MESSAGE_CREATED": "Mensagem Criada",
- "CONVERSATION_RESOLVED": "Conversa resolvida",
+ "CONVERSATION_RESOLVED": "Conversa Resolvida",
"CONVERSATION_OPENED": "Conversa Aberta"
},
"ACTIONS": {
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json
index 0bbee4de3..4eaa1efa3 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/contact.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Endereço IP",
"CREATED_AT_LABEL": "Criado",
"NEW_MESSAGE": "Nova Mensagem",
+ "CALL": "Chamada",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Não há conversas anteriores associadas a este contato.",
"TITLE": "Conversas anteriores"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Enviar mensagem"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Selecione o modelo",
+ "SEARCH_PLACEHOLDER": "Pesquisar modelos",
+ "EMPTY_STATE": "Nenhum modelo encontrado",
+ "TEMPLATE_PARSER": {
+ "BACK": "Voltar atrás",
+ "SEND_MESSAGE": "Enviar mensagem"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Descartar",
"SEND": "Enviar ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contactFilters.json b/app/javascript/dashboard/i18n/locale/pt_BR/contactFilters.json
index 9dc1d1b3b..37ad9460e 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Criado em",
"LAST_ACTIVITY": "Última atividade",
"REFERER_LINK": "Link de origem",
- "BLOCKED": "Bloqueado"
+ "BLOCKED": "Bloqueado",
+ "LABELS": "Etiquetas"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtros Padrão",
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json b/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json
new file mode 100644
index 000000000..82bd0b244
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configurar modelo: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Pesquisar modelos",
+ "NO_TEMPLATES_FOUND": "Não há templates encontrados para",
+ "NO_CONTENT": "Sem conteúdo",
+ "HEADER": "Cabeçalho",
+ "BODY": "Corpo",
+ "FOOTER": "Rodapé",
+ "BUTTONS": "Botões",
+ "CATEGORY": "Categoria",
+ "MEDIA_CONTENT": "Conteúdo de Mídia",
+ "MEDIA_CONTENT_FALLBACK": "conteúdo de mídia",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Atualizar modelos",
+ "REFRESH_SUCCESS": "Atualização de modelos iniciada. Pode levar alguns minutos para atualizar.",
+ "REFRESH_ERROR": "Falha ao atualizar os modelos. Por favor, tente novamente.",
+ "LABELS": {
+ "LANGUAGE": "Idioma",
+ "TEMPLATE_BODY": "Conteúdo do Template",
+ "CATEGORY": "Categoria"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Texto"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variáveis",
+ "LANGUAGE": "Idioma",
+ "CATEGORY": "Categoria",
+ "VARIABLE_PLACEHOLDER": "Insira o valor para {variable}",
+ "GO_BACK_LABEL": "Voltar",
+ "SEND_MESSAGE_LABEL": "Enviar Mensagem",
+ "FORM_ERROR_MESSAGE": "Por favor, preencha todas as variáveis antes de enviar",
+ "MEDIA_HEADER_LABEL": "Cabeçalho {type}",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Anterior",
+ "SEND_MESSAGE_BUTTON": "Enviar Mensagem"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json
index 6c681572d..aef3211fb 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Você só pode responder a esta conversa em {hours} horas",
"NOT_ASSIGNED_TO_YOU": "Esta conversa não está atribuída a você. Gostaria de atribuir esta conversa a você mesmo?",
"ASSIGN_TO_ME": "Atribuir a mim",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Você só pode responder a esta conversa usando um modelo de mensagem devido a",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restrições de janela de mensagem de 24 horas",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Esta conta do Instagram foi migrada para a nova caixa de entrada do canal do Instagram. Todas as novas mensagens serão mostradas lá. Você não poderá mais enviar mensagens desta conversa.",
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
index a76147ca0..bf78a8216 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Não foi possível atualizar o portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Enviando...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancelar",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Gerando...",
+ "CONFIRM_DELETE": "Tem certeza que deseja excluir {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Concluído",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json
index adf445252..08f35396d 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Segredo da Chave API",
"PLACEHOLDER": "Digite o segredo da sua chave de API do Twilio",
"REQUIRED": "Segredo da chave da API é obrigatório"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Insira seu Twilio TwiML App SID (começa com AP)",
- "REQUIRED": "TwiML App SID é obrigatório"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Criar Canal de Voz",
"API": {
"ERROR_MESSAGE": "Não conseguimos criar o canal de voz"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Escolha um canal",
- "DESC": "O Chatwoot suporta widgets de chats ao vivo, Facebook Messenger, perfis do Twitter, WhatsApp, E-mails, etc., como canais. Se você quiser criar um canal personalizado, você pode criá-lo usando o canal API. Para começar, escolha um dos canais abaixo."
+ "DESC": "O Chatwoot suporta widgets de chats ao vivo, Facebook Messenger, perfis do Twitter, WhatsApp, E-mails, etc., como canais. Se você quiser criar um canal personalizado, você pode criá-lo usando o canal API. Para começar, escolha um dos canais abaixo.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Então!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Site",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "e-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voz",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agentes",
@@ -477,7 +522,10 @@
"MESSAGE": "Agora você ja pode oferecer uma excelente experiência no atendimento de seus clientes através do seu novo Canal",
"BUTTON_TEXT": "Leva-me lá",
"MORE_SETTINGS": "Mais configurações",
- "WEBSITE_SUCCESS": "Você concluiu a criação de um canal de site. Copie o código mostrado abaixo e cole-o no seu site. Na próxima vez que um cliente usar o bate-papo ao vivo, a conversa aparecerá automaticamente na sua caixa de entrada."
+ "WEBSITE_SUCCESS": "Você concluiu a criação de um canal de site. Copie o código mostrado abaixo e cole-o no seu site. Na próxima vez que um cliente usar o bate-papo ao vivo, a conversa aparecerá automaticamente na sua caixa de entrada.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautorizar",
"VIEW": "Visualizar",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Outros Provedores"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Outros Provedores",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json
index 88624a8d0..5c41e6988 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "Ocorreu um erro ao criar o documento, por favor, tente novamente."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL:",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL:",
"PLACEHOLDER": "Insira a URL do documento",
"ERROR": "Por favor forneça uma URL válida para o documento"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistente",
"PLACEHOLDER": "Selecione o assistente",
diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json
index 74a07aaad..29f75b325 100644
--- a/app/javascript/dashboard/i18n/locale/pt_BR/settings.json
+++ b/app/javascript/dashboard/i18n/locale/pt_BR/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Alterar Tema",
"SUPER_ADMIN_CONSOLE": "Console de Super Admin",
"DOCS": "Ler documentação",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Encerrar sessão"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ro/contact.json b/app/javascript/dashboard/i18n/locale/ro/contact.json
index 747ada0d3..13c78338b 100644
--- a/app/javascript/dashboard/i18n/locale/ro/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ro/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Adresă IP",
"CREATED_AT_LABEL": "Creat",
"NEW_MESSAGE": "Mesaj nou",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Nu există conversații anterioare asociate cu acest contact.",
"TITLE": "Conversații anterioare"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Trimite mesaj"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Mergeți înapoi",
+ "SEND_MESSAGE": "Trimite mesaj"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ro/contactFilters.json b/app/javascript/dashboard/i18n/locale/ro/contactFilters.json
index 9c2f3706f..b076fd00f 100644
--- a/app/javascript/dashboard/i18n/locale/ro/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ro/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Creat la",
"LAST_ACTIVITY": "Ultima activitate",
"REFERER_LINK": "Link de referință",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etichete"
},
"GROUPS": {
"STANDARD_FILTERS": "Filtre standard",
diff --git a/app/javascript/dashboard/i18n/locale/ro/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ro/contentTemplates.json
new file mode 100644
index 000000000..0b6c888f3
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ro/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Caută Șabloane",
+ "NO_TEMPLATES_FOUND": "Nu s-au găsit șabloane pentru",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Categorie",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Limbă",
+ "TEMPLATE_BODY": "Corpul șablonului",
+ "CATEGORY": "Categorie"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variabile",
+ "LANGUAGE": "Limbă",
+ "CATEGORY": "Categorie",
+ "VARIABLE_PLACEHOLDER": "Introducerea {variable} valoare",
+ "GO_BACK_LABEL": "Înapoi",
+ "SEND_MESSAGE_LABEL": "Trimite mesaj",
+ "FORM_ERROR_MESSAGE": "Vă rugăm să completați toate variabilele înainte de a trimite",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Înapoi",
+ "SEND_MESSAGE_BUTTON": "Trimite mesaj"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ro/conversation.json b/app/javascript/dashboard/i18n/locale/ro/conversation.json
index 3e9ddb6b9..539d61ba5 100644
--- a/app/javascript/dashboard/i18n/locale/ro/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ro/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Această conversație nu vă este atribuită. Doriți să vă atribuiți această conversație?",
"ASSIGN_TO_ME": "Atribuie-mi",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Poți răspunde la această conversație doar folosind un mesaj șablon datorat",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Restricţie fereastră mesaj 24 de ore",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
index ed326fc89..9579068d9 100644
--- a/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ro/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Încărcare...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Renunță",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generez…",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Finalizată",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json
index 9af77f363..8ddaf4839 100644
--- a/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ro/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Alege un canal",
- "DESC": "Chatwoot acceptă widget-uri live-chat, Facebook Messenger, profiluri Twitter, WhatsApp, e-mailuri etc., ca canale. Dacă doriți să construiți un canal personalizat, îl puteți crea folosind canalul API. Pentru a începe, alegeți unul dintre canalele de mai jos."
+ "DESC": "Chatwoot acceptă widget-uri live-chat, Facebook Messenger, profiluri Twitter, WhatsApp, e-mailuri etc., ca canale. Dacă doriți să construiți un canal personalizat, îl puteți crea folosind canalul API. Pentru a începe, alegeți unul dintre canalele de mai jos.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-mail",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenți",
@@ -477,7 +522,10 @@
"MESSAGE": "Acum poți intra în contact cu clienții tăi prin noul tău Canal. Suport fericit",
"BUTTON_TEXT": "Du-mă acolo",
"MORE_SETTINGS": "Mai multe setări",
- "WEBSITE_SUCCESS": "Ați finalizat cu succes crearea unui canal web. Copiați codul de mai jos și inserati-l pe site-ul dvs. Data viitoare când un client folosește conversația live, conversația va apărea automat pe căsuța poștală."
+ "WEBSITE_SUCCESS": "Ați finalizat cu succes crearea unui canal web. Copiați codul de mai jos și inserati-l pe site-ul dvs. Data viitoare când un client folosește conversația live, conversația va apărea automat pe căsuța poștală.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reautorizează",
"VIEW": "Vizualizare",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\nwindow.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Alți furnizori"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Alți furnizori",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ro/integrations.json b/app/javascript/dashboard/i18n/locale/ro/integrations.json
index dae7e2088..96bf2d59d 100644
--- a/app/javascript/dashboard/i18n/locale/ro/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ro/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ro/settings.json b/app/javascript/dashboard/i18n/locale/ro/settings.json
index 71eb37c30..570740b7c 100644
--- a/app/javascript/dashboard/i18n/locale/ro/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ro/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ru/contact.json b/app/javascript/dashboard/i18n/locale/ru/contact.json
index 66c86ea04..4aa2268a3 100644
--- a/app/javascript/dashboard/i18n/locale/ru/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ru/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP адрес",
"CREATED_AT_LABEL": "Создан",
"NEW_MESSAGE": "Новое сообщение",
+ "CALL": "Вызов",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Нет предыдущих диалогов, связанных с этим контактом.",
"TITLE": "Предыдущие диалоги"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Отправить сообщение"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Выбрать шаблон",
+ "SEARCH_PLACEHOLDER": "Поиск шаблонов",
+ "EMPTY_STATE": "Шаблоны не найдены",
+ "TEMPLATE_PARSER": {
+ "BACK": "Вернуться",
+ "SEND_MESSAGE": "Отправить сообщение"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Сбросить",
"SEND": "Отправить ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ru/contactFilters.json b/app/javascript/dashboard/i18n/locale/ru/contactFilters.json
index 5878654b7..b7cbeb30f 100644
--- a/app/javascript/dashboard/i18n/locale/ru/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ru/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Дата создания",
"LAST_ACTIVITY": "Последние действия",
"REFERER_LINK": "Реферальная ссылка",
- "BLOCKED": "Заблокирован"
+ "BLOCKED": "Заблокирован",
+ "LABELS": "Категории"
},
"GROUPS": {
"STANDARD_FILTERS": "Стандартные фильтры",
diff --git a/app/javascript/dashboard/i18n/locale/ru/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ru/contentTemplates.json
new file mode 100644
index 000000000..641944ca8
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ru/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Найти шаблоны",
+ "NO_TEMPLATES_FOUND": "Не найдено шаблонов для",
+ "NO_CONTENT": "Нет содержимого",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Категория",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Язык",
+ "TEMPLATE_BODY": "Тело шаблона",
+ "CATEGORY": "Категория"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Текст"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Переменные",
+ "LANGUAGE": "Язык",
+ "CATEGORY": "Категория",
+ "VARIABLE_PLACEHOLDER": "Введите значение {variable}",
+ "GO_BACK_LABEL": "Вернуться",
+ "SEND_MESSAGE_LABEL": "Отправить сообщение",
+ "FORM_ERROR_MESSAGE": "Пожалуйста, заполните все переменные перед отправкой",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Назад",
+ "SEND_MESSAGE_BUTTON": "Отправить сообщение"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ru/conversation.json b/app/javascript/dashboard/i18n/locale/ru/conversation.json
index a39ab3040..40eeef6b5 100644
--- a/app/javascript/dashboard/i18n/locale/ru/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ru/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Этот диалог вам не назначен. Вы хотите назначить этот диалог себе?",
"ASSIGN_TO_ME": "Назначить мне",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Вы можете ответить в этой беседе только с помощью шаблона сообщения",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Ограничение на 24 часа",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
index aa59d0944..b7a0944b5 100644
--- a/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ru/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Не удалось обновить портал"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Загружаем...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Отменить",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Создание...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Выполнено",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json
index 83b983539..81c0d9377 100644
--- a/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ru/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Секретный ключ API",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Выберите источник",
- "DESC": "Chatwoot поддерживает виджет чата, страницу Facebook, профиль Twitter, Whatsapp, Email и т. д., как канал связи с пользователями. Если вы хотите настроить пользовательский канал, вы можете создать его с помощью канала API. Выберите один канал из списка ниже, чтобы продолжить."
+ "DESC": "Chatwoot поддерживает виджет чата, страницу Facebook, профиль Twitter, Whatsapp, Email и т. д., как канал связи с пользователями. Если вы хотите настроить пользовательский канал, вы можете создать его с помощью канала API. Выберите один канал из списка ниже, чтобы продолжить.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Сайт",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Операторы",
@@ -477,7 +522,10 @@
"MESSAGE": "Теперь вы можете взаимодействовать с вашими клиентами через ваш новый канал. Удачной поддержки",
"BUTTON_TEXT": "Перейти",
"MORE_SETTINGS": "Больше параметров",
- "WEBSITE_SUCCESS": "Вы успешно создали источник-сайт. Скопируйте указанный ниже код и вставьте его на ваш сайт. В следующий раз, когда клиент напишет в чат, диалог автоматически появится здесь."
+ "WEBSITE_SUCCESS": "Вы успешно создали источник-сайт. Скопируйте указанный ниже код и вставьте его на ваш сайт. В следующий раз, когда клиент напишет в чат, диалог автоматически появится здесь.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Войти заново",
"VIEW": "Просмотр",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Другие провайдеры"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Другие провайдеры",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ru/integrations.json b/app/javascript/dashboard/i18n/locale/ru/integrations.json
index 6de478fb1..eb402669d 100644
--- a/app/javascript/dashboard/i18n/locale/ru/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ru/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "Произошла ошибка при создании документа, пожалуйста, попробуйте еще раз."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Введите URL документа",
"ERROR": "Пожалуйста, укажите корректный URL для документа"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Ассистент",
"PLACEHOLDER": "Выберите ассистента",
diff --git a/app/javascript/dashboard/i18n/locale/ru/settings.json b/app/javascript/dashboard/i18n/locale/ru/settings.json
index c6bb8f348..749f11492 100644
--- a/app/javascript/dashboard/i18n/locale/ru/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ru/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Изменить внешний вид",
"SUPER_ADMIN_CONSOLE": "Консоль супер администратора",
"DOCS": "Открыть документацию",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Выйти из системы"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sh/contact.json b/app/javascript/dashboard/i18n/locale/sh/contact.json
index 38489d630..328e15aaa 100644
--- a/app/javascript/dashboard/i18n/locale/sh/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sh/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sh/contactFilters.json b/app/javascript/dashboard/i18n/locale/sh/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/sh/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sh/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/sh/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sh/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sh/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sh/conversation.json b/app/javascript/dashboard/i18n/locale/sh/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/sh/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sh/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sh/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json
index db4959846..4c57adac6 100644
--- a/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sh/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sh/integrations.json b/app/javascript/dashboard/i18n/locale/sh/integrations.json
index f0c7abbd3..727ee453a 100644
--- a/app/javascript/dashboard/i18n/locale/sh/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sh/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sh/settings.json b/app/javascript/dashboard/i18n/locale/sh/settings.json
index fde198c92..d547538db 100644
--- a/app/javascript/dashboard/i18n/locale/sh/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sh/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sk/contact.json b/app/javascript/dashboard/i18n/locale/sk/contact.json
index 245231cc4..c23a221ec 100644
--- a/app/javascript/dashboard/i18n/locale/sk/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sk/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP adresa",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Nová správa",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "K tomuto kontaktu nie sú priradené žiadne predchádzajúce konverzácie.",
"TITLE": "Prechádzajúce konverzácie"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Poslať správu"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Poslať správu"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sk/contactFilters.json b/app/javascript/dashboard/i18n/locale/sk/contactFilters.json
index a8aa60651..1ecfb2e20 100644
--- a/app/javascript/dashboard/i18n/locale/sk/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sk/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Posledná aktivita",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/sk/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sk/contentTemplates.json
new file mode 100644
index 000000000..5c9451243
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sk/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Späť",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sk/conversation.json b/app/javascript/dashboard/i18n/locale/sk/conversation.json
index 586751810..0af78c50f 100644
--- a/app/javascript/dashboard/i18n/locale/sk/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sk/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Prideliť mne",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Na túto konverzáciu môžete odpovedať len pomocou šablóny správy z dôvodu",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-hodinové obmedzenie okna správ",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
index 9dfb60107..ecc291026 100644
--- a/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sk/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Nahrávanie...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Zrušiť",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json
index 535d60aec..764181535 100644
--- a/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sk/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Vybrať kanál",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenti",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "Zobraziť",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sk/integrations.json b/app/javascript/dashboard/i18n/locale/sk/integrations.json
index 55cd79768..f6b9561a7 100644
--- a/app/javascript/dashboard/i18n/locale/sk/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sk/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sk/settings.json b/app/javascript/dashboard/i18n/locale/sk/settings.json
index 16c4ad6a3..9f452890d 100644
--- a/app/javascript/dashboard/i18n/locale/sk/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sk/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sl/contact.json b/app/javascript/dashboard/i18n/locale/sl/contact.json
index f1ad75a48..42679f3b3 100644
--- a/app/javascript/dashboard/i18n/locale/sl/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sl/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sl/contactFilters.json b/app/javascript/dashboard/i18n/locale/sl/contactFilters.json
index 8134e3447..4a05844ea 100644
--- a/app/javascript/dashboard/i18n/locale/sl/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sl/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/sl/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sl/contentTemplates.json
new file mode 100644
index 000000000..d2491677e
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sl/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Išči predloge",
+ "NO_TEMPLATES_FOUND": "Ni najdenih predlog za",
+ "NO_CONTENT": "Ni vsebine",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorija",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Jezik",
+ "TEMPLATE_BODY": "Telo predloge",
+ "CATEGORY": "Kategorija"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Spremenljivke",
+ "LANGUAGE": "Jezik",
+ "CATEGORY": "Kategorija",
+ "VARIABLE_PLACEHOLDER": "Vnesi vrednost {variable}",
+ "GO_BACK_LABEL": "Pojdi nazaj",
+ "SEND_MESSAGE_LABEL": "Pošlji sporočilo",
+ "FORM_ERROR_MESSAGE": "Prosimo, izpolnite vse spremenljivke pred pošiljanjem",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Pošlji sporočilo"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sl/conversation.json b/app/javascript/dashboard/i18n/locale/sl/conversation.json
index b62a8eb60..9bfbd7180 100644
--- a/app/javascript/dashboard/i18n/locale/sl/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sl/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
index 5d99482b7..6790dd897 100644
--- a/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sl/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Nalaganje...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json
index 30fd68bde..4471bd49f 100644
--- a/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sl/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Spletna stran",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-pošta",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sl/integrations.json b/app/javascript/dashboard/i18n/locale/sl/integrations.json
index e1f8321c5..4833ffe12 100644
--- a/app/javascript/dashboard/i18n/locale/sl/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sl/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sl/settings.json b/app/javascript/dashboard/i18n/locale/sl/settings.json
index 1d76f4bce..4948a016c 100644
--- a/app/javascript/dashboard/i18n/locale/sl/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sl/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sq/agentBots.json b/app/javascript/dashboard/i18n/locale/sq/agentBots.json
index d3a0bb991..c7dee5d5e 100644
--- a/app/javascript/dashboard/i18n/locale/sq/agentBots.json
+++ b/app/javascript/dashboard/i18n/locale/sq/agentBots.json
@@ -2,13 +2,13 @@
"AGENT_BOTS": {
"HEADER": "Bots",
"LOADING_EDITOR": "Loading editor...",
- "DESCRIPTION": "Agent Bots are like the most fabulous members of your team. They can handle the small stuff, so you can focus on the stuff that matters. Give them a try. You can manage your bots from this page or create new ones using the 'Add Bot' button.",
+ "DESCRIPTION": "Botët agjentë janë si anëtarët më të mrekullueshëm të ekipit tuaj. Ata mund të merren me gjërat e vogla, që ju të përqendroheni te ato që kanë rëndësi. Provojini. Mund t'i menaxhoni botët nga kjo faqe ose të krijoni të rinj duke përdorur butonin 'Shto Bot'.",
"LEARN_MORE": "Learn about agent bots",
- "GLOBAL_BOT": "System bot",
+ "GLOBAL_BOT": "Bot i sistemit",
"GLOBAL_BOT_BADGE": "System",
"AVATAR": {
- "SUCCESS_DELETE": "Bot avatar deleted successfully",
- "ERROR_DELETE": "Error deleting bot avatar, please try again"
+ "SUCCESS_DELETE": "Avatari i botit u fshi me sukses",
+ "ERROR_DELETE": "Gabim gjatë fshirjes së avatarit të botit, ju lutemi provoni përsëri"
},
"BOT_CONFIGURATION": {
"TITLE": "Select an agent bot",
@@ -22,7 +22,7 @@
"SELECT_PLACEHOLDER": "Select bot"
},
"ADD": {
- "TITLE": "Add Bot",
+ "TITLE": "Shto Bot",
"CANCEL_BUTTON_TEXT": "Cancel",
"API": {
"SUCCESS_MESSAGE": "Bot added successfully.",
@@ -30,10 +30,10 @@
}
},
"LIST": {
- "404": "No bots found. You can create a bot by clicking the 'Add Bot' button.",
+ "404": "Nuk u gjet asnjë bot. Mund të krijoni një bot duke klikuar butonin 'Shto Bot'.",
"LOADING": "Fetching bots...",
"TABLE_HEADER": {
- "DETAILS": "Bot Details",
+ "DETAILS": "Detajet e botit",
"URL": "Webhook URL"
}
},
@@ -42,7 +42,7 @@
"TITLE": "Delete bot",
"CONFIRM": {
"TITLE": "Confirm Deletion",
- "MESSAGE": "Are you sure you want to delete {name}?",
+ "MESSAGE": "Jeni të sigurt që doni të fshini {name}?",
"YES": "Yes, Delete",
"NO": "No, Keep"
},
@@ -61,18 +61,18 @@
},
"ACCESS_TOKEN": {
"TITLE": "Access Token",
- "DESCRIPTION": "Copy the access token and save it securely",
- "COPY_SUCCESSFUL": "Access token copied to clipboard",
- "RESET_SUCCESS": "Access token regenerated successfully",
- "RESET_ERROR": "Unable to regenerate access token. Please try again"
+ "DESCRIPTION": "Kopjoni tokenin e aksesit dhe ruajeni në mënyrë të sigurt",
+ "COPY_SUCCESSFUL": "Tokeni i aksesit u kopjua në kujtesën e përkohshme",
+ "RESET_SUCCESS": "Tokeni i aksesit u rigjenerua me sukses",
+ "RESET_ERROR": "Nuk mund të rigjenerohet tokeni i aksesit. Ju lutemi provoni përsëri"
},
"FORM": {
"AVATAR": {
- "LABEL": "Bot avatar"
+ "LABEL": "Avatari i botit"
},
"NAME": {
"LABEL": "Bot name",
- "PLACEHOLDER": "Enter bot name",
+ "PLACEHOLDER": "Shkruani emrin e botit",
"REQUIRED": "Bot name is required"
},
"DESCRIPTION": {
@@ -82,19 +82,19 @@
"WEBHOOK_URL": {
"LABEL": "Webhook URL",
"PLACEHOLDER": "https://example.com/webhook",
- "REQUIRED": "Webhook URL is required"
+ "REQUIRED": "URL-ja e webhook-ut është e detyrueshme"
},
"ERRORS": {
"NAME": "Bot name is required",
- "URL": "Webhook URL is required",
- "VALID_URL": "Please enter a valid URL starting with http:// or https://"
+ "URL": "URL-ja e webhook-ut është e detyrueshme",
+ "VALID_URL": "Ju lutemi shkruani një URL të vlefshme që fillon me http:// ose https://"
},
"CANCEL": "Cancel",
- "CREATE": "Create Bot",
- "UPDATE": "Update Bot"
+ "CREATE": "Krijo Bot",
+ "UPDATE": "Përditëso Bot"
},
"WEBHOOK": {
- "DESCRIPTION": "Configure a webhook bot to integrate with your custom services. The bot will receive and process events from conversations and can respond to them."
+ "DESCRIPTION": "Konfiguroni një bot webhook për t'u integruar me shërbimet tuaja të personalizuara. Boti do të marrë dhe përpunojë ngjarjet nga bisedat dhe mund t'u përgjigjet atyre."
},
"TYPES": {
"WEBHOOK": "Webhook bot"
diff --git a/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json b/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json
index cea6359de..93360eeb0 100644
--- a/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sq/attributesMgmt.json
@@ -13,7 +13,7 @@
"TEXT": "Text",
"NUMBER": "Number",
"LINK": "Link",
- "DATE": "Date",
+ "DATE": "Datë",
"LIST": "List",
"CHECKBOX": "Checkbox"
},
diff --git a/app/javascript/dashboard/i18n/locale/sq/auditLogs.json b/app/javascript/dashboard/i18n/locale/sq/auditLogs.json
index f85ad2a3e..26d0626d3 100644
--- a/app/javascript/dashboard/i18n/locale/sq/auditLogs.json
+++ b/app/javascript/dashboard/i18n/locale/sq/auditLogs.json
@@ -71,7 +71,7 @@
"EDIT": "{agentName} updated the account configuration (#{id})"
},
"CONVERSATION": {
- "DELETE": "{agentName} deleted conversation #{id}"
+ "DELETE": "{agentName} fshiu bisedën #{id}"
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/automation.json b/app/javascript/dashboard/i18n/locale/sq/automation.json
index 280c6c65d..020df33f3 100644
--- a/app/javascript/dashboard/i18n/locale/sq/automation.json
+++ b/app/javascript/dashboard/i18n/locale/sq/automation.json
@@ -130,31 +130,31 @@
"EVENTS": {
"CONVERSATION_CREATED": "Conversation Created",
"CONVERSATION_UPDATED": "Conversation Updated",
- "MESSAGE_CREATED": "Message Created",
- "CONVERSATION_RESOLVED": "Conversation Resolved",
- "CONVERSATION_OPENED": "Conversation Opened"
+ "MESSAGE_CREATED": "Mesazhi u krijua",
+ "CONVERSATION_RESOLVED": "Biseda u zgjidh",
+ "CONVERSATION_OPENED": "Biseda u hap"
},
"ACTIONS": {
- "ASSIGN_AGENT": "Assign to Agent",
- "ASSIGN_TEAM": "Assign a Team",
- "ADD_LABEL": "Add a Label",
- "REMOVE_LABEL": "Remove a Label",
- "SEND_EMAIL_TO_TEAM": "Send an Email to Team",
- "SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
- "MUTE_CONVERSATION": "Mute Conversation",
+ "ASSIGN_AGENT": "Cakto te një agjent",
+ "ASSIGN_TEAM": "Cakto një ekip",
+ "ADD_LABEL": "Shto një etiketë",
+ "REMOVE_LABEL": "Hiq një etiketë",
+ "SEND_EMAIL_TO_TEAM": "Dërgo një email ekipit",
+ "SEND_EMAIL_TRANSCRIPT": "Dërgo një transkript me email",
+ "MUTE_CONVERSATION": "Heshto bisedën",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
- "SEND_WEBHOOK_EVENT": "Send Webhook Event",
- "SEND_ATTACHMENT": "Send Attachment",
- "SEND_MESSAGE": "Send a Message",
- "ADD_PRIVATE_NOTE": "Add a Private Note",
+ "SEND_WEBHOOK_EVENT": "Dërgo një ngjarje webhook",
+ "SEND_ATTACHMENT": "Dërgo një bashkëngjitje",
+ "SEND_MESSAGE": "Dërgo një mesazh",
+ "ADD_PRIVATE_NOTE": "Shto një shënim privat",
"CHANGE_PRIORITY": "Change Priority",
"ADD_SLA": "Add SLA",
"OPEN_CONVERSATION": "Open conversation"
},
"MESSAGE_TYPES": {
- "INCOMING": "Incoming Message",
- "OUTGOING": "Outgoing Message"
+ "INCOMING": "Mesazh hyrës",
+ "OUTGOING": "Mesazh dalës"
},
"PRIORITY_TYPES": {
"NONE": "None",
@@ -164,17 +164,17 @@
"URGENT": "Urgent"
},
"ATTRIBUTES": {
- "MESSAGE_TYPE": "Message Type",
- "MESSAGE_CONTAINS": "Message Contains",
+ "MESSAGE_TYPE": "Lloji i mesazhit",
+ "MESSAGE_CONTAINS": "Mesazhi përmban",
"EMAIL": "Email",
"INBOX": "Inbox",
- "CONVERSATION_LANGUAGE": "Conversation Language",
+ "CONVERSATION_LANGUAGE": "Gjuha e bisedës",
"PHONE_NUMBER": "Phone Number",
"STATUS": "Status",
"BROWSER_LANGUAGE": "Browser Language",
- "MAIL_SUBJECT": "Email Subject",
+ "MAIL_SUBJECT": "Subjekti i emailit",
"COUNTRY_NAME": "Country",
- "REFERER_LINK": "Referrer Link",
+ "REFERER_LINK": "Lidhja e referuesit",
"ASSIGNEE_NAME": "Assignee",
"TEAM_NAME": "Team",
"PRIORITY": "Priority"
diff --git a/app/javascript/dashboard/i18n/locale/sq/campaign.json b/app/javascript/dashboard/i18n/locale/sq/campaign.json
index 6dd043352..d4785a15e 100644
--- a/app/javascript/dashboard/i18n/locale/sq/campaign.json
+++ b/app/javascript/dashboard/i18n/locale/sq/campaign.json
@@ -138,11 +138,11 @@
}
},
"WHATSAPP": {
- "HEADER_TITLE": "WhatsApp campaigns",
+ "HEADER_TITLE": "Fushata WhatsApp",
"NEW_CAMPAIGN": "Create campaign",
"EMPTY_STATE": {
- "TITLE": "No WhatsApp campaigns are available",
- "SUBTITLE": "Launch a WhatsApp campaign to reach your customers directly. Send offers or make announcements with ease. Click 'Create campaign' to get started."
+ "TITLE": "Nuk ka fushata WhatsApp të disponueshme",
+ "SUBTITLE": "Nisni një fushatë në WhatsApp për të arritur klientët tuaj drejtpërdrejt. Dërgoni oferta ose bëni njoftime me lehtësi. Klikoni 'Krijo fushatë' për të filluar."
},
"CARD": {
"STATUS": {
@@ -155,7 +155,7 @@
}
},
"CREATE": {
- "TITLE": "Create WhatsApp campaign",
+ "TITLE": "Krijo fushatë WhatsApp",
"CANCEL_BUTTON_TEXT": "Cancel",
"CREATE_BUTTON_TEXT": "Create",
"FORM": {
@@ -170,15 +170,15 @@
"ERROR": "Inbox is required"
},
"TEMPLATE": {
- "LABEL": "WhatsApp Template",
- "PLACEHOLDER": "Select a template",
- "INFO": "Select a template to use for this campaign.",
- "ERROR": "Template is required",
+ "LABEL": "Shabllon WhatsApp",
+ "PLACEHOLDER": "Zgjidhni një shabllon",
+ "INFO": "Zgjidhni një shabllon për ta përdorur në këtë fushatë.",
+ "ERROR": "Kërkohet shablloni",
"PREVIEW_TITLE": "Process {templateName}",
"LANGUAGE": "Language",
"CATEGORY": "Category",
"VARIABLES_LABEL": "Variables",
- "VARIABLE_PLACEHOLDER": "Enter value for {variable}"
+ "VARIABLE_PLACEHOLDER": "Futni vlerën për {variable}"
},
"AUDIENCE": {
"LABEL": "Audience",
@@ -195,7 +195,7 @@
"CANCEL": "Cancel"
},
"API": {
- "SUCCESS_MESSAGE": "WhatsApp campaign created successfully",
+ "SUCCESS_MESSAGE": "Fushata WhatsApp u krijua me sukses",
"ERROR_MESSAGE": "There was an error. Please try again."
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/components.json b/app/javascript/dashboard/i18n/locale/sq/components.json
index 0a2542a84..5eb3d95f9 100644
--- a/app/javascript/dashboard/i18n/locale/sq/components.json
+++ b/app/javascript/dashboard/i18n/locale/sq/components.json
@@ -45,12 +45,12 @@
"WATCH_VIDEO": "Watch video"
},
"DURATION_INPUT": {
- "MINUTES": "Minutes",
- "HOURS": "Hours",
- "DAYS": "Days",
- "PLACEHOLDER": "Enter duration"
+ "MINUTES": "Minuta",
+ "HOURS": "Orë",
+ "DAYS": "Ditë",
+ "PLACEHOLDER": "Shkruani kohëzgjatjen"
},
"CHANNEL_SELECTOR": {
- "COMING_SOON": "Coming Soon!"
+ "COMING_SOON": "Së shpejti!"
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/contact.json b/app/javascript/dashboard/i18n/locale/sq/contact.json
index f6a929e78..50de83beb 100644
--- a/app/javascript/dashboard/i18n/locale/sq/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sq/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Telefono",
+ "CALL_UNDER_DEVELOPMENT": "Telefonimi është në zhvillim",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Zgjidhni një inbox të zërit"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -285,7 +290,7 @@
"HEADER": {
"TITLE": "Contacts",
"SEARCH_TITLE": "Search contacts",
- "ACTIVE_TITLE": "Active contacts",
+ "ACTIVE_TITLE": "Kontaktet aktive",
"SEARCH_PLACEHOLDER": "Search...",
"MESSAGE_BUTTON": "Message",
"SEND_MESSAGE": "Send message",
@@ -460,8 +465,8 @@
}
},
"DELETE_CONTACT": {
- "MESSAGE": "This action is permanent and irreversible.",
- "BUTTON": "Delete now"
+ "MESSAGE": "Ky veprim është i përhershëm dhe i pakthyeshëm.",
+ "BUTTON": "Fshi tani"
}
},
"DETAILS": {
@@ -471,7 +476,7 @@
"DELETE_CONTACT": "Delete contact",
"DELETE_DIALOG": {
"TITLE": "Confirm Deletion",
- "DESCRIPTION": "Are you sure you want to delete this contact?",
+ "DESCRIPTION": "A jeni i sigurt se doni ta fshini këtë kontakt?",
"CONFIRM": "Yes, Delete",
"API": {
"SUCCESS_MESSAGE": "Contact deleted successfully",
@@ -550,8 +555,8 @@
"YOU": "Ju",
"SAVE": "Save note",
"EXPAND": "Expand",
- "COLLAPSE": "Collapse",
- "NO_NOTES": "No notes, you can add notes from the contact details page.",
+ "COLLAPSE": "Palos",
+ "NO_NOTES": "Nuk ka shënime, mund të shtoni shënime nga faqja e detajeve të kontaktit.",
"EMPTY_STATE": "There are no notes associated to this contact. You can add a note by typing in the box above."
}
},
@@ -561,7 +566,7 @@
"BUTTON_LABEL": "Add contact",
"SEARCH_EMPTY_STATE_TITLE": "No contacts matches your search 🔍",
"LIST_EMPTY_STATE_TITLE": "No contacts available in this view 📋",
- "ACTIVE_EMPTY_STATE_TITLE": "No contacts are active at the moment 🌙"
+ "ACTIVE_EMPTY_STATE_TITLE": "Asnjë kontakt nuk është aktiv për momentin 🌙"
}
},
"COMPOSE_NEW_CONVERSATION": {
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sq/contactFilters.json b/app/javascript/dashboard/i18n/locale/sq/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/sq/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sq/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/sq/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sq/contentTemplates.json
new file mode 100644
index 000000000..5f8b4851c
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sq/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Konfiguro shabllonin: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Krye",
+ "BODY": "Trup",
+ "FOOTER": "Fund",
+ "BUTTONS": "Butona",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Përmbajtje mediatike",
+ "MEDIA_CONTENT_FALLBACK": "përmbajtje mediatike",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Rifresko shabllonet",
+ "REFRESH_SUCCESS": "Rifreskimi i shablloneve u nis. Mund të duhen disa minuta për t'u përditësuar.",
+ "REFRESH_ERROR": "Dështoi rifreskimi i shablloneve. Ju lutemi, provoni përsëri.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "Krye {type}",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sq/conversation.json b/app/javascript/dashboard/i18n/locale/sq/conversation.json
index 308f24f51..5f74260fd 100644
--- a/app/javascript/dashboard/i18n/locale/sq/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sq/conversation.json
@@ -32,12 +32,17 @@
"LOADING_CONVERSATIONS": "Loading Conversations",
"CANNOT_REPLY": "You cannot reply due to",
"24_HOURS_WINDOW": "24 hour message window restriction",
- "API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
+ "API_HOURS_WINDOW": "Mund t'i përgjigjeni kësaj bisede vetëm brenda {hours} orëve",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
- "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
+ "OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Kjo llogari Instagram u migrua te kutia hyrëse e re e kanalit të Instagram-it. Të gjitha mesazhet e reja do të shfaqen atje. Nuk do të mund të dërgoni më mesazhe nga kjo bisedë.",
"REPLYING_TO": "You are replying to:",
"REMOVE_SELECTION": "Remove Selection",
"DOWNLOAD": "Download",
@@ -70,7 +75,7 @@
"RESOLVE_ACTION": "Resolve",
"REOPEN_ACTION": "Reopen",
"OPEN_ACTION": "Open",
- "MORE_ACTIONS": "More actions",
+ "MORE_ACTIONS": "Më shumë veprime",
"OPEN": "More",
"CLOSE": "Close",
"DETAILS": "details",
@@ -123,8 +128,8 @@
}
},
"DELETE_CONVERSATION": {
- "TITLE": "Delete conversation #{conversationId}",
- "DESCRIPTION": "Are you sure you want to delete this conversation?",
+ "TITLE": "Fshi bisedën #{conversationId}",
+ "DESCRIPTION": "A jeni të sigurt se doni ta fshini këtë bisedë?",
"CONFIRM": "Delete"
},
"CARD_CONTEXT_MENU": {
@@ -143,10 +148,10 @@
"ASSIGN_LABEL": "Assign label",
"AGENTS_LOADING": "Loading agents...",
"ASSIGN_TEAM": "Assign team",
- "DELETE": "Delete conversation",
- "OPEN_IN_NEW_TAB": "Open in new tab",
- "COPY_LINK": "Copy conversation link",
- "COPY_LINK_SUCCESS": "Conversation link copied to clipboard",
+ "DELETE": "Fshi bisedën",
+ "OPEN_IN_NEW_TAB": "Hap në skedë të re",
+ "COPY_LINK": "Kopjo lidhjen e bisedës",
+ "COPY_LINK_SUCCESS": "Lidhja e bisedës u kopjua në kujtesën e përkohshme",
"API": {
"AGENT_ASSIGNMENT": {
"SUCCESFUL": "Conversation id {conversationId} assigned to \"{agentName}\"",
@@ -221,8 +226,8 @@
"ASSIGN_LABEL_SUCCESFUL": "Label assigned successfully",
"ASSIGN_LABEL_FAILED": "Label assignment failed",
"CHANGE_TEAM": "Conversation team changed",
- "SUCCESS_DELETE_CONVERSATION": "Conversation deleted successfully",
- "FAIL_DELETE_CONVERSATION": "Couldn't delete conversation! Try again",
+ "SUCCESS_DELETE_CONVERSATION": "Biseda u fshi me sukses",
+ "FAIL_DELETE_CONVERSATION": "Biseda nuk u fshi dot! Provoni përsëri",
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_SUPPORTED_FILE_UPLOAD_SIZE} MB attachment limit",
"MESSAGE_ERROR": "Unable to send this message, please try again later",
"SENT_BY": "Sent by:",
@@ -311,11 +316,11 @@
"CONVERSATION_ACTIONS": "Conversation Actions",
"CONVERSATION_LABELS": "Conversation Labels",
"CONVERSATION_INFO": "Conversation Information",
- "CONTACT_NOTES": "Contact Notes",
+ "CONTACT_NOTES": "Shënime kontakti",
"CONTACT_ATTRIBUTES": "Contact Attributes",
"PREVIOUS_CONVERSATION": "Previous Conversations",
"MACROS": "Macros",
- "LINEAR_ISSUES": "Linked Linear Issues",
+ "LINEAR_ISSUES": "Çështje të lidhura në Linear",
"SHOPIFY_ORDERS": "Shopify Orders"
},
"SHOPIFY": {
diff --git a/app/javascript/dashboard/i18n/locale/sq/generalSettings.json b/app/javascript/dashboard/i18n/locale/sq/generalSettings.json
index d924bffbd..d657e4c4b 100644
--- a/app/javascript/dashboard/i18n/locale/sq/generalSettings.json
+++ b/app/javascript/dashboard/i18n/locale/sq/generalSettings.json
@@ -1,10 +1,10 @@
{
"GENERAL_SETTINGS": {
"LIMIT_MESSAGES": {
- "CONVERSATION": "You have exceeded the conversation limit. Hacker plan allows only 500 conversations.",
- "INBOXES": "You have exceeded the inbox limit. Hacker plan only supports website live-chat. Additional inboxes like email, WhatsApp etc. require a paid plan.",
- "AGENTS": "You have exceeded the agent limit. Your plan only allows {allowedAgents} agents.",
- "NON_ADMIN": "Please contact your administrator to upgrade the plan and continue using all features."
+ "CONVERSATION": "Keni tejkaluar kufirin e bisedave. Plani Hacker lejon vetëm 500 biseda.",
+ "INBOXES": "Keni tejkaluar kufirin e inbox-it. Plani Hacker mbështet vetëm bisedën e drejtpërdrejtë në ueb. Inboxe shtesë si email, WhatsApp etj. kërkojnë një plan me pagesë.",
+ "AGENTS": "Keni tejkaluar kufirin e agjentëve. Plani juaj lejon vetëm {allowedAgents} agjentë.",
+ "NON_ADMIN": "Ju lutemi kontaktoni administratorin tuaj për të përmirësuar planin dhe për të vazhduar përdorimin e të gjitha veçorive."
},
"TITLE": "Account settings",
"SUBMIT": "Update settings",
@@ -15,23 +15,23 @@
"SUCCESS": "Successfully updated account settings"
},
"ACCOUNT_DELETE_SECTION": {
- "TITLE": "Delete your Account",
- "NOTE": "Once you delete your account, all your data will be deleted.",
- "BUTTON_TEXT": "Delete Your Account",
+ "TITLE": "Fshini llogarinë tuaj",
+ "NOTE": "Pasi ta fshini llogarinë tuaj, të dhënat tuaja do të fshihen.",
+ "BUTTON_TEXT": "Fshi llogarinë tuaj",
"CONFIRM": {
- "TITLE": "Delete Account",
- "MESSAGE": "Deleting your Account is irreversible. Enter your account name below to confirm you want to permanently delete it.",
+ "TITLE": "Fshi llogarinë",
+ "MESSAGE": "Fshirja e llogarisë tuaj është e pakthyeshme. Shkruani më poshtë emrin e llogarisë për të konfirmuar se dëshironi ta fshini përgjithmonë.",
"BUTTON_TEXT": "Delete",
"DISMISS": "Cancel",
"PLACE_HOLDER": "Please type {accountName} to confirm"
},
- "SUCCESS": "Account marked for deletion",
- "FAILURE": "Could not delete account, try again!",
+ "SUCCESS": "Llogaria u shënua për fshirje",
+ "FAILURE": "Nuk u arrit të fshihej llogaria, provoni përsëri!",
"SCHEDULED_DELETION": {
- "TITLE": "Account Scheduled for Deletion",
- "MESSAGE_MANUAL": "This account is scheduled for deletion on {deletionDate}. This was requested by an administrator. You can cancel the deletion before this date.",
- "MESSAGE_INACTIVITY": "This account is scheduled for deletion on {deletionDate} due to account inactivity. You can cancel the deletion before this date.",
- "CLEAR_BUTTON": "Cancel Scheduled Deletion"
+ "TITLE": "Llogaria e planifikuar për fshirje",
+ "MESSAGE_MANUAL": "Kjo llogari është planifikuar të fshihet më {deletionDate}. Kjo u kërkua nga një administrator. Mund ta anuloni fshirjen para kësaj date.",
+ "MESSAGE_INACTIVITY": "Kjo llogari është planifikuar të fshihet më {deletionDate} për shkak të pasivitetit të llogarisë. Mund ta anuloni fshirjen para kësaj date.",
+ "CLEAR_BUTTON": "Anulo fshirjen e planifikuar"
}
},
"FORM": {
@@ -45,32 +45,32 @@
"NOTE": "This ID is required if you are building an API based integration"
},
"AUTO_RESOLVE": {
- "TITLE": "Auto-resolve conversations",
- "NOTE": "This configuration would allow you to automatically resolve the conversation after a certain period of inactivity.",
+ "TITLE": "Zgjidhje automatike e bisedave",
+ "NOTE": "Ky konfigurim ju lejon ta zgjidhni automatikisht bisedën pas një periudhe të caktuar pasiviteti.",
"DURATION": {
- "LABEL": "Inactivity duration",
- "HELP": "Time period of inactivity after which conversation is auto-resolved",
+ "LABEL": "Kohëzgjatja e pasivitetit",
+ "HELP": "Periudha e pasivitetit pas së cilës biseda zgjidhet automatikisht",
"PLACEHOLDER": "30",
- "ERROR": "Auto resolve duration should be between 10 minutes and 999 days",
+ "ERROR": "Kohëzgjatja e zgjidhjes automatike duhet të jetë ndërmjet 10 minutave dhe 999 ditëve",
"API": {
- "SUCCESS": "Auto resolve settings updated successfully",
- "ERROR": "Failed to update auto resolve settings"
+ "SUCCESS": "Cilësimet e zgjidhjes automatike u përditësuan me sukses",
+ "ERROR": "Dështoi përditësimi i cilësimeve të zgjidhjes automatike"
}
},
"MESSAGE": {
- "LABEL": "Custom auto-resolution message",
- "PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity",
- "HELP": "Message sent to the customer after conversation is auto-resolved"
+ "LABEL": "Mesazh i personalizuar për zgjidhjen automatike",
+ "PLACEHOLDER": "Biseda u shënua si e zgjidhur nga sistemi për shkak të 15 ditëve pasiviteti",
+ "HELP": "Mesazh i dërguar klientit pasi biseda të jetë zgjidhur automatikisht"
},
- "PREFERENCES": "Preferences",
+ "PREFERENCES": "Preferencat",
"LABEL": {
- "LABEL": "Add label after auto-resolution",
- "PLACEHOLDER": "Select a label"
+ "LABEL": "Shto etiketë pas zgjidhjes automatike",
+ "PLACEHOLDER": "Zgjidhni një etiketë"
},
"IGNORE_WAITING": {
- "LABEL": "Skip conversations waiting for agent’s reply"
+ "LABEL": "Anashkalo bisedat që presin përgjigjen e agjentit"
},
- "UPDATE_BUTTON": "Save Changes"
+ "UPDATE_BUTTON": "Ruaj ndryshimet"
},
"NAME": {
"LABEL": "Account name",
@@ -93,30 +93,30 @@
"ERROR": ""
},
"AUTO_RESOLVE_IGNORE_WAITING": {
- "LABEL": "Exclude unattended conversations",
- "HELP": "When enabled, the system will skip resolving conversations that are still waiting for an agent's reply."
+ "LABEL": "Përjashto bisedat e patrajtuara",
+ "HELP": "Kur të aktivizohet, sistemi do të anashkalojë zgjidhjen e bisedave që ende po presin përgjigjen e një agjenti."
},
"AUDIO_TRANSCRIPTION": {
- "TITLE": "Transcribe Audio Messages",
- "NOTE": "Automatically transcribe audio messages in conversations. Generate a text transcript whenever an audio message is sent or received, and display it alongside the message.",
+ "TITLE": "Transkripto mesazhet audio",
+ "NOTE": "Transkriptoni automatikisht mesazhet audio në biseda. Gjeneroni një transkript në tekst sa herë që dërgohet ose merret një mesazh audio dhe shfaqeni pranë mesazhit.",
"API": {
- "SUCCESS": "Audio transcription setting updated successfully",
- "ERROR": "Failed to update audio transcription setting"
+ "SUCCESS": "Cilësimi i transkriptimit audio u përditësua me sukses",
+ "ERROR": "Dështoi përditësimi i cilësimit të transkriptimit audio"
}
},
"AUTO_RESOLVE_DURATION": {
- "LABEL": "Inactivity duration for resolution",
- "HELP": "Duration after a conversation should auto resolve if there is no activity",
+ "LABEL": "Kohëzgjatja e pasivitetit për zgjidhje",
+ "HELP": "Kohëzgjatja pas së cilës një bisedë duhet të zgjidhet automatikisht nëse nuk ka aktivitet",
"PLACEHOLDER": "30",
- "ERROR": "Auto resolve duration should be between 10 minutes and 999 days",
+ "ERROR": "Kohëzgjatja e zgjidhjes automatike duhet të jetë ndërmjet 10 minutave dhe 999 ditëve",
"API": {
- "SUCCESS": "Auto resolve settings updated successfully",
- "ERROR": "Failed to update auto resolve settings"
+ "SUCCESS": "Cilësimet e zgjidhjes automatike u përditësuan me sukses",
+ "ERROR": "Dështoi përditësimi i cilësimeve të zgjidhjes automatike"
},
"UPDATE_BUTTON": "Update",
- "MESSAGE_LABEL": "Custom resolution message",
- "MESSAGE_PLACEHOLDER": "Conversation was marked resolved by system due to 15 days of inactivity",
- "MESSAGE_HELP": "This message is sent to the customer when a conversation is automatically resolved by the system due to inactivity."
+ "MESSAGE_LABEL": "Mesazh i personalizuar për zgjidhje",
+ "MESSAGE_PLACEHOLDER": "Biseda u shënua si e zgjidhur nga sistemi për shkak të 15 ditëve pasiviteti",
+ "MESSAGE_HELP": "Ky mesazh i dërgohet klientit kur një bisedë zgjidhet automatikisht nga sistemi për shkak të pasivitetit"
},
"FEATURES": {
"INBOUND_EMAIL_ENABLED": "Conversation continuity with emails is enabled for your account.",
@@ -126,7 +126,7 @@
"UPDATE_CHATWOOT": "An update {latestChatwootVersion} for Chatwoot is available. Please update your instance.",
"LEARN_MORE": "Learn more",
"PAYMENT_PENDING": "Your payment is pending. Please update your payment information to continue using Chatwoot",
- "UPGRADE": "Upgrade to continue using Chatwoot",
+ "UPGRADE": "Përmirësoni planin për të vazhduar përdorimin e Chatwoot.",
"LIMITS_UPGRADE": "Your account has exceeded the usage limits, please upgrade your plan to continue using Chatwoot",
"OPEN_BILLING": "Open billing"
},
@@ -134,7 +134,7 @@
"MULTISELECT": {
"ENTER_TO_SELECT": "Press enter to select",
"ENTER_TO_REMOVE": "Press enter to remove",
- "NO_OPTIONS": "List is empty",
+ "NO_OPTIONS": "Lista është bosh",
"SELECT_ONE": "Select one",
"SELECT": "Select"
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
index 7a4de594e..46b160c4f 100644
--- a/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sq/helpCenter.json
@@ -160,8 +160,8 @@
},
"SEND_CNAME_INSTRUCTIONS": {
"API": {
- "SUCCESS_MESSAGE": "CNAME instructions sent successfully",
- "ERROR_MESSAGE": "Error while sending CNAME instructions"
+ "SUCCESS_MESSAGE": "Udhëzimet për CNAME u dërguan me sukses",
+ "ERROR_MESSAGE": "Gabim gjatë dërgimit të udhëzimeve për CNAME"
}
}
},
@@ -703,7 +703,7 @@
"LABEL": "Slug",
"PLACEHOLDER": "user-guide",
"ERROR": "Slug is required",
- "FORMAT_ERROR": "Please enter a valid slug, for eg: user-guide"
+ "FORMAT_ERROR": "Ju lutemi shkruani një slug të vlefshëm, p.sh.: user-guide"
}
},
"PORTAL_SETTINGS": {
@@ -732,7 +732,7 @@
"HOME_PAGE_LINK": {
"LABEL": "Home page link",
"PLACEHOLDER": "Portal home page link",
- "ERROR": "Enter a valid URL. The Home page link must start with 'http://' or 'https://'."
+ "ERROR": "Shkruani një URL të vlefshme. Lidhja e faqes kryesore duhet të fillojë me 'http://' ose 'https://'."
},
"SLUG": {
"LABEL": "Slug",
@@ -753,14 +753,14 @@
"HEADER": "Custom domain",
"LABEL": "Custom domain:",
"DESCRIPTION": "You can host your portal on a custom domain. For instance, if your website is yourdomain.com and you want your portal available at docs.yourdomain.com, simply enter that in this field.",
- "STATUS_DESCRIPTION": "Your custom portal will start working as soon as it is verified.",
+ "STATUS_DESCRIPTION": "Portali juaj i personalizuar do të fillojë të funksionojë sapo të verifikohet.",
"PLACEHOLDER": "Portal custom domain",
"EDIT_BUTTON": "Edit",
"ADD_BUTTON": "Add custom domain",
"STATUS": {
"LIVE": "Live",
- "PENDING": "Awaiting verification",
- "ERROR": "Verification failed"
+ "PENDING": "Në pritje të verifikimit",
+ "ERROR": "Verifikimi dështoi"
},
"DIALOG": {
"ADD_HEADER": "Add custom domain",
@@ -770,17 +770,17 @@
"LABEL": "Custom domain",
"PLACEHOLDER": "Portal custom domain",
"ERROR": "Custom domain is required",
- "FORMAT_ERROR": "Please enter a valid domain URL e.g. docs.yourdomain.com"
+ "FORMAT_ERROR": "Ju lutemi shkruani një URL të vlefshme të domain-it, p.sh. docs.yourdomain.com"
},
"DNS_CONFIGURATION_DIALOG": {
"HEADER": "DNS configuration",
"DESCRIPTION": "Log in to the account you have with your DNS provider, and add a CNAME record for subdomain pointing to chatwoot.help",
- "COPY": "Successfully copied CNAME",
+ "COPY": "CNAME u kopjua me sukses",
"SEND_INSTRUCTIONS": {
- "HEADER": "Send instructions",
- "DESCRIPTION": "If you would prefer to have someone from your development team to handle this step, you can enter email address below, and we will send them the required instructions.",
- "PLACEHOLDER": "Enter their email",
- "ERROR": "Enter a valid email address",
+ "HEADER": "Dërgo udhëzimet",
+ "DESCRIPTION": "Nëse preferoni që dikush nga ekipi juaj i zhvillimit ta trajtojë këtë hap, mund të shkruani adresën e emailit më poshtë dhe ne do t'u dërgojmë udhëzimet e nevojshme.",
+ "PLACEHOLDER": "Shkruani emailin e tyre",
+ "ERROR": "Shkruani një adresë emaili të vlefshme",
"SEND_BUTTON": "Send"
}
}
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Po ngarkohet...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/inbox.json b/app/javascript/dashboard/i18n/locale/sq/inbox.json
index 385e9e4ce..cfcf14531 100644
--- a/app/javascript/dashboard/i18n/locale/sq/inbox.json
+++ b/app/javascript/dashboard/i18n/locale/sq/inbox.json
@@ -74,21 +74,21 @@
"DELETE_ALL_READ": "All read notifications deleted"
},
"REAUTHORIZE": {
- "TITLE": "Reauthorization Required",
- "DESCRIPTION": "Your WhatsApp connection has expired. Please reconnect to continue receiving and sending messages.",
- "BUTTON_TEXT": "Reconnect WhatsApp",
- "LOADING_FACEBOOK": "Loading Facebook SDK...",
- "SUCCESS": "WhatsApp reconnected successfully",
- "ERROR": "Failed to reconnect WhatsApp. Please try again.",
- "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID is not configured. Please contact your administrator.",
- "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp Configuration ID is not configured. Please contact your administrator.",
- "CONFIGURATION_ERROR": "Configuration error occurred during reauthorization.",
- "FACEBOOK_LOAD_ERROR": "Failed to load Facebook SDK. Please try again.",
+ "TITLE": "Kërkohet riautorizim",
+ "DESCRIPTION": "Lidhja juaj me WhatsApp ka skaduar. Ju lutemi, lidhuni sërish për të vazhduar marrjen dhe dërgimin e mesazheve.",
+ "BUTTON_TEXT": "Rilidheni WhatsApp-in",
+ "LOADING_FACEBOOK": "Po ngarkohet Facebook SDK...",
+ "SUCCESS": "WhatsApp u rilidh me sukses",
+ "ERROR": "Dështoi rilidhja e WhatsApp-it. Ju lutemi, provoni sërish.",
+ "WHATSAPP_APP_ID_MISSING": "ID-ja e aplikacionit të WhatsApp-it nuk është konfiguruar. Ju lutemi, kontaktoni administratorin tuaj.",
+ "WHATSAPP_CONFIG_ID_MISSING": "ID-ja e konfigurimit të WhatsApp-it nuk është konfiguruar. Ju lutemi, kontaktoni administratorin tuaj.",
+ "CONFIGURATION_ERROR": "Ndodhi një gabim konfigurimi gjatë riautorizimit.",
+ "FACEBOOK_LOAD_ERROR": "Dështoi ngarkimi i SDK-së së Facebook-ut. Ju lutemi, provoni sërish.",
"TROUBLESHOOTING": {
- "TITLE": "Troubleshooting",
- "POPUP_BLOCKED": "Ensure pop-ups are allowed for this site",
- "COOKIES": "Third-party cookies must be enabled",
- "ADMIN_ACCESS": "You need admin access to the WhatsApp Business Account"
+ "TITLE": "Zgjidhja e problemeve",
+ "POPUP_BLOCKED": "Sigurohuni që dritaret kërcyese të jenë të lejuara për këtë faqe",
+ "COOKIES": "cookie-t e palëve të treta duhet të jenë të aktivizuara",
+ "ADMIN_ACCESS": "Ju nevojitet akses si administrator te llogaria e biznesit në WhatsApp"
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json
index 3c0769793..c0ee25aff 100644
--- a/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sq/inboxMgmt.json
@@ -51,7 +51,7 @@
"CONNECT_YOUR_INSTAGRAM_PROFILE": "Connect your Instagram Profile",
"HELP": "To add your Instagram profile as a channel, you need to authenticate your Instagram Profile by clicking on 'Continue with Instagram' ",
"ERROR_MESSAGE": "There was an error connecting to Instagram, please try again",
- "ERROR_AUTH": "There was an error connecting to Instagram, please try again",
+ "ERROR_AUTH": "Ndodhi një gabim gjatë lidhjes me Instagram, ju lutemi provoni përsëri",
"NEW_INBOX_SUGGESTION": "This Instagram account was previously linked to a different inbox and has now been migrated here. All new messages will appear here. The old inbox will no longer be able to send or receive messages for this account.",
"DUPLICATE_INBOX_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. You won’t be able to send/receive Instagram messages from this inbox anymore."
},
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -615,14 +663,14 @@
"WHATSAPP_CONNECT_ERROR": "Failed to connect to WhatsApp Business. Please try again.",
"WHATSAPP_RECONFIGURE_SUCCESS": "Successfully reconfigured WhatsApp Business!",
"WHATSAPP_RECONFIGURE_ERROR": "Failed to reconfigure WhatsApp Business. Please try again.",
- "WHATSAPP_APP_ID_MISSING": "WhatsApp App ID is not configured. Please contact your administrator.",
- "WHATSAPP_CONFIG_ID_MISSING": "WhatsApp Configuration ID is not configured. Please contact your administrator.",
+ "WHATSAPP_APP_ID_MISSING": "ID-ja e aplikacionit të WhatsApp-it nuk është konfiguruar. Ju lutemi, kontaktoni administratorin tuaj.",
+ "WHATSAPP_CONFIG_ID_MISSING": "ID-ja e konfigurimit të WhatsApp-it nuk është konfiguruar. Ju lutemi, kontaktoni administratorin tuaj.",
"WHATSAPP_LOGIN_CANCELLED": "WhatsApp login was cancelled. Please try again.",
"WHATSAPP_WEBHOOK_TITLE": "Webhook Verification Token",
"WHATSAPP_WEBHOOK_SUBHEADER": "This token is used to verify the authenticity of the webhook endpoint.",
"WHATSAPP_TEMPLATES_SYNC_TITLE": "Sync Templates",
"WHATSAPP_TEMPLATES_SYNC_SUBHEADER": "Manually sync message templates from WhatsApp to update your available templates.",
- "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sync Templates",
+ "WHATSAPP_TEMPLATES_SYNC_BUTTON": "Sinkronizo shabllonet",
"WHATSAPP_TEMPLATES_SYNC_SUCCESS": "Templates sync initiated successfully. It may take a couple of minutes to update.",
"UPDATE_PRE_CHAT_FORM_SETTINGS": "Update Pre Chat Form Settings"
},
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sq/integrations.json b/app/javascript/dashboard/i18n/locale/sq/integrations.json
index 3fe43940a..3fc44365f 100644
--- a/app/javascript/dashboard/i18n/locale/sq/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sq/integrations.json
@@ -466,7 +466,7 @@
"PLACEHOLDER": "Enter resolution message"
},
"INSTRUCTIONS": {
- "LABEL": "Instructions",
+ "LABEL": "Udhëzime",
"PLACEHOLDER": "Enter instructions for the assistant"
},
"FEATURES": {
@@ -492,7 +492,7 @@
},
"SYSTEM_SETTINGS": {
"TITLE": "System settings",
- "DESCRIPTION": "Customize what the assistant says when ending a conversation or transferring to a human."
+ "DESCRIPTION": "Përshtatni se çfarë thotë asistenti kur përfundon një bisedë ose kur e transferon te një agjent."
},
"CONTROL_ITEMS": {
"TITLE": "The Fun Stuff",
@@ -527,15 +527,15 @@
}
},
"GUARDRAILS": {
- "TITLE": "Guardrails",
- "DESCRIPTION": "Keeps things on track—only the kinds of questions you want your assistant to answer, nothing off-limits or off-topic.",
+ "TITLE": "Kufizime",
+ "DESCRIPTION": "I mban gjërat në vijë—vetëm llojet e pyetjeve që dëshironi që asistenti juaj t’u përgjigjet, asgjë e ndaluar apo jashtë teme.",
"BREADCRUMB": {
- "TITLE": "Guardrails"
+ "TITLE": "Kufizime"
},
"BULK_ACTION": {
"SELECTED": "{count} item selected | {count} items selected",
- "SELECT_ALL": "Select all ({count})",
- "UNSELECT_ALL": "Unselect all ({count})",
+ "SELECT_ALL": "Zgjidh të gjitha ({count})",
+ "UNSELECT_ALL": "Hiq përzgjedhjen nga të gjitha ({count})",
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
@@ -550,7 +550,7 @@
"TITLE": "Add a guardrail",
"CREATE": "Create",
"CANCEL": "Cancel",
- "PLACEHOLDER": "Type in another guardrail...",
+ "PLACEHOLDER": "Shkruani një kufizim tjetër...",
"TEST_ALL": "Test all"
}
},
@@ -576,30 +576,30 @@
},
"RESPONSE_GUIDELINES": {
"TITLE": "Response Guidelines",
- "DESCRIPTION": "The vibe and structure of your assistant’s replies—clear and friendly? Short and snappy? Detailed and formal?",
+ "DESCRIPTION": "Stili dhe struktura e përgjigjeve të asistentit tuaj—të qarta dhe miqësore? Të shkurtra dhe koncize? Të detajuara dhe formale?",
"BREADCRUMB": {
- "TITLE": "Response Guidelines"
+ "TITLE": "Udhëzime për përgjigjet"
},
"BULK_ACTION": {
- "SELECTED": "{count} item selected | {count} items selected",
- "SELECT_ALL": "Select all ({count})",
- "UNSELECT_ALL": "Unselect all ({count})",
+ "SELECTED": "{count, plural, one {{count} element i përzgjedhur} other {{count} elemente të përzgjedhura}}",
+ "SELECT_ALL": "Zgjidh të gjitha ({count})",
+ "UNSELECT_ALL": "Hiq përzgjedhjen nga të gjitha ({count})",
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "Example response guidelines",
- "ADD": "Add all",
- "ADD_SINGLE": "Add this",
- "SAVE": "Add and save (↵)",
+ "ADD": "Shto të gjitha",
+ "ADD_SINGLE": "Shto këtë",
+ "SAVE": "Shto dhe ruaj (↵)",
"PLACEHOLDER": "Type in another response guideline..."
},
"NEW": {
"TITLE": "Add a response guideline",
"CREATE": "Create",
"CANCEL": "Cancel",
- "PLACEHOLDER": "Type in another response guideline...",
- "TEST_ALL": "Test all"
+ "PLACEHOLDER": "Shkruani një udhëzim tjetër për përgjigjet...",
+ "TEST_ALL": "Testo të gjitha"
}
},
"LIST": {
@@ -623,22 +623,22 @@
}
},
"SCENARIOS": {
- "TITLE": "Scenarios",
- "DESCRIPTION": "Give your assistant some context—like “what to do when a user is stuck,” or “how to act during a refund request.”",
+ "TITLE": "Skenarë",
+ "DESCRIPTION": "Jepini asistentit pak kontekst—si p.sh. “çfarë të bëjë kur një përdorues ngec” ose “si të veprojë gjatë një kërkese për rimbursim”.",
"BREADCRUMB": {
- "TITLE": "Scenarios"
+ "TITLE": "Skenarë"
},
"BULK_ACTION": {
- "SELECTED": "{count} item selected | {count} items selected",
- "SELECT_ALL": "Select all ({count})",
- "UNSELECT_ALL": "Unselect all ({count})",
+ "SELECTED": "{count, plural, one {{count} element i përzgjedhur} other {{count} elemente të përzgjedhura}}",
+ "SELECT_ALL": "Zgjidh të gjitha ({count})",
+ "UNSELECT_ALL": "Hiq përzgjedhjen nga të gjitha ({count})",
"BULK_DELETE_BUTTON": "Delete"
},
"ADD": {
"SUGGESTED": {
"TITLE": "Example scenarios",
- "ADD": "Add all",
- "ADD_SINGLE": "Add this",
+ "ADD": "Shto të gjitha",
+ "ADD_SINGLE": "Shto këtë",
"TOOLS_USED": "Tools used :"
},
"NEW": {
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sq/macros.json b/app/javascript/dashboard/i18n/locale/sq/macros.json
index fcb409f34..33596e353 100644
--- a/app/javascript/dashboard/i18n/locale/sq/macros.json
+++ b/app/javascript/dashboard/i18n/locale/sq/macros.json
@@ -85,20 +85,20 @@
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
},
"ACTIONS": {
- "ASSIGN_TEAM": "Assign a Team",
- "ASSIGN_AGENT": "Assign an Agent",
- "ADD_LABEL": "Add a Label",
- "REMOVE_LABEL": "Remove a Label",
- "REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
- "SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
- "MUTE_CONVERSATION": "Mute Conversation",
+ "ASSIGN_TEAM": "Cakto një ekip",
+ "ASSIGN_AGENT": "Cakto një agjent",
+ "ADD_LABEL": "Shto një etiketë",
+ "REMOVE_LABEL": "Hiq një etiketë",
+ "REMOVE_ASSIGNED_TEAM": "Hiq ekipin e caktuar",
+ "SEND_EMAIL_TRANSCRIPT": "Dërgo një transkript me email",
+ "MUTE_CONVERSATION": "Heshto bisedën",
"SNOOZE_CONVERSATION": "Snooze Conversation",
"RESOLVE_CONVERSATION": "Resolve Conversation",
- "SEND_ATTACHMENT": "Send Attachment",
- "SEND_MESSAGE": "Send a Message",
+ "SEND_ATTACHMENT": "Dërgo një bashkëngjitje",
+ "SEND_MESSAGE": "Dërgo një mesazh",
"CHANGE_PRIORITY": "Change Priority",
- "ADD_PRIVATE_NOTE": "Add a Private Note",
- "SEND_WEBHOOK_EVENT": "Send Webhook Event"
+ "ADD_PRIVATE_NOTE": "Shto një shënim privat",
+ "SEND_WEBHOOK_EVENT": "Dërgo një ngjarje webhook"
},
"PRIORITY_TYPES": {
"NONE": "None",
diff --git a/app/javascript/dashboard/i18n/locale/sq/report.json b/app/javascript/dashboard/i18n/locale/sq/report.json
index 7c42fdfba..6a19b74f5 100644
--- a/app/javascript/dashboard/i18n/locale/sq/report.json
+++ b/app/javascript/dashboard/i18n/locale/sq/report.json
@@ -193,7 +193,7 @@
},
"LABEL_REPORTS": {
"HEADER": "Labels Overview",
- "DESCRIPTION": "Track label performance with key metrics including conversations, response times, resolution times, and resolved cases. Click a label name for detailed insights.",
+ "DESCRIPTION": "Ndiqni performancën e etiketave me metrika kyçe, përfshirë bisedat, kohët e përgjigjes, kohët e zgjidhjes dhe rastet e zgjidhura. Klikoni një emër etikete për analiza të detajuara.",
"LOADING_CHART": "Loading chart data...",
"NO_ENOUGH_DATA": "We've not received enough data points to generate report, Please try again later.",
"DOWNLOAD_LABEL_REPORTS": "Download label reports",
diff --git a/app/javascript/dashboard/i18n/locale/sq/settings.json b/app/javascript/dashboard/i18n/locale/sq/settings.json
index d411f2d64..705e75d37 100644
--- a/app/javascript/dashboard/i18n/locale/sq/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sq/settings.json
@@ -78,10 +78,10 @@
"NOTE": "This token can be used if you are building an API based integration",
"COPY": "Copy",
"RESET": "Reset",
- "CONFIRM_RESET": "Are you sure?",
- "CONFIRM_HINT": "Click again to confirm",
- "RESET_SUCCESS": "Access token regenerated successfully",
- "RESET_ERROR": "Unable to regenerate access token. Please try again"
+ "CONFIRM_RESET": "A jeni i sigurt?",
+ "CONFIRM_HINT": "Klikoni përsëri për të konfirmuar",
+ "RESET_SUCCESS": "Tokeni i aksesit u rigjenerua me sukses",
+ "RESET_ERROR": "Nuk mund të rigjenerohet tokeni i aksesit. Ju lutemi provoni përsëri"
},
"AUDIO_NOTIFICATIONS_SECTION": {
"TITLE": "Audio Alerts",
@@ -191,7 +191,7 @@
},
"SET_AVAILABILITY_SUCCESS": "Availability has been set successfully",
"SET_AVAILABILITY_ERROR": "Couldn't set availability, please try again",
- "IMPERSONATING_ERROR": "Cannot change availability while impersonating a user"
+ "IMPERSONATING_ERROR": "Nuk mund të ndryshoni disponueshmërinë ndërsa po veproni si një përdorues"
},
"EMAIL": {
"LABEL": "Your email address",
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Lista e ndryshimeve",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sq/whatsappTemplates.json b/app/javascript/dashboard/i18n/locale/sq/whatsappTemplates.json
index 5f53faaa8..43cfeea51 100644
--- a/app/javascript/dashboard/i18n/locale/sq/whatsappTemplates.json
+++ b/app/javascript/dashboard/i18n/locale/sq/whatsappTemplates.json
@@ -3,22 +3,22 @@
"MODAL": {
"TITLE": "Whatsapp Templates",
"SUBTITLE": "Select the whatsapp template you want to send",
- "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ "TEMPLATE_SELECTED_SUBTITLE": "Konfiguro shabllonin: {templateName}"
},
"PICKER": {
"SEARCH_PLACEHOLDER": "Search Templates",
"NO_TEMPLATES_FOUND": "No templates found for",
- "HEADER": "Header",
- "BODY": "Body",
- "FOOTER": "Footer",
- "BUTTONS": "Buttons",
+ "HEADER": "Krye",
+ "BODY": "Trup",
+ "FOOTER": "Fund",
+ "BUTTONS": "Butona",
"CATEGORY": "Category",
- "MEDIA_CONTENT": "Media Content",
- "MEDIA_CONTENT_FALLBACK": "media content",
- "NO_TEMPLATES_AVAILABLE": "No WhatsApp templates available. Click refresh to sync templates from WhatsApp.",
- "REFRESH_BUTTON": "Refresh templates",
- "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
- "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "MEDIA_CONTENT": "Përmbajtje mediatike",
+ "MEDIA_CONTENT_FALLBACK": "përmbajtje mediatike",
+ "NO_TEMPLATES_AVAILABLE": "Nuk ka shabllone WhatsApp të disponueshme. Klikoni Rifresko për të sinkronizuar shabllonet nga WhatsApp.",
+ "REFRESH_BUTTON": "Rifresko shabllonet",
+ "REFRESH_SUCCESS": "Rifreskimi i shablloneve u nis. Mund të duhen disa minuta për t'u përditësuar.",
+ "REFRESH_ERROR": "Dështoi rifreskimi i shablloneve. Ju lutemi, provoni përsëri.",
"LABELS": {
"LANGUAGE": "Language",
"TEMPLATE_BODY": "Template Body",
@@ -33,14 +33,14 @@
"GO_BACK_LABEL": "Go Back",
"SEND_MESSAGE_LABEL": "Send Message",
"FORM_ERROR_MESSAGE": "Please fill all variables before sending",
- "MEDIA_HEADER_LABEL": "{type} Header",
- "OTP_CODE": "Enter 4-8 digit OTP",
- "EXPIRY_MINUTES": "Enter expiry minutes",
- "BUTTON_PARAMETERS": "Button Parameters",
- "BUTTON_LABEL": "Button {index}",
- "COUPON_CODE": "Enter coupon code (max 15 chars)",
- "MEDIA_URL_LABEL": "Enter {type} URL",
- "BUTTON_PARAMETER": "Enter button parameter"
+ "MEDIA_HEADER_LABEL": "Krye {type}",
+ "OTP_CODE": "Futni kodin OTP me 4-8 shifra",
+ "EXPIRY_MINUTES": "Futni minutat e skadimit",
+ "BUTTON_PARAMETERS": "Parametrat e butonit",
+ "BUTTON_LABEL": "Butoni {index}",
+ "COUPON_CODE": "Futni kodin e kuponit (maks 15 karaktere)",
+ "MEDIA_URL_LABEL": "Futni URL-në e {type}",
+ "BUTTON_PARAMETER": "Futni parametrin e butonit"
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sr/contact.json b/app/javascript/dashboard/i18n/locale/sr/contact.json
index bbb3e19d0..15c2151a9 100644
--- a/app/javascript/dashboard/i18n/locale/sr/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sr/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP adresa",
"CREATED_AT_LABEL": "Kreirano",
"NEW_MESSAGE": "Nova poruka",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Nema ranijih razgovora povezanih sa ovim kontaktom.",
"TITLE": "Prethodni razgovor"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Pošalji poruku"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Povratak",
+ "SEND_MESSAGE": "Pošalji poruku"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sr/contactFilters.json b/app/javascript/dashboard/i18n/locale/sr/contactFilters.json
index 51f8dce6f..874e97846 100644
--- a/app/javascript/dashboard/i18n/locale/sr/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sr/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Kreirano",
"LAST_ACTIVITY": "Poslednja aktivnost",
"REFERER_LINK": "Veza preporuke",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Oznake"
},
"GROUPS": {
"STANDARD_FILTERS": "Standardni filteri",
diff --git a/app/javascript/dashboard/i18n/locale/sr/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sr/contentTemplates.json
new file mode 100644
index 000000000..ad67b2ccc
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sr/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Pretraži šablone",
+ "NO_TEMPLATES_FOUND": "Nijedan šablon nije pronađen",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategorija",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Jezik",
+ "TEMPLATE_BODY": "Telo šablona",
+ "CATEGORY": "Kategorija"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Tekst"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Promenljive",
+ "LANGUAGE": "Jezik",
+ "CATEGORY": "Kategorija",
+ "VARIABLE_PLACEHOLDER": "Unesite vrednost za {variable}",
+ "GO_BACK_LABEL": "Povratak",
+ "SEND_MESSAGE_LABEL": "Pošalji poruku",
+ "FORM_ERROR_MESSAGE": "Molim vas popunite sve promenljive pre slanja",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Nazad",
+ "SEND_MESSAGE_BUTTON": "Pošalji poruku"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sr/conversation.json b/app/javascript/dashboard/i18n/locale/sr/conversation.json
index cbf7cfe36..bbba3ba94 100644
--- a/app/javascript/dashboard/i18n/locale/sr/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sr/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Ovaj razgovor nije dodeljen vama. Da li želite da dodelite razgovor sebi?",
"ASSIGN_TO_ME": "Dodeli meni",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Možete jedino da odgovarate na ovaj razgovor koristeći šablon poruka zbog",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-časovno ograničenje poruka",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
index 892fc24ad..a52eff8c9 100644
--- a/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sr/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Dodavanje...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Otkaži",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Završeno",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json
index 97015ee59..fdfc66548 100644
--- a/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sr/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Izaberite kanal",
- "DESC": "Chatwoot podržava vidžete ćaskanja, Fejbuk Mesindžer, Tviter profile, WhatsApp, E-poštu, itd., kao kanale. Ako želite da izgradite proizvoljan kanal, možete kreirati ga korišćenjem API kanala. Da bi ste počeli, izaberite jedan od kanala ispod."
+ "DESC": "Chatwoot podržava vidžete ćaskanja, Fejbuk Mesindžer, Tviter profile, WhatsApp, E-poštu, itd., kao kanale. Ako želite da izgradite proizvoljan kanal, možete kreirati ga korišćenjem API kanala. Da bi ste počeli, izaberite jedan od kanala ispod.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-pošta",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenti",
@@ -477,7 +522,10 @@
"MESSAGE": "Možete se povezati sa vašim potrošačima kroz vaš novi kanal. Srećna podrška",
"BUTTON_TEXT": "Odvedi me tamo",
"MORE_SETTINGS": "Više podešavanja",
- "WEBSITE_SUCCESS": "Uspešno ste završili pravljenje kanala veb sajta. Iskopirajte kod prikazan ispod i nalepite ga u vaš vab sajt. Sledeći put kada potrošač koristi ćaskanje uživo, razgovor će se automatski pojaviti u prijemnom sandučetu."
+ "WEBSITE_SUCCESS": "Uspešno ste završili pravljenje kanala veb sajta. Iskopirajte kod prikazan ispod i nalepite ga u vaš vab sajt. Sledeći put kada potrošač koristi ćaskanje uživo, razgovor će se automatski pojaviti u prijemnom sandučetu.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Ponovna autorizacija",
"VIEW": "Pregled",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings ={options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sr/integrations.json b/app/javascript/dashboard/i18n/locale/sr/integrations.json
index 77c6d0b7b..cea1396b7 100644
--- a/app/javascript/dashboard/i18n/locale/sr/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sr/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "Adresa",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "Adresa",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sr/settings.json b/app/javascript/dashboard/i18n/locale/sr/settings.json
index 55fa96a8c..d83baf157 100644
--- a/app/javascript/dashboard/i18n/locale/sr/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sr/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/sv/contact.json b/app/javascript/dashboard/i18n/locale/sv/contact.json
index 0937bf565..458efb142 100644
--- a/app/javascript/dashboard/i18n/locale/sv/contact.json
+++ b/app/javascript/dashboard/i18n/locale/sv/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP-adress",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "Nytt meddelande",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Det finns inga tidigare konversationer kopplade till denna kontakt.",
"TITLE": "Tidigare konversationer"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Skicka meddelande"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Skicka meddelande"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/sv/contactFilters.json b/app/javascript/dashboard/i18n/locale/sv/contactFilters.json
index 7c749082e..c864d6e45 100644
--- a/app/javascript/dashboard/i18n/locale/sv/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/sv/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Senaste aktivitet",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blockerad"
+ "BLOCKED": "Blockerad",
+ "LABELS": "Etiketter"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/sv/contentTemplates.json b/app/javascript/dashboard/i18n/locale/sv/contentTemplates.json
new file mode 100644
index 000000000..6ed3b34f6
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/sv/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "Inget innehåll",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Tillbaka",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/sv/conversation.json b/app/javascript/dashboard/i18n/locale/sv/conversation.json
index e10a0422f..31de39d1a 100644
--- a/app/javascript/dashboard/i18n/locale/sv/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/sv/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Den här konversationen är inte tilldelad dig. Vill du tilldela dig själv den här konversationen?",
"ASSIGN_TO_ME": "Tilldela mig",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Du kan bara svara på denna konversation med ett mallmeddelande på grund av",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 timmars meddelandebegränsning",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
index 518ad737e..a301fda1d 100644
--- a/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/sv/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Laddar upp...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Avbryt",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json
index a600dcf2e..9c7c4e5d7 100644
--- a/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/sv/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Välj en kanal",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Hemsida",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-post",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agenter",
@@ -477,7 +522,10 @@
"MESSAGE": "Du kan nu interagera med dina kunder genom din nya kanal. Supporta glatt",
"BUTTON_TEXT": "Ta mig dit",
"MORE_SETTINGS": "Fler inställningar",
- "WEBSITE_SUCCESS": "Du har skapat en webbplatskanal. Kopiera koden som visas nedan och klistra in den på din webbplats. Nästa gång en kund använder livechatten visas konversationen automatiskt i din inkorg."
+ "WEBSITE_SUCCESS": "Du har skapat en webbplatskanal. Kopiera koden som visas nedan och klistra in den på din webbplats. Nästa gång en kund använder livechatten visas konversationen automatiskt i din inkorg.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Återauktorisera",
"VIEW": "Visa",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/sv/integrations.json b/app/javascript/dashboard/i18n/locale/sv/integrations.json
index ce27888e4..e2c2a1bd9 100644
--- a/app/javascript/dashboard/i18n/locale/sv/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/sv/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/sv/settings.json b/app/javascript/dashboard/i18n/locale/sv/settings.json
index 77aded190..e80207056 100644
--- a/app/javascript/dashboard/i18n/locale/sv/settings.json
+++ b/app/javascript/dashboard/i18n/locale/sv/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ta/contact.json b/app/javascript/dashboard/i18n/locale/ta/contact.json
index d1a3a5dd3..1e90090fc 100644
--- a/app/javascript/dashboard/i18n/locale/ta/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ta/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "இந்த தொடர்புடன் முந்தைய உரையாடல்கள் எதுவும் இல்லை.",
"TITLE": "முந்தைய உரையாடல்கள்"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ta/contactFilters.json b/app/javascript/dashboard/i18n/locale/ta/contactFilters.json
index 1cbd8246f..3bfa182a4 100644
--- a/app/javascript/dashboard/i18n/locale/ta/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ta/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ta/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ta/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ta/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ta/conversation.json b/app/javascript/dashboard/i18n/locale/ta/conversation.json
index 35fdfe6f3..f31a3a878 100644
--- a/app/javascript/dashboard/i18n/locale/ta/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ta/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
index c3dfbd38d..62fd6f91c 100644
--- a/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ta/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "பதிவேறுகிறது...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "ரத்துசெய்",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json
index f554e432c..1c2501a02 100644
--- a/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ta/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "இமெயில்",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "ஏஜென்ட்கள்",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "என்னை அங்கே அழைத்துச் செல்லுங்கள்",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "வலைத்தள சேனலை உருவாக்குவதை வெற்றிகரமாக முடித்துவிட்டீர்கள். கீழே காட்டப்பட்டுள்ள உங்கள் இணையதளத்தில் ஒட்டவும். அடுத்த முறை வாடிக்கையாளர் நேரடி சாட்டை பயன்படுத்தும்போது, உரையாடல் தானாகவே உங்கள் இன்பாக்ஸில் தோன்றும்."
+ "WEBSITE_SUCCESS": "வலைத்தள சேனலை உருவாக்குவதை வெற்றிகரமாக முடித்துவிட்டீர்கள். கீழே காட்டப்பட்டுள்ள உங்கள் இணையதளத்தில் ஒட்டவும். அடுத்த முறை வாடிக்கையாளர் நேரடி சாட்டை பயன்படுத்தும்போது, உரையாடல் தானாகவே உங்கள் இன்பாக்ஸில் தோன்றும்.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "மறு அங்கீகாரம்",
"VIEW": "காண்க",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ta/integrations.json b/app/javascript/dashboard/i18n/locale/ta/integrations.json
index 30244bd5a..0f2d045a1 100644
--- a/app/javascript/dashboard/i18n/locale/ta/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ta/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ta/settings.json b/app/javascript/dashboard/i18n/locale/ta/settings.json
index 52acfe6cc..fa1caa4e3 100644
--- a/app/javascript/dashboard/i18n/locale/ta/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ta/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/th/contact.json b/app/javascript/dashboard/i18n/locale/th/contact.json
index 292e8ccf9..aefcea237 100644
--- a/app/javascript/dashboard/i18n/locale/th/contact.json
+++ b/app/javascript/dashboard/i18n/locale/th/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "ที่อยู่ไอพี",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "ข้อความใหม่",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "ไม่มีการสนทนาก่อนหน้านี้ที่เชื่อมโยงกับผู้ติดต่อนี้",
"TITLE": "การสนทนาก่อนหน้า"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "ส่วข้อความ"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "ส่วข้อความ"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/th/contactFilters.json b/app/javascript/dashboard/i18n/locale/th/contactFilters.json
index 897905fe2..f96aee686 100644
--- a/app/javascript/dashboard/i18n/locale/th/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/th/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "สร้างเมื่อ",
"LAST_ACTIVITY": "ล่าสุดเมื่อ",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "ป้ายกำกับ"
},
"GROUPS": {
"STANDARD_FILTERS": "ตัวกรองมาตรฐาน",
diff --git a/app/javascript/dashboard/i18n/locale/th/contentTemplates.json b/app/javascript/dashboard/i18n/locale/th/contentTemplates.json
new file mode 100644
index 000000000..2f26bad2f
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/th/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "ข้อความ"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "ย้อนกลับ",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/th/conversation.json b/app/javascript/dashboard/i18n/locale/th/conversation.json
index fd7422578..b8374d0da 100644
--- a/app/javascript/dashboard/i18n/locale/th/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/th/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "การสนทนานี้ไม่ได้ถูกมอบหมายให้คุณ ต้องการที่จะจัดการด้วยตัวเองหรือไม่?",
"ASSIGN_TO_ME": "มอบหมายให้ฉัน",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "คุณสามารถตอบกลับการสนทนานี้ได้โดยใช้รูปแบบข้อความที่กำหนดเท่านั้น",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "การจำกัดหน้าต่างข้อความ 24 ชั่วโมง",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/th/helpCenter.json b/app/javascript/dashboard/i18n/locale/th/helpCenter.json
index a9bb3fda5..488dd845e 100644
--- a/app/javascript/dashboard/i18n/locale/th/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/th/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "กำลังอัพโหลด",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "ยกเลิก",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "เสร็จสิ้น",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json
index e41aab615..636135c4a 100644
--- a/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/th/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "เลือกช่องทาง",
- "DESC": "Chatwoot รองรับ live-chat widget, Facebook, Twitter, WhatsApp, Email และช่องทางอื่น ๆ ถ้าคุณต้องการสร้างช่องทางพิเศษ คุณสามารถสร้างได้โดยใช้ API channel เลือกช่องทางด้านล่างนี้เพื่อดำเนินการต่อ"
+ "DESC": "Chatwoot รองรับ live-chat widget, Facebook, Twitter, WhatsApp, Email และช่องทางอื่น ๆ ถ้าคุณต้องการสร้างช่องทางพิเศษ คุณสามารถสร้างได้โดยใช้ API channel เลือกช่องทางด้านล่างนี้เพื่อดำเนินการต่อ",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "เฟสบุ๊ค",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "อีเมล์",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "พนักงาน",
@@ -477,7 +522,10 @@
"MESSAGE": "ตอนนี้คุณสามารถมีส่วนร่วมกับลูกค้าของคุณผ่านช่องทางใหม่ได้แล้ว ขอให้มีความสุขกับการคุย",
"BUTTON_TEXT": "พาฉันไปที่นั่น",
"MORE_SETTINGS": "ตั้งค่าเพิ่มเติม",
- "WEBSITE_SUCCESS": "คุณได้สร้างช่องทางเว็บไซต์สำเร็จแล้ว คัดลอกโค้ดข้างล่างแล้วนำไปแปะที่เว็บไซต์ของคุณ ครั้งถัดไปที่ลูกค้าใช้ live chat การสนทนาจะปรากฎที่กล่องข้อความของคุณโดยอัตโนมัติ"
+ "WEBSITE_SUCCESS": "คุณได้สร้างช่องทางเว็บไซต์สำเร็จแล้ว คัดลอกโค้ดข้างล่างแล้วนำไปแปะที่เว็บไซต์ของคุณ ครั้งถัดไปที่ลูกค้าใช้ live chat การสนทนาจะปรากฎที่กล่องข้อความของคุณโดยอัตโนมัติ",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "ขอสิทธิ์อีกครั้ง",
"VIEW": "ดู",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/th/integrations.json b/app/javascript/dashboard/i18n/locale/th/integrations.json
index c9ab15529..d95336f33 100644
--- a/app/javascript/dashboard/i18n/locale/th/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/th/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "ลิ้ง",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "ลิ้ง",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/th/settings.json b/app/javascript/dashboard/i18n/locale/th/settings.json
index 2bdb9c88a..67004d623 100644
--- a/app/javascript/dashboard/i18n/locale/th/settings.json
+++ b/app/javascript/dashboard/i18n/locale/th/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/tl/contact.json b/app/javascript/dashboard/i18n/locale/tl/contact.json
index b4d640f7f..12b2d097e 100644
--- a/app/javascript/dashboard/i18n/locale/tl/contact.json
+++ b/app/javascript/dashboard/i18n/locale/tl/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/tl/contactFilters.json b/app/javascript/dashboard/i18n/locale/tl/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/tl/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/tl/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/tl/contentTemplates.json b/app/javascript/dashboard/i18n/locale/tl/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/tl/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/tl/conversation.json b/app/javascript/dashboard/i18n/locale/tl/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/tl/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/tl/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/tl/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json
index 4006212a3..f171914db 100644
--- a/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/tl/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/tl/integrations.json b/app/javascript/dashboard/i18n/locale/tl/integrations.json
index be9281284..e444fe270 100644
--- a/app/javascript/dashboard/i18n/locale/tl/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/tl/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/tl/settings.json b/app/javascript/dashboard/i18n/locale/tl/settings.json
index fde198c92..d547538db 100644
--- a/app/javascript/dashboard/i18n/locale/tl/settings.json
+++ b/app/javascript/dashboard/i18n/locale/tl/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/tr/contact.json b/app/javascript/dashboard/i18n/locale/tr/contact.json
index ec2724c03..982575725 100644
--- a/app/javascript/dashboard/i18n/locale/tr/contact.json
+++ b/app/javascript/dashboard/i18n/locale/tr/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Adresi",
"CREATED_AT_LABEL": "Oluşturuldu",
"NEW_MESSAGE": "Yeni Mesaj",
+ "CALL": "Ara",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Bu kişiyle ilişkilendirilmiş önceki görüşme yok.",
"TITLE": "Önceki Sohbetler"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Mesajı Gönder"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Geri git",
+ "SEND_MESSAGE": "Mesajı Gönder"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/tr/contactFilters.json b/app/javascript/dashboard/i18n/locale/tr/contactFilters.json
index 9c2a1d280..1b022a3e3 100644
--- a/app/javascript/dashboard/i18n/locale/tr/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/tr/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Oluşturma",
"LAST_ACTIVITY": "Son aktivite",
"REFERER_LINK": "Yönlendiren bağlantısı",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Etiketler"
},
"GROUPS": {
"STANDARD_FILTERS": "Standart Filtreler",
diff --git a/app/javascript/dashboard/i18n/locale/tr/contentTemplates.json b/app/javascript/dashboard/i18n/locale/tr/contentTemplates.json
new file mode 100644
index 000000000..f0218d6d4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/tr/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Şablon Ara",
+ "NO_TEMPLATES_FOUND": "İçin hiç şablon bulunamadı",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Kategori",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Dil",
+ "TEMPLATE_BODY": "Şablon İçeriği",
+ "CATEGORY": "Kategori"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Metin"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Değişkenler",
+ "LANGUAGE": "Dil",
+ "CATEGORY": "Kategori",
+ "VARIABLE_PLACEHOLDER": "{variable} değerini girin",
+ "GO_BACK_LABEL": "Geri Git",
+ "SEND_MESSAGE_LABEL": "Mesaj Gönder",
+ "FORM_ERROR_MESSAGE": "Lütfen göndermeden önce tüm değişkenleri doldurun",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Geri",
+ "SEND_MESSAGE_BUTTON": "Mesaj Gönder"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/tr/conversation.json b/app/javascript/dashboard/i18n/locale/tr/conversation.json
index 4fd308d44..fe72960d0 100644
--- a/app/javascript/dashboard/i18n/locale/tr/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/tr/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "Bu sohbete yalnızca {hours} saat içinde yanıt verebilirsiniz",
"NOT_ASSIGNED_TO_YOU": "Bu görüşme size atanmamış. Bu konuşmayı kendinize atamak ister misiniz?",
"ASSIGN_TO_ME": "Bana ata",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Bu konuşmaya yalnızca şablon mesaj kullanarak yanıt verebilirsiniz, çünkü",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 saat mesaj penceresi kısıtlaması",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "Bu Instagram hesabı yeni Instagram kanal gelen kutusuna taşındı. Tüm yeni mesajlar orada görünecek. Bu sohbetten artık mesaj gönderemezsiniz.",
diff --git a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
index 59555ecec..b967ee9ce 100644
--- a/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/tr/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Yükleniyor ...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "İptal Et",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Oluşturuluyor...",
+ "CONFIRM_DELETE": "{filename} silmek istediğinizden emin misiniz?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Tamamlandı",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json
index 53c38eae1..69c362258 100644
--- a/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/tr/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Anahtar Sırrı",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Bir Kanal Seçin",
- "DESC": "Chatwoot, canlı sohbet widget'ları, Facebook Messenger, Twitter profilleri, WhatsApp, E-postalar vb. olarak kanalları destekler. Özel bir kanal oluşturmak istiyorsanız, API kanalını kullanarak bunu oluşturabilirsiniz. Başlamak için aşağıdaki kanallardan birini seçin."
+ "DESC": "Chatwoot, canlı sohbet widget'ları, Facebook Messenger, Twitter profilleri, WhatsApp, E-postalar vb. olarak kanalları destekler. Özel bir kanal oluşturmak istiyorsanız, API kanalını kullanarak bunu oluşturabilirsiniz. Başlamak için aşağıdaki kanallardan birini seçin.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook\n",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "E-Posta",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Kullanıcılar",
@@ -477,7 +522,10 @@
"MESSAGE": "Artık yeni kanalınız aracılığıyla müşterilerinizle iletişim kurabilirsiniz. Mutlu destekleme!",
"BUTTON_TEXT": "Beni oraya götür",
"MORE_SETTINGS": "Daha fazla ayar",
- "WEBSITE_SUCCESS": "Bir web sitesi kanalı oluşturmayı başarıyla tamamladınız. Aşağıda gösterilen kodu kopyalayın ve web sitenize yapıştırın. Bir müşteri canlı sohbeti bir dahaki sefere kullandığında, konuşma otomatik olarak gelen kutunuzda görünecektir."
+ "WEBSITE_SUCCESS": "Bir web sitesi kanalı oluşturmayı başarıyla tamamladınız. Aşağıda gösterilen kodu kopyalayın ve web sitenize yapıştırın. Bir müşteri canlı sohbeti bir dahaki sefere kullandığında, konuşma otomatik olarak gelen kutunuzda görünecektir.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Yeniden yetkilendir",
"VIEW": "Görünüm",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\nwindow.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Diğer Sağlayıcılar"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Diğer Sağlayıcılar",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/tr/integrations.json b/app/javascript/dashboard/i18n/locale/tr/integrations.json
index d414ea777..4d3612928 100644
--- a/app/javascript/dashboard/i18n/locale/tr/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/tr/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/tr/settings.json b/app/javascript/dashboard/i18n/locale/tr/settings.json
index 5b7c546ef..535a59849 100644
--- a/app/javascript/dashboard/i18n/locale/tr/settings.json
+++ b/app/javascript/dashboard/i18n/locale/tr/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/uk/contact.json b/app/javascript/dashboard/i18n/locale/uk/contact.json
index ba4239dcf..7bde4be38 100644
--- a/app/javascript/dashboard/i18n/locale/uk/contact.json
+++ b/app/javascript/dashboard/i18n/locale/uk/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP-адреса",
"CREATED_AT_LABEL": "Створено",
"NEW_MESSAGE": "Нове повідомлення",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Не було попередніх бесід, пов'язаних з цим контактом.",
"TITLE": "Попередні бесіди"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Надіслати"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Повернутися назад",
+ "SEND_MESSAGE": "Надіслати"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/uk/contactFilters.json b/app/javascript/dashboard/i18n/locale/uk/contactFilters.json
index 3377fd177..1b5d347a9 100644
--- a/app/javascript/dashboard/i18n/locale/uk/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/uk/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Створений в",
"LAST_ACTIVITY": "Остання активність",
"REFERER_LINK": "Реферальне посилання",
- "BLOCKED": "Заблоковано"
+ "BLOCKED": "Заблоковано",
+ "LABELS": "Мітки"
},
"GROUPS": {
"STANDARD_FILTERS": "Стандартні фільтри",
diff --git a/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json b/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json
new file mode 100644
index 000000000..24b6195af
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/uk/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Знайти шаблони",
+ "NO_TEMPLATES_FOUND": "Шаблонів не знайдено для",
+ "NO_CONTENT": "Немає вмісту",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Категорія",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Мова",
+ "TEMPLATE_BODY": "Тіло шаблона",
+ "CATEGORY": "Категорія"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Текст"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Змінні",
+ "LANGUAGE": "Мова",
+ "CATEGORY": "Категорія",
+ "VARIABLE_PLACEHOLDER": "Введіть значення {variable}",
+ "GO_BACK_LABEL": "Повернутися",
+ "SEND_MESSAGE_LABEL": "Надіслати повідомлення",
+ "FORM_ERROR_MESSAGE": "Будь ласка, заповніть всі змінні перед надсиланням",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Назад",
+ "SEND_MESSAGE_BUTTON": "Надіслати повідомлення"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/uk/conversation.json b/app/javascript/dashboard/i18n/locale/uk/conversation.json
index dad14a889..b3c3f2f7b 100644
--- a/app/javascript/dashboard/i18n/locale/uk/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/uk/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Ця розмова не призначена на вас. Ви бажаєте призначити цю розмову на себе?",
"ASSIGN_TO_ME": "Призначити мені",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Ви можете відповісти на цю розмову тільки за допомогою шаблонного повідомлення через",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24-годинне обмеження на повідомлення",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
index 8d651d366..a520b0dd0 100644
--- a/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/uk/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Завантажується...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Скасувати",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Генерація...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Завершено",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json
index d57c34cf2..a9ac5b44f 100644
--- a/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/uk/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "Секретний ключ API",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Оберіть канал",
- "DESC": "Chatwoot підтримує live-chat віджети, Facebook Messenger, профілі Twitter, WhatsApp, електронну пошту і т.д. Якщо ви хочете створити користувальницький канал, ви можете створити його за допомогою каналу API. Щоб почати, виберіть один з каналів нижче."
+ "DESC": "Chatwoot підтримує live-chat віджети, Facebook Messenger, профілі Twitter, WhatsApp, електронну пошту і т.д. Якщо ви хочете створити користувальницький канал, ви можете створити його за допомогою каналу API. Щоб почати, виберіть один з каналів нижче.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Вебсайт",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Агенти",
@@ -477,7 +522,10 @@
"MESSAGE": "Ви тепер можете взаємодіяти з вашими клієнтами через ваш новий канал. Щасливої підтримки",
"BUTTON_TEXT": "Давай туди",
"MORE_SETTINGS": "Додаткові налаштування",
- "WEBSITE_SUCCESS": "Ви успішно завершили створення каналу Веб-сайт. Скопіюйте наведений нижче код і вставте його на ваш сайт. Наступного разу коли клієнт скористається онлайн чатом, розмова автоматично з'явиться в вашій скриньці Вхідні."
+ "WEBSITE_SUCCESS": "Ви успішно завершили створення каналу Веб-сайт. Скопіюйте наведений нижче код і вставте його на ваш сайт. Наступного разу коли клієнт скористається онлайн чатом, розмова автоматично з'явиться в вашій скриньці Вхідні.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Повторна авторизація",
"VIEW": "Вигляд",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Інші постачальники"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Інші постачальники",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/uk/integrations.json b/app/javascript/dashboard/i18n/locale/uk/integrations.json
index fd1c820fc..057727049 100644
--- a/app/javascript/dashboard/i18n/locale/uk/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/uk/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/uk/settings.json b/app/javascript/dashboard/i18n/locale/uk/settings.json
index 2512506a2..6d311258a 100644
--- a/app/javascript/dashboard/i18n/locale/uk/settings.json
+++ b/app/javascript/dashboard/i18n/locale/uk/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ur/contact.json b/app/javascript/dashboard/i18n/locale/ur/contact.json
index 249c1b013..1456ed8ae 100644
--- a/app/javascript/dashboard/i18n/locale/ur/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ur/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "آئی پی ایڈریس",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "نیا پیغام",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "اس کانٹیکٹ سے وابستہ کوئی پچھلی بات چیت موجود نہیں ہے۔.",
"TITLE": "پچھلی بات چیت"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "پیغام بھیجیں"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "پیغام بھیجیں"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ur/contactFilters.json b/app/javascript/dashboard/i18n/locale/ur/contactFilters.json
index 258a072ea..5d065730c 100644
--- a/app/javascript/dashboard/i18n/locale/ur/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ur/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "آخری سرگرمی",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ur/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ur/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ur/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ur/conversation.json b/app/javascript/dashboard/i18n/locale/ur/conversation.json
index 67c016b4f..1926fb2a7 100644
--- a/app/javascript/dashboard/i18n/locale/ur/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ur/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "یہ گفتگو آپ کو تفویض نہیں کی گئی ہے۔ کیا آپ یہ گفتگو اپنے آپ کو تفویض کرنا چاہیں گے?",
"ASSIGN_TO_ME": "مجھے تفویض کریں۔",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "آپ اس بات چیت کا جواب صرف ایک ٹیمپلیٹ پیغام کا استعمال کرتے ہوئے دے سکتے ہیں, کيونکہ",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 گھنٹے میسج ونڈو کی پابندی",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
index f09b765c0..e40435b54 100644
--- a/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ur/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "منسوخ کریں۔",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json
index b8f615d8a..d4d59e826 100644
--- a/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ur/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "فیس بک",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "ایجنٹ",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ur/integrations.json b/app/javascript/dashboard/i18n/locale/ur/integrations.json
index eaab517a2..9b8d20093 100644
--- a/app/javascript/dashboard/i18n/locale/ur/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ur/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ur/settings.json b/app/javascript/dashboard/i18n/locale/ur/settings.json
index cf3660791..326f39c98 100644
--- a/app/javascript/dashboard/i18n/locale/ur/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ur/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json
index 38489d630..328e15aaa 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/contact.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP Address",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "New message",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "There are no previous conversations associated to this contact.",
"TITLE": "Previous Conversations"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Send message"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Go back",
+ "SEND_MESSAGE": "Send message"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contactFilters.json b/app/javascript/dashboard/i18n/locale/ur_IN/contactFilters.json
index bb3221c6e..4c62f0789 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Created At",
"LAST_ACTIVITY": "Last Activity",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Labels"
},
"GROUPS": {
"STANDARD_FILTERS": "Standard Filters",
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/contentTemplates.json b/app/javascript/dashboard/i18n/locale/ur_IN/contentTemplates.json
new file mode 100644
index 000000000..a9b1d54c4
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Text"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Back",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json
index 308f24f51..93f375e7f 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "Assign to me",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 hour message window restriction",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
index fd2b1a788..f85043c60 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Uploading...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Cancel",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Completed",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json
index a81205fe7..297730f41 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Choose a channel",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Agents",
@@ -477,7 +522,10 @@
"MESSAGE": "You can now engage with your customers through your new Channel. Happy supporting",
"BUTTON_TEXT": "Take me there",
"MORE_SETTINGS": "More settings",
- "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox."
+ "WEBSITE_SUCCESS": "You have successfully finished creating a website channel. Copy the code shown below and paste it on your website. Next time a customer use the live chat, the conversation will automatically appear on your inbox.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Reauthorize",
"VIEW": "View",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json
index f0c7abbd3..727ee453a 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json
index 469dfe4ac..98c3f559b 100644
--- a/app/javascript/dashboard/i18n/locale/ur_IN/settings.json
+++ b/app/javascript/dashboard/i18n/locale/ur_IN/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/vi/contact.json b/app/javascript/dashboard/i18n/locale/vi/contact.json
index 384923580..f04ae7e53 100644
--- a/app/javascript/dashboard/i18n/locale/vi/contact.json
+++ b/app/javascript/dashboard/i18n/locale/vi/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "Địa chỉ IP",
"CREATED_AT_LABEL": "Đã tạo",
"NEW_MESSAGE": "Tin nhắn mới",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "Không có cuộc trò chuyện trước đó được liên kết với liên hệ này.",
"TITLE": "Cuộc trò chuyện trước đó"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "Gửi tin nhắn"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "Trở về",
+ "SEND_MESSAGE": "Gửi tin nhắn"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/vi/contactFilters.json b/app/javascript/dashboard/i18n/locale/vi/contactFilters.json
index f235daffa..e4b72381b 100644
--- a/app/javascript/dashboard/i18n/locale/vi/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/vi/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "Tạo vào lúc",
"LAST_ACTIVITY": "Hành động cuối cùng",
"REFERER_LINK": "Liên kết người gới thiệu",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "Nhãn"
},
"GROUPS": {
"STANDARD_FILTERS": "Bộ lọc tiêu chuẩn",
diff --git a/app/javascript/dashboard/i18n/locale/vi/contentTemplates.json b/app/javascript/dashboard/i18n/locale/vi/contentTemplates.json
new file mode 100644
index 000000000..b15490394
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/vi/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Tìm kiếm Mẫu",
+ "NO_TEMPLATES_FOUND": "Không tìm thấy mẫu nào cho",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Loại",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Ngôn ngữ",
+ "TEMPLATE_BODY": "Nội dung của Mẫu",
+ "CATEGORY": "Loại"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "Văn bản"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Biến",
+ "LANGUAGE": "Ngôn ngữ",
+ "CATEGORY": "Loại",
+ "VARIABLE_PLACEHOLDER": "Nhập giá trị {variable}",
+ "GO_BACK_LABEL": "Quay lại",
+ "SEND_MESSAGE_LABEL": "Gửi tin nhắn",
+ "FORM_ERROR_MESSAGE": "Vui lòng điền vào tất cả các biến trước khi gửi",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "Trờ về",
+ "SEND_MESSAGE_BUTTON": "Gửi tin nhắn"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/vi/conversation.json b/app/javascript/dashboard/i18n/locale/vi/conversation.json
index 2803b1748..84484850a 100644
--- a/app/javascript/dashboard/i18n/locale/vi/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/vi/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "Hội thoại này không được phân công cho bạn. Bạn có muốn phân công hội thoại này cho chính mình?",
"ASSIGN_TO_ME": "Phân công cho tôi",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "Bạn chỉ có thể phản hồi hội thoại này bằng tin nhắn mẫu vì",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "Giới hạn thời lượng tin nhắn 24 giờ",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
index c7cb438b4..144acffc1 100644
--- a/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/vi/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "Đang tải lên...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "Huỷ",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "Hoàn tất",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json
index be06fe575..e5ca9075f 100644
--- a/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/vi/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "Chọn kênh",
- "DESC": "Chatwoot hỗ trợ các tiện ích trò chuyện trực tiếp, Facebook Messenger, hồ sơ Twitter, WhatsApp, Email, v. v., dưới dạng các kênh. Nếu bạn muốn xây dựng một kênh tùy chỉnh, bạn có thể tạo kênh này bằng cách sử dụng kênh API. Để bắt đầu, hãy chọn một trong các kênh bên dưới."
+ "DESC": "Chatwoot hỗ trợ các tiện ích trò chuyện trực tiếp, Facebook Messenger, hồ sơ Twitter, WhatsApp, Email, v. v., dưới dạng các kênh. Nếu bạn muốn xây dựng một kênh tùy chỉnh, bạn có thể tạo kênh này bằng cách sử dụng kênh API. Để bắt đầu, hãy chọn một trong các kênh bên dưới.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "Nhà Cung Cấp",
@@ -477,7 +522,10 @@
"MESSAGE": "Giờ đây, bạn có thể tương tác với khách hàng thông qua Kênh mới của mình. Chúc vui vẻ ủng hộ",
"BUTTON_TEXT": "Đưa cho tôi",
"MORE_SETTINGS": "Nhiều tuỳ chọn hơn",
- "WEBSITE_SUCCESS": "Bạn đã hoàn thành việc tạo kênh trang web thành công. Sao chép mã được hiển thị bên dưới và dán vào trang web của bạn. Lần tới khi khách hàng sử dụng cuộc trò chuyện trực tiếp, cuộc trò chuyện sẽ tự động xuất hiện trong hộp thư đến của bạn."
+ "WEBSITE_SUCCESS": "Bạn đã hoàn thành việc tạo kênh trang web thành công. Sao chép mã được hiển thị bên dưới và dán vào trang web của bạn. Lần tới khi khách hàng sử dụng cuộc trò chuyện trực tiếp, cuộc trò chuyện sẽ tự động xuất hiện trong hộp thư đến của bạn.",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "Ủy quyền lại",
"VIEW": "Xem",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\nwindow.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/vi/integrations.json b/app/javascript/dashboard/i18n/locale/vi/integrations.json
index 10a6df6b9..6ff543139 100644
--- a/app/javascript/dashboard/i18n/locale/vi/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/vi/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/vi/settings.json b/app/javascript/dashboard/i18n/locale/vi/settings.json
index c817c6767..6a3f631c7 100644
--- a/app/javascript/dashboard/i18n/locale/vi/settings.json
+++ b/app/javascript/dashboard/i18n/locale/vi/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "Change appearance",
"SUPER_ADMIN_CONSOLE": "SuperAdmin console",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "Log out"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json
index b233f798b..92ba59691 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/contact.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP 地址",
"CREATED_AT_LABEL": "创建时间",
"NEW_MESSAGE": "新消息",
+ "CALL": "呼叫",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "此联系人没有关联到以前的会话。",
"TITLE": "上一次对话"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "发送消息"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "选择模板",
+ "SEARCH_PLACEHOLDER": "搜索模板",
+ "EMPTY_STATE": "未找到模板",
+ "TEMPLATE_PARSER": {
+ "BACK": "返回",
+ "SEND_MESSAGE": "发送消息"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "丢弃",
"SEND": "发送 ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contactFilters.json b/app/javascript/dashboard/i18n/locale/zh_CN/contactFilters.json
index 239546d58..10037155b 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "创建于",
"LAST_ACTIVITY": "最后一次活动",
"REFERER_LINK": "引用链接",
- "BLOCKED": "已阻止"
+ "BLOCKED": "已阻止",
+ "LABELS": "标签"
},
"GROUPS": {
"STANDARD_FILTERS": "标准过滤器",
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/contentTemplates.json b/app/javascript/dashboard/i18n/locale/zh_CN/contentTemplates.json
new file mode 100644
index 000000000..60ea8a95e
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "查找模板",
+ "NO_TEMPLATES_FOUND": "没有找到对应的模版",
+ "NO_CONTENT": "无内容",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "类别",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "语言",
+ "TEMPLATE_BODY": "模板内容",
+ "CATEGORY": "类别"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "文本"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "参数",
+ "LANGUAGE": "语言",
+ "CATEGORY": "类别",
+ "VARIABLE_PLACEHOLDER": "请填写 {variable}",
+ "GO_BACK_LABEL": "返回",
+ "SEND_MESSAGE_LABEL": "发送消息",
+ "FORM_ERROR_MESSAGE": "你必须填写所有参数才能发送",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "后退",
+ "SEND_MESSAGE_BUTTON": "发送消息"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json
index c2bdd2aaa..d05bc3f1d 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "您只能在 {hours} 小时内回复此对话",
"NOT_ASSIGNED_TO_YOU": "此对话未分配给您。您想要将此对话分配给自己吗?",
"ASSIGN_TO_ME": "分配给我",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "您只能使用模板信息回复此会话,原因是",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 小时消息窗口限制",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "此 Instagram 帐户已迁移到新的 Instagram 通道收件箱。 所有新消息都将在这里显示。您将无法从这个对话中发送消息。",
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
index ede897b38..a42f838b9 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "无法更新门户"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "上传中...",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "取消",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "生成中...",
+ "CONFIRM_DELETE": "您确定要删除 {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "已完成",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json
index 9469db1f9..ed8279921 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API 密钥密码",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "选择一个通道",
- "DESC": "Chatwoot支持实时聊天小部件、Facebook Messenger、Twitter个人资料、WhatsApp、电子邮件等作为通道。如果您想构建自定义通道,可以使用API通道创建。要开始,请从下面的通道中选择一个。"
+ "DESC": "Chatwoot支持实时聊天小部件、Facebook Messenger、Twitter个人资料、WhatsApp、电子邮件等作为通道。如果您想构建自定义通道,可以使用API通道创建。要开始,请从下面的通道中选择一个。",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "搞定!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "网站",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "短信",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "客服代理们",
@@ -477,7 +522,10 @@
"MESSAGE": "您现在可以通过您的新频道与您的客户联系。快乐支持",
"BUTTON_TEXT": "带我到这里",
"MORE_SETTINGS": "更多设置",
- "WEBSITE_SUCCESS": "您已成功完成创建网站频道。复制下面显示的代码并将其粘贴在您的网站上。下次客户使用实时聊天时,对话将自动出现在您的收件箱中。"
+ "WEBSITE_SUCCESS": "您已成功完成创建网站频道。复制下面显示的代码并将其粘贴在您的网站上。下次客户使用实时聊天时,对话将自动出现在您的收件箱中。",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "重新授权",
"VIEW": "查看",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "其他提供商"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "其他提供商",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json
index 24de2da6d..027ba1f2b 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "创建文档时出错,请重试"
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "网址",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "网址",
"PLACEHOLDER": "输入文档的 URL",
"ERROR": "请提供有效的文档 URL"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "助手",
"PLACEHOLDER": "选择助手",
diff --git a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json
index f45f296c9..843f2f7a2 100644
--- a/app/javascript/dashboard/i18n/locale/zh_CN/settings.json
+++ b/app/javascript/dashboard/i18n/locale/zh_CN/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "更改外观",
"SUPER_ADMIN_CONSOLE": "超级管理员控制台",
"DOCS": "阅读文档",
+ "CHANGELOG": "Changelog",
"LOGOUT": "注销"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json
index bdde30a21..8c1e26894 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/contact.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/contact.json
@@ -17,6 +17,11 @@
"IP_ADDRESS": "IP 位置",
"CREATED_AT_LABEL": "Created",
"NEW_MESSAGE": "新訊息",
+ "CALL": "Call",
+ "CALL_UNDER_DEVELOPMENT": "Calling is under development",
+ "VOICE_INBOX_PICKER": {
+ "TITLE": "Choose a voice inbox"
+ },
"CONVERSATIONS": {
"NO_RECORDS_FOUND": "此聯絡人没有關聯到以前的對話。",
"TITLE": "上一次對話"
@@ -605,6 +610,15 @@
"SEND_MESSAGE": "傳送訊息"
}
},
+ "TWILIO_OPTIONS": {
+ "LABEL": "Select template",
+ "SEARCH_PLACEHOLDER": "Search templates",
+ "EMPTY_STATE": "No templates found",
+ "TEMPLATE_PARSER": {
+ "BACK": "返回",
+ "SEND_MESSAGE": "傳送訊息"
+ }
+ },
"ACTION_BUTTONS": {
"DISCARD": "Discard",
"SEND": "Send ({keyCode})"
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json b/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json
index 197785619..5d5de1c42 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/contactFilters.json
@@ -48,7 +48,8 @@
"CREATED_AT": "建立於",
"LAST_ACTIVITY": "最後活動",
"REFERER_LINK": "Referrer link",
- "BLOCKED": "Blocked"
+ "BLOCKED": "Blocked",
+ "LABELS": "標籤"
},
"GROUPS": {
"STANDARD_FILTERS": "一般篩選條件",
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json b/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json
new file mode 100644
index 000000000..f490c40d1
--- /dev/null
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/contentTemplates.json
@@ -0,0 +1,51 @@
+{
+ "CONTENT_TEMPLATES": {
+ "MODAL": {
+ "TITLE": "Twilio Templates",
+ "SUBTITLE": "Select the Twilio template you want to send",
+ "TEMPLATE_SELECTED_SUBTITLE": "Configure template: {templateName}"
+ },
+ "PICKER": {
+ "SEARCH_PLACEHOLDER": "Search Templates",
+ "NO_TEMPLATES_FOUND": "No templates found for",
+ "NO_CONTENT": "No content",
+ "HEADER": "Header",
+ "BODY": "Body",
+ "FOOTER": "Footer",
+ "BUTTONS": "Buttons",
+ "CATEGORY": "Category",
+ "MEDIA_CONTENT": "Media Content",
+ "MEDIA_CONTENT_FALLBACK": "media content",
+ "NO_TEMPLATES_AVAILABLE": "No Twilio templates available. Click refresh to sync templates from Twilio.",
+ "REFRESH_BUTTON": "Refresh templates",
+ "REFRESH_SUCCESS": "Templates refresh initiated. It may take a couple of minutes to update.",
+ "REFRESH_ERROR": "Failed to refresh templates. Please try again.",
+ "LABELS": {
+ "LANGUAGE": "Language",
+ "TEMPLATE_BODY": "Template Body",
+ "CATEGORY": "Category"
+ },
+ "TYPES": {
+ "MEDIA": "Media",
+ "QUICK_REPLY": "Quick Reply",
+ "TEXT": "文字"
+ }
+ },
+ "PARSER": {
+ "VARIABLES_LABEL": "Variables",
+ "LANGUAGE": "Language",
+ "CATEGORY": "Category",
+ "VARIABLE_PLACEHOLDER": "Enter {variable} value",
+ "GO_BACK_LABEL": "Go Back",
+ "SEND_MESSAGE_LABEL": "Send Message",
+ "FORM_ERROR_MESSAGE": "Please fill all variables before sending",
+ "MEDIA_HEADER_LABEL": "{type} Header",
+ "MEDIA_URL_LABEL": "Enter full media URL",
+ "MEDIA_URL_PLACEHOLDER": "https://example.com/image.jpg"
+ },
+ "FORM": {
+ "BACK_BUTTON": "返回",
+ "SEND_MESSAGE_BUTTON": "Send Message"
+ }
+ }
+}
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json
index 7b15031ca..75e09926d 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/conversation.json
@@ -35,6 +35,11 @@
"API_HOURS_WINDOW": "You can only reply to this conversation within {hours} hours",
"NOT_ASSIGNED_TO_YOU": "This conversation is not assigned to you. Would you like to assign this conversation to yourself?",
"ASSIGN_TO_ME": "指定給我",
+ "BOT_HANDOFF_MESSAGE": "You are responding to a conversation which is currently handled by an assistant or a bot.",
+ "BOT_HANDOFF_ACTION": "Mark open and assign to you",
+ "BOT_HANDOFF_REOPEN_ACTION": "Mark conversation open",
+ "BOT_HANDOFF_SUCCESS": "Conversation has been handed over to you",
+ "BOT_HANDOFF_ERROR": "Failed to take over the conversation. Please try again.",
"TWILIO_WHATSAPP_CAN_REPLY": "You can only reply to this conversation using a template message due to",
"TWILIO_WHATSAPP_24_HOURS_WINDOW": "24 小時消息視窗限制",
"OLD_INSTAGRAM_INBOX_REPLY_BANNER": "This Instagram account was migrated to the new Instagram channel inbox. All new messages will show up there. You won’t be able to send messages from this conversation anymore.",
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
index 0fff5245e..5c3936aef 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/helpCenter.json
@@ -807,6 +807,58 @@
"ERROR_MESSAGE": "Unable to update portal"
}
}
+ },
+ "PDF_UPLOAD": {
+ "TITLE": "Upload PDF Document",
+ "DESCRIPTION": "Upload a PDF document to automatically generate FAQs using AI",
+ "DRAG_DROP_TEXT": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "ADDITIONAL_CONTEXT_LABEL": "Additional Context (Optional)",
+ "ADDITIONAL_CONTEXT_PLACEHOLDER": "Provide any additional context or instructions for FAQ generation...",
+ "UPLOADING": "上傳中",
+ "UPLOAD": "Upload & Process",
+ "CANCEL": "取消",
+ "ERROR_INVALID_TYPE": "Please select a valid PDF file",
+ "ERROR_FILE_TOO_LARGE": "File size must be less than 512MB",
+ "ERROR_UPLOAD_FAILED": "Failed to upload PDF. Please try again."
+ },
+ "PDF_DOCUMENTS": {
+ "TITLE": "PDF Documents",
+ "DESCRIPTION": "Manage uploaded PDF documents and generate FAQs from them",
+ "UPLOAD_PDF": "Upload PDF",
+ "UPLOAD_FIRST_PDF": "Upload your first PDF",
+ "UPLOADED_BY": "Uploaded by",
+ "GENERATE_FAQS": "Generate FAQs",
+ "GENERATING": "Generating...",
+ "CONFIRM_DELETE": "Are you sure you want to delete {filename}?",
+ "EMPTY_STATE": {
+ "TITLE": "No PDF documents yet",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQs using AI"
+ },
+ "STATUS": {
+ "UPLOADED": "Ready",
+ "PROCESSING": "Processing",
+ "PROCESSED": "已完成",
+ "FAILED": "Failed"
+ }
+ },
+ "CONTENT_GENERATION": {
+ "TITLE": "Content Generation",
+ "DESCRIPTION": "Upload PDF documents to automatically generate FAQ content using AI",
+ "UPLOAD_TITLE": "Upload PDF Document",
+ "DRAG_DROP": "Drag and drop your PDF file here, or click to select",
+ "SELECT_FILE": "Select PDF File",
+ "UPLOADING": "Processing document...",
+ "UPLOAD_SUCCESS": "Document processed successfully!",
+ "UPLOAD_ERROR": "Failed to upload document. Please try again.",
+ "INVALID_FILE_TYPE": "Please select a valid PDF file",
+ "FILE_TOO_LARGE": "File size must be less than 512MB",
+ "GENERATED_CONTENT": "Generated FAQ Content",
+ "PUBLISH_SELECTED": "Publish Selected",
+ "PUBLISHING": "Publishing...",
+ "FROM_DOCUMENT": "From document",
+ "NO_CONTENT": "No generated content available. Upload a PDF document to get started.",
+ "LOADING": "Loading generated content..."
}
}
}
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json
index 65f73f500..57c251709 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/inboxMgmt.json
@@ -330,13 +330,14 @@
"LABEL": "API Key Secret",
"PLACEHOLDER": "Enter your Twilio API Key Secret",
"REQUIRED": "API Key Secret is required"
- },
- "TWIML_APP_SID": {
- "LABEL": "TwiML App SID",
- "PLACEHOLDER": "Enter your Twilio TwiML App SID (starts with AP)",
- "REQUIRED": "TwiML App SID is required"
}
},
+ "CONFIGURATION": {
+ "TWILIO_VOICE_URL_TITLE": "Twilio Voice URL",
+ "TWILIO_VOICE_URL_SUBTITLE": "Configure this URL as the Voice URL on your Twilio phone number and TwiML App.",
+ "TWILIO_STATUS_URL_TITLE": "Twilio Status Callback URL",
+ "TWILIO_STATUS_URL_SUBTITLE": "Configure this URL as the Status Callback URL on your Twilio phone number."
+ },
"SUBMIT_BUTTON": "Create Voice Channel",
"API": {
"ERROR_MESSAGE": "We were not able to create the voice channel"
@@ -423,7 +424,51 @@
},
"AUTH": {
"TITLE": "選擇一個頻道",
- "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below."
+ "DESC": "Chatwoot supports live-chat widgets, Facebook Messenger, Twitter profiles, WhatsApp, Emails, etc., as channels. If you want to build a custom channel, you can create it using the API channel. To get started, choose one of the channels below.",
+ "TITLE_NEXT": "Complete the setup",
+ "TITLE_FINISH": "Voilà!",
+ "CHANNEL": {
+ "WEBSITE": {
+ "TITLE": "Website",
+ "DESCRIPTION": "Create a live-chat widget"
+ },
+ "FACEBOOK": {
+ "TITLE": "Facebook",
+ "DESCRIPTION": "Connect your Facebook page"
+ },
+ "WHATSAPP": {
+ "TITLE": "WhatsApp",
+ "DESCRIPTION": "Support your customers on WhatsApp"
+ },
+ "EMAIL": {
+ "TITLE": "Email",
+ "DESCRIPTION": "Connect with Gmail, Outlook, or other providers"
+ },
+ "SMS": {
+ "TITLE": "SMS",
+ "DESCRIPTION": "Integrate SMS channel with Twilio or bandwidth"
+ },
+ "API": {
+ "TITLE": "API",
+ "DESCRIPTION": "Make a custom channel using our API"
+ },
+ "TELEGRAM": {
+ "TITLE": "Telegram",
+ "DESCRIPTION": "Configure Telegram channel using Bot token"
+ },
+ "LINE": {
+ "TITLE": "Line",
+ "DESCRIPTION": "Integrate your Line channel"
+ },
+ "INSTAGRAM": {
+ "TITLE": "Instagram",
+ "DESCRIPTION": "Connect your instagram account"
+ },
+ "VOICE": {
+ "TITLE": "Voice",
+ "DESCRIPTION": "Integrate with Twilio Voice"
+ }
+ }
},
"AGENTS": {
"TITLE": "客服",
@@ -477,7 +522,10 @@
"MESSAGE": "您現在可以通過您的新頻道與您的客户聯繫。開心的支援客戶吧",
"BUTTON_TEXT": "带我到這裡",
"MORE_SETTINGS": "更多設定",
- "WEBSITE_SUCCESS": "您已成功完成建立網站頻道。複製下面顯示的代碼並將其黏貼在您的網站上。 下次客户使用即時聊天時,對話將自動出現在您的收件匣中。"
+ "WEBSITE_SUCCESS": "您已成功完成建立網站頻道。複製下面顯示的代碼並將其黏貼在您的網站上。 下次客户使用即時聊天時,對話將自動出現在您的收件匣中。",
+ "WHATSAPP_QR_INSTRUCTION": "Scan the QR code above to quickly test your WhatsApp inbox",
+ "MESSENGER_QR_INSTRUCTION": "Scan the QR code above to quickly test your Facebook Messenger inbox",
+ "TELEGRAM_QR_INSTRUCTION": "Scan the QR code above to quickly test your Telegram inbox"
},
"REAUTH": "重新授權",
"VIEW": "查看",
@@ -867,9 +915,18 @@
"SCRIPT_SETTINGS": "\n window.chatwootSettings = {options};"
},
"EMAIL_PROVIDERS": {
- "MICROSOFT": "Microsoft",
- "GOOGLE": "Google",
- "OTHER_PROVIDERS": "Other Providers"
+ "MICROSOFT": {
+ "TITLE": "Microsoft",
+ "DESCRIPTION": "Connect with Microsoft"
+ },
+ "GOOGLE": {
+ "TITLE": "Google",
+ "DESCRIPTION": "Connect with Google"
+ },
+ "OTHER_PROVIDERS": {
+ "TITLE": "Other Providers",
+ "DESCRIPTION": "Connect with Other Providers"
+ }
},
"CHANNELS": {
"MESSENGER": "Messenger",
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json
index 598fc185b..252f74868 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/integrations.json
@@ -704,11 +704,28 @@
"ERROR_MESSAGE": "There was an error creating the document, please try again."
},
"FORM": {
+ "TYPE": {
+ "LABEL": "Document Type",
+ "URL": "URL",
+ "PDF": "PDF File"
+ },
"URL": {
"LABEL": "URL",
"PLACEHOLDER": "Enter the URL of the document",
"ERROR": "Please provide a valid URL for the document"
},
+ "PDF_FILE": {
+ "LABEL": "PDF File",
+ "CHOOSE_FILE": "Choose PDF file",
+ "ERROR": "Please select a PDF file",
+ "HELP_TEXT": "Maximum file size: 10MB",
+ "INVALID_TYPE": "Please select a valid PDF file",
+ "TOO_LARGE": "File size exceeds 10MB limit"
+ },
+ "NAME": {
+ "LABEL": "Document Name (Optional)",
+ "PLACEHOLDER": "Enter a name for the document"
+ },
"ASSISTANT": {
"LABEL": "Assistant",
"PLACEHOLDER": "Select the assistant",
diff --git a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json
index f34b2d5aa..094af1d7c 100644
--- a/app/javascript/dashboard/i18n/locale/zh_TW/settings.json
+++ b/app/javascript/dashboard/i18n/locale/zh_TW/settings.json
@@ -226,6 +226,7 @@
"APPEARANCE": "切換風格",
"SUPER_ADMIN_CONSOLE": "系統管理員後台",
"DOCS": "Read documentation",
+ "CHANGELOG": "Changelog",
"LOGOUT": "退出登入"
},
"APP_GLOBAL": {
diff --git a/app/javascript/dashboard/mixins/fileUploadMixin.js b/app/javascript/dashboard/mixins/fileUploadMixin.js
index 85d640ec5..5313be812 100644
--- a/app/javascript/dashboard/mixins/fileUploadMixin.js
+++ b/app/javascript/dashboard/mixins/fileUploadMixin.js
@@ -3,6 +3,7 @@ import { useAlert } from 'dashboard/composables';
import { checkFileSizeLimit } from 'shared/helpers/FileHelper';
import { getMaxUploadSizeByChannel } from '@chatwoot/utils';
import { DirectUpload } from 'activestorage';
+import { MAXIMUM_FILE_UPLOAD_SIZE } from 'shared/constants/messages';
export default {
computed: {
@@ -13,6 +14,11 @@ export default {
methods: {
maxSizeFor(mime) {
+ // Use default file size limit for private notes
+ if (this.isOnPrivateNote) {
+ return MAXIMUM_FILE_UPLOAD_SIZE;
+ }
+
return getMaxUploadSizeByChannel({
channelType: this.inbox?.channel_type,
medium: this.inbox?.medium, // e.g. 'sms' | 'whatsapp'
diff --git a/app/javascript/dashboard/modules/search/components/MessageContent.vue b/app/javascript/dashboard/modules/search/components/MessageContent.vue
index fef35ac89..9ec425919 100644
--- a/app/javascript/dashboard/modules/search/components/MessageContent.vue
+++ b/app/javascript/dashboard/modules/search/components/MessageContent.vue
@@ -1,5 +1,5 @@
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/Index.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/Index.vue
new file mode 100644
index 000000000..ab9fcf17e
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/Index.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/assignmentPolicy.routes.js b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/assignmentPolicy.routes.js
new file mode 100644
index 000000000..f09cc1485
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/assignmentPolicy.routes.js
@@ -0,0 +1,70 @@
+import { FEATURE_FLAGS } from '../../../../featureFlags';
+import { frontendURL } from '../../../../helper/URLHelper';
+import SettingsWrapper from '../SettingsWrapper.vue';
+import AssignmentPolicyIndex from './Index.vue';
+import AgentAssignmentIndex from './pages/AgentAssignmentIndexPage.vue';
+import AgentAssignmentCreate from './pages/AgentAssignmentCreatePage.vue';
+import AgentAssignmentEdit from './pages/AgentAssignmentEditPage.vue';
+import AgentCapacityIndex from './pages/AgentCapacityIndexPage.vue';
+
+export default {
+ routes: [
+ {
+ path: frontendURL('accounts/:accountId/settings/assignment-policy'),
+ component: SettingsWrapper,
+ children: [
+ {
+ path: '',
+ redirect: to => {
+ return { name: 'assignment_policy_index', params: to.params };
+ },
+ },
+ {
+ path: 'index',
+ name: 'assignment_policy_index',
+ component: AssignmentPolicyIndex,
+ meta: {
+ featureFlag: FEATURE_FLAGS.ASSIGNMENT_V2,
+ permissions: ['administrator'],
+ },
+ },
+ {
+ path: 'assignment',
+ name: 'agent_assignment_policy_index',
+ component: AgentAssignmentIndex,
+ meta: {
+ featureFlag: FEATURE_FLAGS.ASSIGNMENT_V2,
+ permissions: ['administrator'],
+ },
+ },
+ {
+ path: 'assignment/create',
+ name: 'agent_assignment_policy_create',
+ component: AgentAssignmentCreate,
+ meta: {
+ featureFlag: FEATURE_FLAGS.ASSIGNMENT_V2,
+ permissions: ['administrator'],
+ },
+ },
+ {
+ path: 'assignment/edit/:id',
+ name: 'agent_assignment_policy_edit',
+ component: AgentAssignmentEdit,
+ meta: {
+ featureFlag: FEATURE_FLAGS.ASSIGNMENT_V2,
+ permissions: ['administrator'],
+ },
+ },
+ {
+ path: 'capacity',
+ name: 'agent_capacity_policy_index',
+ component: AgentCapacityIndex,
+ meta: {
+ featureFlag: FEATURE_FLAGS.ASSIGNMENT_V2,
+ permissions: ['administrator'],
+ },
+ },
+ ],
+ },
+ ],
+};
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/constants.js b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/constants.js
new file mode 100644
index 000000000..350faa60c
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/constants.js
@@ -0,0 +1,17 @@
+// Assignment order types
+export const ROUND_ROBIN = 'round_robin';
+export const BALANCED = 'balanced';
+
+// Assignment priority types
+export const EARLIEST_CREATED = 'earliest_created';
+export const LONGEST_WAITING = 'longest_waiting';
+
+// Default values for fair distribution
+export const DEFAULT_FAIR_DISTRIBUTION_LIMIT = 100;
+export const DEFAULT_FAIR_DISTRIBUTION_WINDOW = 3600;
+
+// Options groupings
+export const OPTIONS = {
+ ORDER: [ROUND_ROBIN, BALANCED],
+ PRIORITY: [EARLIEST_CREATED, LONGEST_WAITING],
+};
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentCreatePage.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentCreatePage.vue
new file mode 100644
index 000000000..3c68d9585
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentCreatePage.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentEditPage.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentEditPage.vue
new file mode 100644
index 000000000..c54f912d4
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentEditPage.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentIndexPage.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentIndexPage.vue
new file mode 100644
index 000000000..be5297a16
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentAssignmentIndexPage.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentCapacityIndexPage.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentCapacityIndexPage.vue
new file mode 100644
index 000000000..fb94e5fb4
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/AgentCapacityIndexPage.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/AgentAssignmentPolicyForm.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/AgentAssignmentPolicyForm.vue
new file mode 100644
index 000000000..d00ead2a8
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/AgentAssignmentPolicyForm.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmDeletePolicyDialog.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmDeletePolicyDialog.vue
new file mode 100644
index 000000000..2dd57f713
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmDeletePolicyDialog.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmInboxDialog.vue b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmInboxDialog.vue
new file mode 100644
index 000000000..af49a29af
--- /dev/null
+++ b/app/javascript/dashboard/routes/dashboard/settings/assignmentPolicy/pages/components/ConfirmInboxDialog.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
diff --git a/app/javascript/dashboard/routes/dashboard/settings/inbox/AddAgents.vue b/app/javascript/dashboard/routes/dashboard/settings/inbox/AddAgents.vue
index 17752dfd2..c05c6724b 100644
--- a/app/javascript/dashboard/routes/dashboard/settings/inbox/AddAgents.vue
+++ b/app/javascript/dashboard/routes/dashboard/settings/inbox/AddAgents.vue
@@ -63,9 +63,7 @@ export default {
-